Mô tả Công việc
Là Kỹ sư Phát triển Golang, bạn sẽ chịu trách nhiệm thiết kế và triển khai các hệ thống hiệu suất cao hỗ trợ các chức năng cốt lõi của máy chủ giao dịch. Vai trò này đòi hỏi hiểu biết sâu sắc về các nguyên tắc kiến trúc hệ thống, bao gồm khả năng mở rộng, xử lý đồng thời, tính sẵn sàng và tối ưu hóa độ trễ. Bạn sẽ làm việc chặt chẽ với các nhóm đa chức năng để chuyển đổi yêu cầu kinh doanh thành giải pháp kỹ thuật, đảm bảo hệ thống đáp ứng cả thông số kỹ thuật chức năng và phi chức năng.
Ứng viên lý tưởng sẽ tập trung vào việc cải tiến liên tục các hệ thống hiện có, xác định cơ hội tối ưu hóa và tái cấu trúc để phù hợp với nhu cầu kinh doanh đang phát triển. Điều này bao gồm phân tích sâu các điểm nghẽn hệ thống, phát triển giải pháp sáng tạo cho các thách thức kỹ thuật phức tạp và triển khai các cải tiến hiệu suất nhằm nâng cao hiệu quả và độ tin cậy của hệ thống.
Bạn cũng sẽ tham gia vào toàn bộ vòng đời phát triển phần mềm, từ thu thập yêu cầu đến triển khai và bảo trì. Điều này đòi hỏi kỹ năng phân tích mạnh mẽ để đánh giá nhu cầu kinh doanh, thiết kế kiến trúc có thể mở rộng và tạo tài liệu kỹ thuật hướng dẫn các nhóm phát triển và vận hành.
Trách nhiệm Chính
- Phát triển và duy trì các hệ thống máy chủ giao dịch hiệu suất cao bằng Golang, đảm bảo đáp ứng yêu cầu về khả năng mở rộng, xử lý đồng thời cao và độ trễ thấp.
- Thiết kế và triển khai kiến trúc hệ thống phân tán hỗ trợ tính sẵn sàng cao và tích hợp liền mạch với các nền tảng hiện có.
- Phân tích hiệu suất các hệ thống hiện có, xác định điểm nghẽn và triển khai chiến lược tối ưu hóa để cải thiện hiệu quả và độ tin cậy hệ thống.
- Cộng tác với quản lý sản phẩm và các bên liên quan để chuyển đổi yêu cầu kinh doanh thành thông số kỹ thuật và thiết kế hệ thống.
- Viết và duy trì tài liệu kỹ thuật, bao gồm thông số API, sơ đồ kiến trúc hệ thống và hướng dẫn triển khai.
- Tham gia đánh giá mã, đảm bảo tuân thủ các phương pháp tốt nhất và duy trì chất lượng mã trong suốt vòng đời phát triển.
- Giám sát hiệu suất hệ thống sau triển khai, khắc phục sự cố và đưa ra đề xuất cải tiến liên tục.
- Cập nhật các công nghệ mới và xu hướng ngành để đảm bảo nhóm áp dụng giải pháp sáng tạo cho phát triển hệ thống.
Yêu cầu Công việc
- Bằng cử nhân trở lên về Khoa học Máy tính, Kỹ thuật Phần mềm hoặc lĩnh vực liên quan.
- Tối thiểu 3 năm kinh nghiệm thực tế phát triển Golang, có thành tích xây dựng hệ thống có thể mở rộng và hiệu suất cao.
- Hiểu biết vững về hệ thống phân tán, kiến trúc microservice và nền tảng điện toán đám mây (AWS, Azure, GCP).
- Thành thạo thiết kế và tối ưu hóa cơ sở dữ liệu, bao gồm công nghệ SQL và NoSQL để đảm bảo xử lý và lưu trữ dữ liệu hiệu quả.
- Kinh nghiệm với kỹ thuật điều chỉnh hiệu suất như cân bằng tải, chiến lược bộ nhớ đệm và xử lý không đồng bộ để đạt độ trễ thấp và xử lý đồng thời cao.
- Kỹ năng giải quyết vấn đề xuất sắc với khả năng phân tích thách thức kỹ thuật phức tạp và phát triển giải pháp sáng tạo.
- Kỹ năng giao tiếp tốt để cộng tác hiệu quả với các nhóm đa chức năng, bao gồm quản lý sản phẩm, kỹ sư QA và chuyên gia DevOps.
- Quen thuộc với pipeline CI/CD, container hóa (Docker) và công cụ điều phối (Kubernetes) để phân phối và triển khai phần mềm hiệu quả.
- Khả năng làm việc trong môi trường phát triển agile, có kinh nghiệm phát triển lặp và lập kế hoạch sprint.
- Hiểu biết về công cụ giám sát và quan sát hệ thống (Prometheus, Grafana, ELK stack) để đảm bảo độ tin cậy và theo dõi hiệu suất hệ thống.
- Kinh nghiệm phát triển và tích hợp API, bao gồm RESTful API và gRPC để kết nối liền mạch giữa các hệ thống.
- Chú ý chi tiết và khả năng viết mã sạch, dễ bảo trì tuân thủ phương pháp tốt nhất ngành.
- Sẵn sàng học hỏi và thích nghi với công nghệ mới, có cách tiếp cận chủ động trong phát triển kỹ năng và đổi mới.
- Khả năng làm việc độc lập và theo nhóm, với tư duy hợp tác để đạt mục tiêu dự án.
Ưu tiên
- Kinh nghiệm với hệ thống giao dịch tần suất cao hoặc nền tảng xử lý dữ liệu thời gian thực.
- Hiểu biết về công nghệ blockchain hoặc hệ thống sổ cái phân tán để phát triển máy chủ giao dịch nâng cao.
- Quen thuộc với giao thức bảo mật và tiêu chuẩn mã hóa để đảm bảo tính toàn vẹn hệ thống và bảo vệ dữ liệu.
- Thành thạo thực hành DevOps, bao gồm cơ sở hạ tầng dưới dạng mã (IaC) và công cụ tự động hóa (Ansible, Terraform).
- Kinh nghiệm với công cụ kiểm tra hiệu suất (JMeter, Locust) để xác thực khả năng mở rộng và độ tin cậy hệ thống.
- Hiểu biết về điều phối container và mẫu triển khai microservice cho ứng dụng cloud-native.
- Khả năng thiết kế và triển khai hệ thống chịu lỗi với yêu cầu sẵn sàng cao.
- Kinh nghiệm với hệ thống kiểm soát phiên bản (Git) và thực hành mã hóa cộng tác.
- Hiểu biết về mẫu thiết kế hệ thống và phương pháp tốt nhất để xây dựng kiến trúc có thể mở rộng, dễ bảo trì.
- Kỹ năng phân tích mạnh để đánh giá số liệu hiệu suất hệ thống và tối ưu hóa phù hợp.
