Mô Tả Công Việc
Vai trò này liên quan đến việc phát triển và duy trì các codebase Rust chất lượng cao cho cả dự án mới và hiện có. Trọng tâm chính là tạo ra các giải pháp phần mềm mạnh mẽ, hiệu quả và an toàn đáp ứng tiêu chuẩn ngành. Trách nhiệm chính bao gồm triển khai mã hệ thống cấp thấp được biên dịch chéo và tối ưu hóa hiệu suất trên nhiều nền tảng, chẳng hạn như máy chủ backend, thiết bị di động và trình duyệt web thông qua WebAssembly (WASM). Bạn cũng sẽ làm việc chặt chẽ với các chuyên gia bảo mật và nhà mật mã học để tích hợp các API mật mã vào ứng dụng sản xuất, đảm bảo chữ ký số an toàn, xác thực tin nhắn, mã hóa/giải mã và các giao thức chứng minh không tiết lộ thông tin (zero-knowledge proof). Ngoài ra, bạn sẽ hợp tác với các công ty kiểm toán bảo mật bên ngoài để đánh giá và nâng cao tính bảo mật của các triển khai mật mã, giải quyết các lỗ hổng tiềm ẩn và đảm bảo tuân thủ các phương pháp tốt nhất.
Trách Nhiệm Chính
- Thiết kế và triển khai mã hệ thống hiệu suất cao, an toàn bằng Rust, tập trung vào việc giảm thiểu sử dụng bộ nhớ, tối ưu hóa cấu trúc mã và giảm số lượng phụ thuộc.
- Phát triển và duy trì các bài kiểm thử đơn vị, kiểm thử tích hợp và khung đánh giá hiệu suất toàn diện để đảm bảo độ tin cậy và hiệu suất của mã trên nhiều nền tảng.
- Viết và duy trì tài liệu kỹ thuật, bao gồm tài liệu tham khảo API, sơ đồ kiến trúc và hướng dẫn triển khai, để hỗ trợ hợp tác nhóm và phát triển trong tương lai.
- Tuân thủ các phương pháp kiểm soát phiên bản nghiêm ngặt, chẳng hạn như chiến lược phân nhánh, đánh giá mã và quy ước thông báo cam kết, để đảm bảo tính ổn định và khả năng truy xuất của codebase.
- Hợp tác với các nhà mật mã học để triển khai các giao thức mật mã, bao gồm chứng minh không tiết lộ thông tin (zero-knowledge proof), đồng thời đảm bảo tuân thủ các tiêu chuẩn và phương pháp bảo mật tốt nhất.
- Tiến hành kiểm toán bảo mật và làm việc với các công ty bên ngoài để đánh giá các triển khai mật mã, xác định và giảm thiểu rủi ro như tấn công thời gian hoặc rò rỉ bộ nhớ.
- Sử dụng các công cụ tiên tiến như fuzzer và test vector để xác thực tính chính xác và bảo mật của mã mật mã, đảm bảo đáp ứng các yêu cầu cấp sản xuất.
- Tái cấu trúc và cải thiện các codebase hiện có bằng cách tận dụng các tính năng của Rust như macro, trait và enum để giảm dư thừa và nâng cao khả năng bảo trì.
Yêu Cầu Công Việc
- Thành thạo ngôn ngữ lập trình Rust, có kinh nghiệm viết mã hiệu quả, an toàn và dễ bảo trì cho môi trường sản xuất.
- Hiểu biết sâu sắc về các khái niệm và API mật mã, bao gồm chữ ký số, mã hóa/giải mã và các giao thức chứng minh không tiết lộ thông tin (zero-knowledge proof), với trọng tâm vào các chi tiết triển khai cấp thấp.
- Kinh nghiệm phát triển đa nền tảng, bao gồm biên dịch và tối ưu hóa mã cho máy chủ backend, thiết bị di động và môi trường WebAssembly (WASM).
- Hiểu biết về các phương pháp kiểm thử phần mềm, bao gồm kiểm thử đơn vị, kiểm thử tích hợp và đánh giá hiệu suất, để đảm bảo chất lượng và hiệu suất mã.
- Khả năng làm việc với các công ty kiểm toán bảo mật và hiểu quy trình đánh giá của họ đối với các triển khai mật mã, đảm bảo phù hợp với tiêu chuẩn ngành.
- Kinh nghiệm với các hệ thống kiểm soát phiên bản như Git, bao gồm các phương pháp tốt nhất cho phân nhánh, hợp nhất và quy trình đánh giá mã.
- Kỹ năng giải quyết vấn đề mạnh mẽ và chú ý đến chi tiết, tập trung vào việc giảm thiểu rủi ro bảo mật như tấn công thời gian và rò rỉ bộ nhớ trong mã mật mã.
- Kỹ năng giao tiếp tốt để hợp tác hiệu quả với các nhóm chức năng chéo, bao gồm nhà mật mã học, kiểm toán viên bảo mật và quản lý sản phẩm.
- Kinh nghiệm với các công cụ kiểm thử tự động, bao gồm fuzzer và test vector, để xác thực tính chính xác và bảo mật của các triển khai mật mã.
- Khả năng viết tài liệu kỹ thuật rõ ràng và ngắn gọn để hỗ trợ bảo trì mã, đào tạo nhóm mới và tuân thủ các tiêu chuẩn bảo mật.