Lập trình viên Full-stack
Full-stack Developer (Lập trình viên
Full-stack) là thuật ngữ xuất hiện lần đầu vào năm 2012, từ một thông tin tuyển
dụng của Facebook. Kể từ đó, thuật ngữ này đã được sử dụng phổ biến và thảo luận
rất nhiều. Thậm chí nó còn trở thành một xu hướng nghề nghiệp rất được quan
tâm. Bằng chứng là lượng tìm kiếm của từ khoá “Full-stack Developer” trên toàn
thế giới ngày càng tăng theo thời gian.
Thống kê của Google Trend về lượt tìm kiếm của từ khoá “Full-stack
Developer”
Vậy
Full-stack thực sự có ý nghĩa là gì? Đâu là mối quan hệ giữa các khái niệm
Full-stack với front-end và back-end?
Nếu là người mới bắt đầu, hẳn bạn
cũng rất phân vân về các khái niệm này, phần giải thích sau đây sẽ cho chúng ta
thấy các góc nhìn rõ ràng hơn về từng loại công việc và đồng thời mang lại các
lời khuyên hữu ích cho những người đang mong muốn có được một sự lựa chọn đúng.
Vậy lựa chọn nào cho người mới?
Đối với những người mới bắt đầu,
full-stack vẫn là định hướng rất hấp dẫn. Tuy nhiên, bắt đầu từ đâu? Đó vẫn là
câu hỏi không có một đáp án chính xác duy nhất. Bởi vì, nó phụ thuộc rất nhiều
vào các lựa chọn khác nhau của một người. Mình định làm gì? Mình có bao nhiêu
thời gian? Kinh tế của mình thế nào? Năng lực của mình thế nào? Mình thích điều
gì? Kế hoạch ngắn hạn và dài hạn của mình là gì? v.v
Bắt đầu bằng lập trình Web Front-end
là một cách làm nhanh và dễ nhìn thấy sản phẩm. Tập kỹ năng và công cụ của lập
trình viên front-end cơ bản khá dễ tiếp cận. Với việc học HTML, CSS, JavaScipt,
Bootstrap, jQuery cùng với một framework nào đó như Angular hay React là chúng
ta có thể tham gia phát triển các ứng dụng Web Front-end. Tuy nhiên, đây cũng
chỉ là bước khởi đầu, như đã nói ở trên, hiện nay việc phát triển ứng dụng Web
Front-end cũng đòi hỏi lập trình viên nhiều kỹ năng như thiết kế kiến trúc hệ
thống, thiết kế trải nghiệm người dùng, các giao thức web, bảo mật v.v.
Bắt đầu bằng lập trình Web Back-end
là một lựa chọn phổ biến hiện nay. Việc nhanh hay chậm, dễ hay khó còn phụ thuộc
nhiều vào công nghệ được lựa chọn. Chẳng hạn, với các ngôn ngữ như PHP, Python,
JavaScript… thì việc khởi đầu khá nhanh và dễ hơn so với các ngôn ngữ như Java,
C# hoặc Scala.Với cách tiếp cận lập trình Web Back-end ngay từ đầu, lập trình
viên thường có nền tảng lập trình vững chắc và biết nhiều layer quan trọng
trong thế giới web, chẳng hạn như Cơ sở dữ liệu, Bảo mật, Các giao thức web,
phân tích và thiết kế hệ thống v.v và tất nhiên là một ít kiến thức về font-end.
Nếu được, những người mới bắt đầu
nên trang bị cho mình cả những kiến thức và kỹ năng lập trình Web Back-end và
Front-end ngay từ đầu. Cũng xin nhắc lại, đây là những kiến thức và kỹ năng ban
đầu chứ không phải là của một lập trình viên Web Full-stack thạo nghề. Việc có
được các kiến thức và kỹ năng của cả front-end và back-end sẽ tạo thuận lợi rất
lớn cho người mới trong việc nhanh chóng có được tay nghề và phát triển bản
thân lâu dài. Và cũng xin nhắc lại, lập trình viên full-stack không phải là
“siêu nhân”, cũng không phải là “toàn năng” (như một số bài viết ở đâu đó vẫn gọi
như vậy), họ đơn giản là chỉ làm tốt các công nghệ nằm trong “stack” của họ đủ
để xây dựng được một sản phẩm cụ thể.
Đăng nhận xét