Số năm kinh nghiệm từ 5- 7 năm trở lên và tối thiểu 1- 2 năm ở vị trí Leader
• Database: Thành thạo SQL, có kinh nghiệm làm việc với các hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL, Oracle.
• Có kiến thức lập trình cơ bản (OOP, Creational, Structural, Behavioral)
• Kiến thức chuyên môn: Là lợi thế khi hiểu sâu kiến thức về Software Architect, Design Pattern, SOLID , Clean Code.
• Có kiến thức về quy trình phát triển dự án
• Phân tích yêu cầu: Hiểu rõ về yêu cầu của công việc phụ trách, có khả năng phân tích và đưa ra Q&A trước khi phát triển chức năng.
• Nắm được các giải thuật và cấu trúc dữ liệu cơ bản
• Nắm bắt, thực hành nhuần nhuyễn trên 1 code base / framework
• Git nâng cao và có thể đưa ra các flow sử dụng git phù hợp từng giai đoạn dự án cũng như hỗ trợ các member khác khi có sự cố về GIT
• Hiểu được các design pattern Spring Framework đang dùng, khái niệm về IoC, DI, hiểu về Spring Data JPA.
• Sử dụng thành thạo Collection trong Java.
• Nắm được syntax, cách hoạt động của 1 ngôn ngữ bất kỳ
• Nắm vững về Java Core: String, StringBuilder, String Buffer, Box- Unbox.
• Thiết kế hệ thống:
• Tạo được detail design, API document, thiết kế DB ... cho chức năng phụ trách
• Thiết kế được các chức năng lớn, quan trọng của dự án.
• Tham gia review thiết kế chức năng của members khác làm, đưa ra các đánh giá mang tính định hướng kỹ thuật, hỗ trợ khi cần thiết.
• Khả năng Code:
• Có thể xây dựng codebase, xây dựng convention về luồng làm việc và giao tiếp trong hệ thống
• Có thể code các module từ cơ bản đến phức tạp
• Có kinh nghiệm làm việc với các bên thứ 3 là một lợi thế như payment gateway, apple store, google play, hệ thống kyc, banking
• Có thể phân tích bug và đề xuất giải pháp cho các module phần mềm từ cơ bản đến phức tạp
• Testing/ Debug:
• Xử lý nhanh các bugs phát sinh
• Self- test tốt, hạn chế số lượng bug QC phát hiện ra.
• Kỹ năng cá nhân: Kỹ năng teamwork, giao tiếp, giải quyết vấn đề