Kiến thức bắt buộc:
Nắm bắt, thực hành nhuần nhuyễn trên 1 code base / framework.
Nắm được các giải thuật và cấu trúc dữ liệu cơ bản.
Trên 1 năm làm dự án, có khả năng tự tìm kiếm tài liệu tham khảo/ nâng cao.
Nắm được syntax, cách hoạt động của 1 ngôn ngữ bất kỳ.
Có kiến thức về quy trình phát triển dự án.
Có kiến thức lập trình cơ bản (OOP, Creational, Structural, Behavioral).
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.
Kiến thức chuyên môn:
Là lợi thế khi hiểu sâu kiến thức về Software Architecture, Design Pattern, SOLID , Clean Code.
Phân tích yêu cầu:
Hiểu rõ về yêu cầu của công việc của bản thân phụ trách, có thể tự mình phân tích và đưa ra Q&A trước khi phát triển chức năng.
Thiết kế hệ thống:
Tự tạo được detail design, API document, thiết kế DB ... cho chức năng mình 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, giúp đỡ members khác hoàn thành thiết kế chức năng / module họ phụ trách.
Khả năng Code:
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ể 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ó 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.
Dart:
Nắm bắt, thực hành nhuần nhuyễn List, Set, Map, HashMap
Flutter:
Nắm bắt, thực hành nhuần nhuyễn làm việc với API, Notification, Socket.
Là lợi thế khi hiểu và sử dụng Animation.
Nắm bắt, thực hành nhuần nhuyễn DI (GetIT).
Nắm bắt, thực hành nhuần nhuyễn BLoC hoặc tương đương.
Là lợi thế khi hiểu và sử dụng Work Manager và Isolate.
UI/UX:
Nắm bắt, thực hành nhuần nhuyễn một design system.
Có thể sử dụng các phần mềm thiết kế Figma.
Testing/ Debug:
Self- test tốt, hạn chế số lượng bug QC phát hiện ra.
Xử lý nhanh các bugs phát sinh.