Mô tả Công việc
Vị trí này yêu cầu tham gia tích cực vào phân tích hệ thống và thiết kế các dự án Golang. Ứng viên sẽ dẫn dắt quy trình thiết kế chi tiết và chịu trách nhiệm hoàn toàn cho thiết kế chức năng, triển khai mã và kiểm thử đơn vị của các chức năng nghiệp vụ cốt lõi cũng như các chức năng cơ bản nền tảng. Ngoài ra, vai trò bao gồm hợp tác trong các hoạt động thảo luận và thiết kế để xây dựng một nền tảng kiến trúc nghiệp vụ cơ bản phổ quát hỗ trợ các kịch bản nghiệp vụ phức tạp ở tầng trên. Nền tảng này sẽ đóng vai trò là khung cơ sở cho các ứng dụng nghiệp vụ đa dạng, cho phép khả năng mở rộng, bảo trì và chu kỳ phát triển hiệu quả. Điều này bao gồm việc định nghĩa các tiêu chuẩn kiến trúc, thiết kế các thành phần có thể tái sử dụng và đảm bảo nền tảng đáp ứng các yêu cầu kỹ thuật của các lĩnh vực nghiệp vụ khác nhau.
Trách nhiệm Chính
- Dẫn dắt phân tích và thiết kế các hệ thống dựa trên Golang, chuyển đổi yêu cầu nghiệp vụ thành giải pháp kỹ thuật
- Phát triển các thiết kế kỹ thuật chi tiết cho cả chức năng nghiệp vụ cốt lõi và các thành phần hệ thống cơ bản
- Triển khai và kiểm thử các chức năng nghiệp vụ quan trọng bằng Golang, đảm bảo chất lượng mã và tối ưu hiệu suất
- Hợp tác với các nhóm đa chức năng để thiết kế một nền tảng kiến trúc phổ quát hỗ trợ các kịch bản nghiệp vụ đa dạng
- Đảm bảo thiết kế mô-đun của nền tảng cho phép tích hợp dễ dàng với các ứng dụng và dịch vụ tầng trên
- Thực hiện đánh giá mã định kỳ và cung cấp hướng dẫn kỹ thuật cho các nhà phát triển cấp dưới
- Giám sát hiệu suất hệ thống và triển khai các cải tiến để nâng cao khả năng mở rộng và độ tin cậy
- Tài liệu hóa các thông số kỹ thuật và quyết định thiết kế để tham khảo trong tương lai và chia sẻ kiến thức nhóm
- Cập nhật các công nghệ mới nổi và phương pháp hay nhất trong ngành để liên tục cải thiện kiến trúc nền tảng
- Phối hợp với các nhóm QA để thiết kế chiến lược kiểm thử toàn diện cho cả chức năng cốt lõi và cơ bản
Yêu cầu Công việc
- Thành thạo ngôn ngữ lập trình Golang với 3+ năm kinh nghiệm phát triển full-stack
- Hiểu biết sâu sắc về nguyên tắc thiết kế phần mềm và mẫu kiến trúc (ví dụ: microservices, kiến trúc phân tầng)
- Kinh nghiệm phát triển và duy trì các hệ thống có khả năng mở rộng, hiệu suất cao với logic nghiệp vụ phức tạp
- Kỹ năng giải quyết vấn đề xuất sắc với khả năng gỡ lỗi và tối ưu hiệu suất hệ thống
- Kiến thức về nền tảng điện toán đám mây (ví dụ: AWS, Azure) và công nghệ container hóa (Docker, Kubernetes)
- Khả năng tạo tài liệu kỹ thuật chi tiết và đặc tả thiết kế
- Kinh nghiệm với phương pháp Agile/Scrum và môi trường phát triển hợp tác
- Kỹ năng giao tiếp mạnh mẽ để hợp tác hiệu quả với các bên liên quan và nhóm kỹ thuật
- Thành thạo các khung kiểm thử đơn vị (ví dụ: GoTest) và công cụ tích hợp liên tục (Jenkins, GitLab CI)
- Hiểu biết về thực hành DevOps và pipeline CI/CD để triển khai và giám sát tự động
- Khả năng phân tích yêu cầu hệ thống và chuyển đổi thành kế hoạch triển khai kỹ thuật
- Kinh nghiệm với thiết kế và tối ưu cơ sở dữ liệu (SQL/NoSQL) cho ứng dụng nghiệp vụ
- Kiến thức về thiết kế API và kỹ thuật tích hợp cho khả năng tương tác hệ thống
- Chú ý chi tiết cao với khả năng đảm bảo chất lượng mã và độ tin cậy hệ thống
- Kinh nghiệm với hệ thống kiểm soát phiên bản (ví dụ: Git) để phát triển mã hợp tác
- Khả năng làm việc độc lập trong khi đóng góp vào mục tiêu và mục đích nhóm
- Hiểu biết về phương pháp bảo mật tốt nhất cho phát triển hệ thống và bảo vệ dữ liệu
- Kinh nghiệm với công cụ giám sát hiệu suất (ví dụ: Prometheus, Grafana) để tối ưu hệ thống
- Thành thạo viết mã sạch, dễ bảo trì với tiêu chuẩn mã hóa tốt