Nghề lập trình 03
1. NGHỀ LẬP TRÌNH
Nghề lập trình web - lựa chọn nào cho người mới bắt đầu
Nghề lập trình web – lựa chọn nào cho người mới bắt đầu? 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.
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.
Nhập môn lập trình web
Hãy bắt đầu bằng việc quay ngược trở lại nguồn gốc của web, để hiểu hơn về cách mà thông
tin được hiển thị trên các trang web trên màn hình máy tính của bạn. Tất cả các website đều
sử dụng ngôn ngữ HTML để trình bày thông tin theo một cấu trúc mong muốn. Có thể xem
HTML chính là phần lõi tạo ra một trang web, như bột để làm bánh vậy – HTML chính là bột và
trang web là bánh.
Trong những ngày sơ khai của web, tất cả các trang web đều là tĩnh. Có nghĩa là, nếu lập trình
viên muốn thay đổi nội dung của một trang web thì họ cần thay đổi mã HTML của nó thông
qua việc cập nhật mã nguồn một cách thủ công. Điều này thật là kinh khủng, bởi vì cứ mỗi lần
muốn thay đổi thông tin thì lại phải cập nhật các file HTML.
Thử tưởng tưởng tượng, với các website cần cập nhật tin tức hằng ngày, chẳng hạn như BBC
News, đội ngũ lập trình viên phải hoạt động vất vả như thế nào để có thể cập nhật được số
lượng vài trăm trang web trong một ngày thường xuyên như vậy.
Chắc hẳn, đây không phải là cách làm tốt. Trên thực tế, ngày nay các trang web như của BBC
News sử dụng các website động, có nghĩa là nội dung của các trang web có thể dễ dàng cập
nhật và thay đổi. Nói một cách dễ hiểu thì đội ngũ lập trình viên đã tạo ra một “bản mẫu”
(template) cho các trang tin, sau đó họ sẽ điền các thông tin cụ thể (chẳng hạn như tiêu đề,
nội dung, ảnh…) vào các bản mẫu đó. Với cách làm này thì họ không cần phải sửa mã nguồn
mỗi khi muốn cập nhật hoặc đăng bài mới nữa.
Vậy các dữ liệu như tiêu đề, nội dung, ảnh… được lưu ở đâu? Đó chính là Cơ sở dữ liệu – một
nơi hoàn hảo để lưu trữ và truy xuất các dữ liệu với bất cứ cấu trúc nào mà bạn muốn. Và để
làm được điều này, xin mời bạn làm quen với các ngôn ngữ phía máy chủ (server-side
language). Có rất nhiều ngôn ngữ làm được việc này, chẳng hạn như Java, C#, PHP, Python,
JavaScript…