II. NHIỆM VỤ VÀ TRÁCH NHIỆM
A. YÊU CẦU BẮT BUỘC
1. Phát triển Backend – Trọng tâm chính
Có kinh nghiệm thực tế vững về Node.js, TypeScript và phát triển backend hiện đại.
Strong hands-on experience with Node.js, TypeScript and modern backend development.
Có kinh nghiệm với NestJS, ExpressJS, Fastify hoặc các framework Node.js tương đương; ưu tiên ứng viên có kinh nghiệm với NestJS.
Experience with NestJS, ExpressJS, Fastify or equivalent Node.js frameworks; NestJS is preferred.
Thiết kế và phát triển các dịch vụ backend có khả năng mở rộng, dễ bảo trì và hiệu năng cao, cùng các RESTful API.
Design and develop scalable, maintainable and high-performance backend services and RESTful APIs.
Hiểu rõ về thiết kế API, quản lý phiên bản API, xác thực, phân quyền và tích hợp với các hệ thống/đối tác bên ngoài.
Strong understanding of API design, versioning, authentication, authorization and integration with external/partner systems.
Có kinh nghiệm với xử lý bất đồng bộ, các tác vụ chạy nền/theo lịch và các quy trình xử lý theo mô hình hướng sự kiện (event-driven).
Experience with asynchronous processing, scheduled/background jobs and event-driven workflows.
Hiểu rõ về hiệu năng ứng dụng, xử lý đồng thời (concurrency), caching, xử lý lỗi và tối ưu API.
Good understanding of application performance, concurrency, caching, error handling and API optimization.
2. Phát triển Frontend
Có kinh nghiệm thực tế với ReactJS, TypeScript và JavaScript hiện đại.
Hands-on experience with ReactJS, TypeScript and modern JavaScript.
Có kinh nghiệm với Next.js, Vite, Webpack hoặc các framework/công cụ build và phát triển ứng dụng tương đương.
Experience with Next.js, Vite, Webpack or equivalent build and application frameworks.
Có khả năng xây dựng các UI component có thể tái sử dụng và duy trì kiến trúc frontend có khả năng mở rộng.
Ability to build reusable UI components and maintain scalable frontend architecture.
Hiểu rõ về tích hợp API, quản lý trạng thái (state management), thiết kế responsive và tối ưu hiệu năng website.
Good understanding of API integration, state management, responsive design and web performance optimization.
3. Cơ sở dữ liệu, Cache và Tích hợp
Có kinh nghiệm với cơ sở dữ liệu quan hệ như MySQL hoặc PostgreSQL, bao gồm thiết kế schema, lập chỉ mục (indexing), tối ưu truy vấn và xử lý giao dịch (transaction).
Experience with relational databases such as MySQL or PostgreSQL, including schema design, indexing, query optimization and transaction handling.
Có kinh nghiệm với Redis cho các mục đích caching, quản lý session, lưu trữ dữ liệu tạm thời, giới hạn tần suất truy cập (rate limiting) hoặc khóa phân tán (distributed locking).
Experience with Redis for caching, session management, temporary data, rate limiting or distributed locking.
Hiểu về tính nhất quán dữ liệu, cơ chế vô hiệu hóa cache (cache invalidation) và các chiến lược caching phổ biến.
Understanding of data consistency, cache invalidation and common caching strategies.
Có kinh nghiệm tích hợp API của bên thứ ba và xử lý các quy trình tích hợp đối tác, callback, webhook cũng như các tình huống lỗi/cơ chế thử lại (retry).
Experience integrating third-party APIs and handling partner integration flows, callbacks, webhooks and failure/retry scenarios.
4. Thực hành Kỹ thuật Phần mềm
Hiểu rõ về lập trình hướng đối tượng (OOP), nguyên tắc SOLID, các mẫu thiết kế (Design Patterns) phổ biến và các nguyên tắc Clean Code.
Strong understanding of OOP, SOLID principles, common design patterns and clean-code practices.
Có khả năng xây dựng mã nguồn bảo mật, hiệu quả, dễ kiểm thử, có thể tái sử dụng và dễ bảo trì.
Ability to build secure, efficient, testable, reusable and maintainable code.
Có kinh nghiệm sử dụng Git, chiến lược branching, pull request, code review và phát triển phần mềm theo mô hình cộng tác nhóm.
Experience with Git, branching strategy, pull requests, code review and collaborative development.
Quen thuộc với unit test, integration test và API test.
Familiar with unit tests, integration tests and API tests.
Có kinh nghiệm làm việc theo mô hình Agile/Scrum và sử dụng các công cụ như JIRA.
Experience working in Agile/Scrum teams and using tools such as JIRA.
Hiểu biết về API Gateway, Load Balancer, Reverse Proxy, giao tiếp giữa các dịch vụ (service-to-service communication), hệ thống phân tán và kiến trúc hướng sự kiện là một lợi thế.
Understanding of API Gateway, Load Balancer, Reverse Proxy, service-to-service communication, distributed systems and event-driven architecture is a plus.
Hiểu biết về mở rộng hệ thống theo chiều ngang/chiều dọc, thiết kế ứng dụng stateless, mở rộng cơ sở dữ liệu, chiến lược cache và tối ưu đọc/ghi là một lợi thế.
Understanding of horizontal/vertical scaling, stateless application design, database scaling, cache strategy and read/write optimization is a plus.