Số năm kinh nghiệm từ 5 năm trở lên, trong đó tối thiểu 1- 2 năm ở vị trí leader
Kiến thức bắt buộc:
Nắm được các giải thuật và cấu trúc dữ liệu cơ bản
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
Nắm bắt, thực hành nhuần nhuyễn trên 1 code base / framework
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)
Nắm được syntax, cách hoạt động của 1 ngôn ngữ bất kỳ
Trên 5 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.
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.
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ó thể code các module từ cơ bản đến phức tạp
Có thể xây dựng code base, xây dựng convention về luồng làm việc và giao tiếp trong hệ thống
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, goolge 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
HTML/CSS:
Nắm bắt, thực hành nhuần nhuyễn xử lý giao diện cho nhiều loại màn hình, trình duyệt, và thiết bị khác nhau xây dựng các animation, hiệu ứng phức tạp
Nắm bắt, thực hành nhuần nhuyễn HTML/CSS, biết về grid, flexbox
Thành thạo các CSS framework như Bootstrap, Tailwind, etc sử dụng tốt các pre- processor như Sass, less
Javascript:
Phân biệt tốt localStorage, cookies, HTTP only cookies.
Là lợi thế khi customize lại các thư viện hoặc framework
Hiểu sâu về các khái niệm Promise, async await
Nắm bắt, thực hành nhuần nhuyễn javascript hoặc typescript
VueJS/NuxtJS:
Là lợi thế khi hiểu và sử dụng Worker
Nắm bắt, thực hành nhuần nhuyễn làm việc với API, Notification, Socket
Nắm bắt, thực hành nhuần nhuyễn Vòng đời (Lifecycle)
Là lợi thế khi hiểu và sử dụng Animation
Nắm bắt, thực hành nhuần nhuyễn Pinia hoặc tương đương
UI/UX:
Có thể sử dụng các phần mềm thiết kế Figma
Nắm bắt, thực hành nhuần nhuyễn một design system.
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 đề