Chức Danh Công Việc
Mô Tả Công Việc
Trách Nhiệm Chính
- Thiết kế và phát triển các VM dựa trên ngăn xếp đa luồng hiệu suất cao cùng các thành phần phụ trợ (lưu trữ, RPC) để hỗ trợ môi trường thực thi mở rộng và an toàn.
- Thiết kế hệ thống phân tán sử dụng cơ chế đồng thuận BFT để đảm bảo khả năng chịu lỗi, tính nhất quán dữ liệu và đồng bộ hóa liền mạch giữa các nút.
- Triển khai các tính năng VM cho phép nhà phát triển tận dụng nền tảng Monad để xây dựng các ứng dụng phức tạp, hiệu suất cao.
- Tiến hành phân tích hiệu suất để xác định các điểm nghẽn và đánh giá quyết định kiến trúc nhằm tối ưu hóa luồng tính toán và hiệu quả hệ thống.
- Hợp tác với các nhóm kỹ thuật để cải thiện công cụ dành cho nhà phát triển, bao gồm tiện ích gỡ lỗi (GDB, perf), chuỗi công cụ biên dịch (Clang, LLVM) và tiện ích hệ thống (Unix).
- Tham gia đánh giá mã nguồn, duy trì tài liệu và đảm bảo tuân thủ các phương pháp tốt nhất trong phát triển phần mềm và thiết kế hệ thống.
- Cập nhật các xu hướng công nghệ và công nghệ mới nổi để thúc đẩy đổi mới trong kiến trúc VM và hệ thống phân tán.
- Gỡ lỗi và tối ưu hóa các hệ thống phức tạp bằng các công cụ tiên tiến như gdb và perf, đảm bảo độ tin cậy và hiệu suất trong các kịch bản tải cao.
- Làm việc chặt chẽ với các bên liên quan để xác định yêu cầu và cung cấp giải pháp phù hợp với tầm nhìn dài hạn của nền tảng.
- Đóng góp vào việc cải tiến liên tục công nghệ, bao gồm C++, Rust và hệ thống dựa trên Unix, để nâng cao khả năng hệ thống.
Yêu Cầu Công Việc
- Thành thạo nâng cao về C++ và Rust để lập trình hệ thống và các ứng dụng yêu cầu hiệu suất cao.
- Hiểu biết sâu sắc về kiến trúc máy ảo, bao gồm mô hình thực thi dựa trên ngăn xếp và mô hình đa luồng.
- Kinh nghiệm với thiết kế hệ thống phân tán, đặc biệt trong việc triển khai các thuật toán đồng thuận (ví dụ: BFT) để chịu lỗi và đồng bộ hóa.
- Nền tảng vững chắc về kỹ thuật tối ưu hóa hiệu suất, bao gồm các công cụ phân tích (perf, gdb) và phân tích các điểm nghẽn tính toán.
- Chuyên môn về hệ điều hành dựa trên Unix, lập trình shell và gỡ lỗi, khắc phục sự cố ở mức hệ thống.
- Kinh nghiệm thực tế với chuỗi công cụ biên dịch (Clang, LLVM) và tích hợp chúng vào quy trình phát triển.
- Kỹ năng giải quyết vấn đề xuất sắc và khả năng thiết kế các giải pháp phần mềm mở rộng, an toàn và hiệu quả.
- Thành thạo hệ thống kiểm soát phiên bản (Git) và các phương pháp phát triển hợp tác.
- Khả năng làm việc độc lập và theo nhóm để cung cấp mã nguồn và tài liệu chất lượng cao.
- Kỹ năng giao tiếp tốt để hợp tác với các nhóm đa chức năng và trình bày giải pháp kỹ thuật cho các bên liên quan.
- Ưu tiên: Kinh nghiệm với công nghệ blockchain hoặc sổ cái phân tán, cũng như quen thuộc với hệ sinh thái công cụ dành cho nhà phát triển.
- Bắt buộc: Trên 5 năm kinh nghiệm phát triển phần mềm chuyên nghiệp với trọng tâm vào hệ thống hiệu suất cao và kiến trúc phân tán.
