Khái niệm lập trình viên “fullstack” có nghĩa là gì? Các đặc điểm của một lập trình viên fullstack?

A: Josh Begleiter, lập trình từ 2002, lên chuyên nghiệp từ năm 2010

Một fullstack developer có khả năng đảm nhận bất cứ nhiệm vụ nào ở các cấp độ về công nghệ trong phạm vi công việc của họ. Có nghĩa là:

  • Làm việc với hệ thống cơ sở hạ tầng (biết được các yêu cầu về phần cứng, cài đặt hệ điều hành, chuẩn bị hệ thống và các công cụ hỗ trợ cho tất cả phần mềm).
  • Hiểu, làm, thao tác và kiểm tra cơ sở dữ liệu
  • Có thể làm API/Backend bằng một hoặc nhiều ngôn ngữ như Ruby, Java, Python, etc.
  • Làm front-end bằng một hoặc nhiều ngôn ngữ như JavaScript, Java, etc.
  • Khả năng quản lý dự án/làm việc với khách hàng, ví dụ như thu thập các yêu cầu, viết ra các hướng dẫn về kỹ thuật và kiến trúc, viết document tốt, quản lý thời gian cho dự án (Agile/SCRUM/Kanban)

Thông thường, kiến thức của một lập trình viên fullstack rất rộng, nhưng không cần thiết phải quá sâu, và họ có những kĩ năng thiết yếu về mảng mà họ làm việc nhiều.

Trong công việc của tôi, các kỹ năng thiết yếu mà tôi có bao gồm các kỹ thuật về Linux (Debian, CentOS, Amazon Linux), thiết kế cơ sở dữ liệu, thao tác và truy vấn (PSQL và MySQL), các công nghệ về Backend (Java, Ruby, and Python) một vài kỹ năng về frontend (HTML, vanilla JavaScript, and jQuery), là người định hướng quy trình SCRUM và Agile cho team của tôi, tương tác với khách hàng cả nội bộ lẫn bên ngoài công việc để lấy các yêu cầu, thực thi các công việc và ghi chép lại các công việc của mình.

Các kỹ năng như thế thường sẽ mất nhiều năm để phát triển trong các hoàn cảnh khác nhau, vì vậy như là Ian đã đề cập, một fullstack developer có nghĩa rằng bạn phải đẩy bản thân khỏi vùng an toàn để có thể học được các kỹ năng mới.

Theo: Nguyen Quan

Leave a Reply

Your email address will not be published. Required fields are marked *