Web (6) - Muốn làm web cần học những gì

Bài trước: Web (5) - Làm web là làm gì?

---

1.1       Muốn làm web cần học những gì

Muốn làm web cần học tiếng Anh chuyên ngành và chuyên môn.

Về tiếng Anh chuyên ngành, bước đầu phải có khả năng đọc hiểu tài liệu. Để hiểu được tài liệu, bạn cần hai thứ: một là từ vựng và hai là ngữ pháp (ví dụ cấu trúc câu, mệnh đề, đại từ thay thế, chia động từ, thể bị động, thể chủ động, các từ loại).

Mỗi bạn sẽ có cách học tiếng Anh chuyên ngành khác nhau. Học theo cách nào cũng được, miễn là cuối cùng phải sử dụng được nó trong công việc.

Sau đây là một cách để có thể học tiếng Anh chuyên ngành:

– Chọn một chủ đề mà bạn quan tâm (về HTML chẳng hạn)

– Đọc sách/tài liệu tiếng Việt về HTML trước, chọn cuốn sách/tài liệu nào mà tác giả có ghi các thuật ngữ tiếng Anh đi kèm là tốt nhất

– Đọc hiểu và làm theo sách/tài liệu tiếng Anh về HTML

– Nếu được, nên tập dịch tài liệu từ tiếng Anh ra tiếng Việt

– Trong quá trình học, nên viết các từ tiếng Anh chưa biết nghĩa ra giấy, tra nghĩa của nó, viết một hai lần thôi, chứ đừng viết liền một lúc cả trăm lần từ đó, điều này làm mất thời gian. Sau này nếu gặp lại từ cũ mà mình chưa nhớ nghĩa, thì lại viết ra giấy và tra nghĩa. Bạn sẽ lặp lại quá trình này cho tới khi nào bạn thực sự nhớ được từ và nghĩa của nó thì thôi. Qua việc viết, từ mới cùng với nghĩa của nó sẽ đi vào đầu mình lúc nào không hay!

Ban đầu cần học để có thể đọc hiểu được tài liệu chuyên môn bằng tiếng Anh, sau đó học nghe, nói, viết. Nếu bạn học thêm được các ngoại ngữ khác thì càng tốt (tiếng Nhật chẳng hạn).

Về chuyên môn, bảng dưới đây liệt kê một số thứ cần học, người học sẽ cảm thấy việc học nhẹ nhàng và hiệu quả hơn nếu học đúng theo trình tự. Tuy nhiên, nếu tự học hoặc vì điều kiện nào đó mà không thể học theo đúng thứ tự cũng không sao. Cứ tự tin học, thấy còn thiếu kiến thức gì thì bổ sung từ từ, quan trọng là kiên trì và dám bước tới.

Xem bảng minh họa một số thứ cần học (chỉ mang tính chất tham khảo),

Kiến thức

Mô tả chi tiết

Kiến thức chung (dù theo front-end hay back-end)

– Kiến thức nền về Hệ điều hành, Kĩ thuật lập trình, Cấu trúc dữ liệu và thuật toán, Lập trình hướng đối tượng, Cơ sở dữ liệu

– Kiến thức nền về WWW, Mạng máy tính

– Kĩ năng và thái độ về khía cạnh kĩ thuật (cách viết mã, lựa chọn giải thuật, tổ chức mã nguồn chuyên nghiệp), cũng như khía cạnh nghề nghiệp (cách làm việc chuyên nghiệp, hiệu quả và hạnh phúc với nghề)

– Phần mềm Quản lý phiên bản/quản lý mã nguồn: Git, SVN, TFS

– AJAX / Web API

– RESTful API / HTTP method

– Cơ bản về lập trình front-end và back-end

Front-end

– HTML, CSS, JavaScript

– Các thư viện và framework phổ biến (ví dụ: jQuery, Bootstrap, AngularJS, ReactJS, VueJS)

– Responsive design, UX/UI

– Các kiến thức nâng cao (ví dụ: mô hình MVC, design pattern, lập trình bất đồng bộ trong JavaScript)

Back-end

– Một trong các ngôn ngữ phổ biến: Java, C#, PHP, Ruby, Python, JavaScript, Go

– Cơ sở dữ liệu (SQL, mySQL, MongoDB)

– Mô hình MVC, Design pattern

– Các framework của mỗi ngôn ngữ

– Các kiến thức nâng cao (ví dụ Dependency Injection, Inversion of Control, SOLID)

– Các kiến thức về triển khai, bảo mật

Bảng trên là liệt kê các thứ cần học để tham khảo thôi. Để nắm hết các nội dung đó quả là thử thách thực sự, và cũng không cần thiết. Bạn có thể tìm kiếm từ khóa “web front-end roadmap” để tham khảo lộ trình học ở trên mạng. Sử dụng các chatbot như: chatGPT, Gemini, hoặc Copilot để hỗ trợ thêm trong quá trình học.

Phương pháp học là:

– Học từ dễ đến khó, học chắc từng khái niệm cơ bản, khi có cái nền tốt rồi, cứ từng bước bồi đắp thêm các kiến thức mới, mọi thứ rất logic và nhẹ nhàng

– Bắt đầu là HTML, CSS, JavaScript, một vài thư viện/framework phổ biến (ví dụ: jQuery, Bootstrap, AngularJS, VueJS, ReactJS)

– Sau đó là một ngôn ngữ back-end nào đó cùng với cơ sở dữ liệu tương ứng (Java, JavaScript, C#, PHP, Python, Ruby, Go, mySQL, SQL), một vài framework phổ biến

– Mục tiêu là hiểu được cách thức để làm được một sản phẩm web hoàn chỉnh (đây chính là học front-end và back-end cơ bản)

– Trong quá trình học sẽ gặp một số khái niệm, mô hình, cố gắng tìm hiểu để nắm bắt

– Làm thực hành thật nhiều, tự làm các dự án từ dễ đến khó

– Học từ các trang dạy làm web tại Facebook/Github/Youtube/Website/Blog/Tik tok hoặc học từ chia sẻ của các anh chị trong nghề

– Cuối cùng, quan trọng nhất là phải kiên trì, chăm chỉ, “cứ đi ắt sẽ đến!”.

1.2       Xem và đọc thêm

– Dùng các từ khóa sau, tìm kiếm trên mạng để đọc thêm: Đường cong nụ cười Stan Shih, nụ cười Chu Hảo, survey stackoverflow,

– Nụ cười Stan Shih: http://legiacong.blogspot.com/2021/01/nu-cuoi-stan-shih.html

– Bài viết về marketing hiện đại của tác giả Lương Hà: https://www.luonghaparis.com/2017/08/04/khai-phong-tiem-luc-doanh-nghiep-bang-goc-nhin-moi-ve-nguon-goc-gia-tri/

– Tư duy phát triển: nụ cười Stan Shih (Huỳnh Thế Du): https://diendandoanhnghiep.vn/tu-duy-phat-trien-bai-4-nu-cuoi-stan-shih-188923.html (xem 18/1/2022)

– Những điều cần biết về nghề Công nghệ thông tin: https://www.mic.gov.vn/Upload_Moi/VanBan/Nghe-CNTT.pdf

– Khảo sát của Stackoverflow: https://insights.stackoverflow.com/survey/2021

– Bài giảng của tác giả Võ Đức Thiện về các bước làm một phần mềm: https://www.youtube.com/watch?v=tD0ZDYQmOcs

– Con đường phát triển sự nghiệp: https://toidicodedao.com/2015/06/18/con-duong-phat-trien-su-nghiep-career-path-cho-developer/

– Bài nói chuyện của tác giả Hieu Nguyen về Product Management for Managers: https://www.youtube.com/watch?v=kMLgug3GrkU

1.3       Bài tập và thực hành

Bài 1. Liệt kê danh sách các ngôn ngữ lập trình, công cụ, kĩ năng, công nghệ mà bạn dự định học để theo nghề làm web.

Bài 2. Tự tạo một danh sách các thuật ngữ tiếng Anh chuyên ngành, kèm theo nghĩa tiếng Việt. [mẫu].

Bài 3. Viết một CV cho bản thân, mục đích để biết bố cục một CV của người làm về công nghệ, biết được mình cần phải làm gì để có các nội dung ghi trong CV. [mẫu]

Bài 4. Tạo một blog cho bản thân viết về các chủ đề bạn đang theo đuổi, có thể tạo trên blogspot, wordpress, github, hoặc trên các hệ thống khác. [mẫu]

---

Cập nhật: 4/3/2024

Bài sau: Web (7) - Lộ trình học web front-end

-----
Tải tài liệu đầy đủ: Tự học HTML căn bản