Mô tả công việc
Senior Java Backend Engineer (Spring Boot , Microservices)
Các trách nhiệm chính 1
- Phân tích yêu cầu nghiệp vụ và kỹ thuật từ các phòng ban liên quan
- Thiết kế và phát triển các API, service và module backend bằng Java (Spring Boot, Microservices)
- Xây dựng, bảo trì và tối ưu cơ sở dữ liệu (PostgreSQL, MySQL, Oracle, MongoDB…)
- Tích hợp với các hệ thống nội bộ (CRM, Loyalty, Payment, Identity...) qua message queue hoặc API gateway
- Triển khai cơ chế bảo mật (authentication, authorization, encryption)
- Viết unit test, integration test và hỗ trợ kiểm thử hệ thống
- Tham gia giám sát và tối ưu hiệu năng hệ thống (profiling, load test, log analysis)
- Tham gia quy trình CI/CD và triển khai containerized services (Docker, Kubernetes)
- Hỗ trợ vận hành, khắc phục sự cố và xử lý ticket từ Production
- Cập nhật công nghệ, đóng góp cải tiến kiến trúc và quy trình phát triển
Trình độ đào tạo
Đại học in Công nghệ thông tin
Kinh nghiệm/ Chuyên môn yêu cầu
- Có từ 5-8 năm kinh nghiệm phát triển, tối ưu ứng dụng Java với Spring Core, Spring MVC, Spring Boot
- Nắm vững các nguyên tắc lập trình như SOLID, DRY, Clean Code...
- Nắm vững các khái niệm giao tiếp web service/API (SOAP/REST - XML, JSON), SFTP, gRPC
- Thành thạo, có khả năng phân tích và thiết kế hệ thống, cơ sở dữ liệu với ít nhất 1 hệ quản trị cơ sở dữ liệu: PostgreSql, MySQL, Oracle
- Có kinh nghiệm sử dụng Docker, K8S, AWS cloud (S3, ElasticCache, EKS, Vault...) là 1 lợi thế
- Hiểu về kiến trúc microservices, các khái niệm cần cho việc phát triển ứng dụng phân tán (distributed system) như Saga, Circuit Breaker, API Gateway...
- Đã từng làm việc với ít nhất 1 nền tảng messaging (queue, message broker...)
- Duy trì và thực hành tốt việc Unit testing
- Có kinh nghiệm làm việc trong môi trường GitOps, sử dụng các hệ thống công cụ phát triển (toolchain) như Git, ArgoCD, Vault...
- Có tư duy lập trình tốt, khả năng tự học hỏi và tìm hiểu các công nghệ mới
- Có kỹ năng làm việc theo nhóm, chịu được áp lực trong công việc và tinh thần trách nhiệm cao
- Có khả năng giao tiếp tiếng anh trong công việc.
Kinh nghiệm liên quan khác
• Trên 5 năm kinh nghiệm phân tích yêu cầu phát triển cho các doanh nghiệp CNTT cho các doanh nghiệp lớn (Banking, Finance)
• Phân tích yêu cầu và tham ra triển khai hệ thống CNTT có số lượng giao dịch, người sử dụng lớn
• Hiểu biết các mô hình Client side/Server side, Microservice, Cloud Native
Kỹ năng yêu cầu
- Customer / Business Focus /Tập trung cho khách hàng và công việc kinh doanh:
- Kỹ năng phân tích, đọc hiểu tài liệu, tạo tài liệu
- Kỹ năng xử lý vấn đề cung cấp các giải pháp tạm thời đáp ứng yêu cầu của khách hàng.
- Kỹ năng trình bày và báo cáo
- Kiên trì, bền bỉ trong quá trình làm việc
- Tổng hợp, phân tích yêu cầu đánh giá mức độ ảnh hưởng, ưu tiên
- Tư duy logic, khái quát hóa vấn đề và các yêu cầu và luồng dữ liệu
- Technical Abilities (required)
- Hiểu biết tốt và có kinh nghiệm về triển khai dựa án theo phương pháp Agile
- Kỹ năng phân tích vấn đề, tìm kiếm nguyên nhân và phân tích lỗi
- Kỹ năng phân tích về kỹ thuật lập trình, các sự cố liên quan đến lập trình và cơ sở dữ liệu
- Leadership Skills / Kỹ năng Lãnh đạo:
- Có kỹ năng tạo ảnh hưởng và kết nối các nhóm, các đơn vị không chỉ trong phạm vi nội bộ đơn vị.
- Kỹ năng giao tiếp và kỹ năng quản lý các bên liên quan ở mức độ tốt.
- Tính chủ động và thái độ tiếp nhận công việc qua tinh thần “can-do”!