Mô Tả Công Việc
Tìm kiếm Kỹ sư Phần mềm Cấp cao chuyên về phát triển backend với chuyên môn về Rust. Vai trò này bao gồm thiết kế và triển khai các thành phần phần mềm cốt lõi, tập trung vào xây dựng hệ thống mạnh mẽ, có khả năng mở rộng đáp ứng yêu cầu kinh doanh. Ứng viên lý tưởng sẽ làm việc trên phát triển phần mềm cấp sản xuất, đảm bảo chất lượng mã cao thông qua các quy trình kiểm tra, gỡ lỗi và triển khai nghiêm ngặt. Trách nhiệm chính bao gồm đóng góp vào kiến trúc và thiết kế hệ thống backend, hợp tác với các nhóm đa chức năng và duy trì các phương pháp tốt nhất trong kỹ thuật phần mềm trong một dự án mã nguồn mở nổi bật.
Trách Nhiệm Chính
- Kiến trúc và phát triển hệ thống backend bằng Rust, đảm bảo hiệu suất, độ tin cậy và khả năng mở rộng
- Thiết kế và triển khai các thành phần phần mềm cốt lõi với trọng tâm vào khả năng bảo trì và mở rộng
- Viết, kiểm tra và gỡ lỗi mã phức tạp để cung cấp các giải pháp sẵn sàng cho sản xuất
- Cộng tác với quản lý sản phẩm và nhà thiết kế để hiểu yêu cầu và chuyển đổi chúng thành thông số kỹ thuật
- Tối ưu hóa hiệu suất hệ thống thông qua phân tích mã, điểm chuẩn và cải tiến kiến trúc
- Đảm bảo chất lượng mã bằng cách triển khai khung kiểm tra tự động và thực hành tích hợp liên tục
- Đóng góp vào tài liệu và bảo trì thông số kỹ thuật cho dự án mã nguồn mở
- Làm việc với các nhóm DevOps để hợp lý hóa quy trình triển khai và giám sát hiệu suất hệ thống trong môi trường sản xuất
- Tham gia đánh giá mã để duy trì tiêu chuẩn cao về chất lượng mã và phương pháp tốt nhất
- Cập nhật với các công nghệ mới nổi và xu hướng ngành trong phát triển backend và hệ sinh thái Rust
Yêu Cầu Công Việc
- Kinh nghiệm đã được chứng minh với vai trò Kỹ sư Phần mềm Cấp cao với tối thiểu 5 năm trong phát triển backend
- Thành thạo ngôn ngữ lập trình Rust, bao gồm mô hình sở hữu, đồng thời và quản lý bộ nhớ
- Khả năng chứng minh trong việc thiết kế và triển khai hệ thống có khả năng mở rộng, hiệu suất cao với hiểu biết kiến trúc mạnh mẽ
- Kiến thức vững chắc về vòng đời phát triển phần mềm, bao gồm phân tích yêu cầu, kiểm tra, gỡ lỗi và triển khai
- Kinh nghiệm với nền tảng đám mây (AWS, GCP, Azure) và công nghệ container hóa (Docker, Kubernetes)
- Thành thạo hệ thống kiểm soát phiên bản (Git) và đường ống CI/CD (GitHub Actions, Jenkins, GitLab CI)
- Kỹ năng giải quyết vấn đề xuất sắc với thành tích trong việc cung cấp các giải pháp phần mềm đáng tin cậy, cấp sản xuất
- Khả năng làm việc độc lập và hợp tác trong môi trường phát triển nhanh
- Kỹ năng giao tiếp mạnh mẽ để hợp tác hiệu quả với các nhóm đa chức năng và các bên liên quan
- Kinh nghiệm đóng góp cho các dự án mã nguồn mở, với trọng tâm vào duy trì và cải thiện chất lượng mã
- Kiến thức về thiết kế API RESTful, kiến trúc microservices và nguyên tắc hệ thống phân tán
- Thành thạo cơ sở dữ liệu SQL và NoSQL, với kinh nghiệm trong tối ưu hóa cơ sở dữ liệu và điều chỉnh hiệu suất truy vấn
- Hiểu biết về phương pháp bảo mật tốt nhất cho hệ thống backend, bao gồm xác thực, ủy quyền và bảo vệ dữ liệu
- Khả năng hướng dẫn các kỹ sư cấp dưới và chia sẻ kiến thức trong nhóm phát triển
Yêu Cầu Ưu Tiên
- Kinh nghiệm với WebAssembly và tích hợp của nó với hệ thống backend
- Kiến thức về khái niệm lập trình hàm và ứng dụng của chúng trong Rust
- Kinh nghiệm với công cụ theo dõi phân tán và giám sát (Prometheus, Grafana, Jaeger)
- Nền tảng trong lập trình cấp hệ thống và kỹ thuật tối ưu hóa cấp thấp
- Kinh nghiệm với hàng đợi tin nhắn (RabbitMQ, Kafka) và mẫu lập trình không đồng bộ
- Thành thạo khung kiểm tra tự động (JUnit, Rust's proptest, v.v.)
- Kinh nghiệm với điều phối container và công nghệ service mesh
- Kiến thức về mẫu thiết kế phần mềm hiện đại (MVC, CQRS, Event Sourcing)
- Khả năng làm việc với phương pháp agile và tham gia lập kế hoạch sprint, hồi tưởng và standup hàng ngày
- Kinh nghiệm với thực hành DevOps và cơ sở hạ tầng dưới dạng mã (Terraform, Ansible)