Mục lục
Có rất nhiều bạn hỏi mình là làm sao để học lập trình, cụ thể là lập trình web làm sao cho tốt nhất, hiệu quả nhất. Làm sao để lập trình được một trang web giới thiệu sản phẩm, một shop bán hàng, hay đơn giản thì là một trang web như một cái CV giới thiệu bản thân một cách hiệu quả đối với nhà tuyển dụng.
Mình cũng từng như các bạn, khi mới bước chân vào ngành lập trình thì cũng rất hoang mang không biết bắt đầu từ đâu, khi mà có rất nhiều loại ngôn ngữ lập trình khác nhau. Đôi khi cũng mắc phải những sai lầm cơ bản không nên mắc.
Và đến hiện tại, mình cũng đã tích góp được một số kinh nghiệm, tuy không nhiều nhưng hi vọng sẽ giúp được các bạn định hướng được lộ trình cần phải học khi mới bước chân vào ngành lập trình.
Giai đoạn bắt đầu
Để bắt đầu học lập trình web thì chúng tà cần phải thành thạo Html, Css và Javascript. Đây là giai đoạn khá quan trọng vì tất cả các trang web hiện nay thì đều sử dụng Html, Css và Javascript để xây dựng.
Nên tham gia các khoá học miễn phí hay trả phí?
Tất nhiên, nếu bạn có điều kiện thì nên tham gia những khoá học trả phí. Có những lí do như sau:
- Trong từng bài học sẽ có những bài tập để mình củng cố thêm kiến thức.
- Có những mentors, supporters sẽ hỗ trợ bạn tận răng mỗi khi bạn gặp vấn đề trong bài học.
- Có lộ trình rõ ràng trong cả khoá học.
- Và trên hết, đã tốn tiền rồi nên đó là động lực để khiến các bạn không bị lười học.
Tuy nhiên, nếu bạn chưa có điều kiện để tham gia những khoá học trả phí, thì cũng có rất nhiều khoá học online miễn phí cho các bạn. Vì khoá học là miễn phí nên sẽ có những hạn chế nhất định điển hình là nếu bạn cần hỏi về một vấn đề nào đấy trong bài, thì bạn phải comment trong đấy rồi chờ mentor hoặc những học viên khác giải thích cho bạn.
Và do tính chất học online cũng như là miễn phí nên chúng ta sẽ có xu hướng ỉ lại. Nghĩ rằng nó sẽ vẫn miễn phí và có thể học lại bất cứ lúc nào trong thời gian rảnh. Do đó sẽ dần mất định hướng và động lực để học và thực hành lập trình web.
Một số phương pháp để học html, css, js hiệu quả
Tuỳ vào mỗi người sẽ có những phương pháp khác nhau. Tuy nhiên mình sẽ gợi ý cho các bạn phương pháp mà theo mình thấy nó hiệu quả nhất:
- Tập clone giao diện với html, css thuần. Các bạn mới bắt đầu thì hầu hết chưa có ý tưởng thiết kế layout một trang web thì đây là cách nhanh nhất giúp các bạn thành thạo html và css.
- Tìm hiểu những bài tập luyện thuật toán với js. Giúp các bạn tư duy và hiểu rõ hơn các concept trong js.
- Khi các bạn đã thấy ổn trong việc clone các trang cơ bản như trang tin tức, shop bán hàng,.. thì nên nghiên cứu thêm về firebase, một platform của google hỗ trợ tạo auth và database. Khi đó bạn sẽ hình dung được một webapp hoàn chỉnh sẽ như thế nào và cũng có thể luyện thêm về js.
Học bootstrap hay tailwind?
Câu trả lời của mình là css thuần -> bootstrap -> tailwind.
Học css thuần rất quan trọng. Vì nó là base để build những thư viện css khác. Khi các bạn học chắc được css thuần thì nó sẽ giúp bạn hiểu được các xử lý các giao diện phức tạp.
Khi đã nắm chắc css thuần thì bạn có thể học thêm về bootstrap. Đây là thư viện hỗ trợ style các component cơ bản để rút ngắn thời gian style trong lúc đó có thể tập chung vào các chức năng chính của trang web.
Tailwind thì không đi kèm những component có sẵn nên là phụ thuộc vào khả năng tự design, mắt thẩm mĩ khá nhiều và có thể quên mất những syntax css thuần. Do đó không nên dùng tailwind quá sớm.
Giai đoạn học React
React là thư viện phổ biến nhất hiện nay khi lập trình frontend. Nhưng để học react hiệu quả thì vẫn cần phải nắm chắc về js. Không để rơi vào tình trạng học react nhưng chưa hiểu rõ về js.
Các bạn nên đầu tư một khoá học về react có lộ trình rõ ràng, dạy đủ thứ từ cơ bản đến nâng cao. Nếu chưa có điều kiện thì các bạn lên youtube tìm kiếm các từ khoá như “react full course”,… Sau đó tìm hiểu những tutorial về chủ để nhỏ như là form, state management,… Những kiến thức nhỏ này có thể tích luỹ thêm hằng ngày và qua việc làm dự án.
Khi đã nắm rõ được react cơ bản rồi, có thể học mern stack song song để có thể hiểu thêm về nodejs xem server được build như thế nào. Một dự án rất hay nếu học mern stack là làm google form clone, dự án này có thể áp dụng được rất nhiều những kiến thức trong react và mern như: auth, form, api call, thao tác với state v.v.
Nên làm dự án như thế nào?
Dự án là điều tất yếu để nâng cao trình độ và đưa vào portfolio xin việc, vậy làm dự án thế nào cho tốt?
Khi học html css js: Clone những trang tin tức như vnexpress, quantrimang v.v. những trang web này không có giao diện quá phức tạp nhưng cũng có những element như navbar, search v.v. thậm chí có thể dùng firebase để nhúng auth và db vào để làm chức năng comment.
Khi học react:
- Làm dự án dùng API về chủ đề mình thích, tận dụng những api có sẵn mà sau đó mình có thể sử dụng luôn web đó (web xem phim, nhạc, đọc truyện, …)
- Làm những dự án có logic khá phức tạp như game connect four, chess, v.v.
- Những dự án “fullstack” phức tạp như: realtime chat app, facebook clone, …
Không nên làm những dự án như ecommerce bởi vì nó sẽ dễ gây nhàm chán, dễ bỏ dở giữa chừng, không hiệu quả
Có thể tập làm những thư viện để publish lên npm, hoặc tìm hiểu viết extension cho vscode.
Khi làm xong một dự án nào đó nên share cho người quen hoặc đăng lên những cộng đồng lập trình để vừa được góp ý sửa lỗi vừa nhận được những lời khen và nhờ đó có động lực làm những dự án khác.
Cải thiện tiếng anh
Tiếng anh là một phần không thể thiếu được khi học lập trình. Tất cả những tài liệu cũng như là những issue sẽ được viết và trả lời bằng tiếng anh. Vẫn sẽ có những tutorial bằng tiếng Việt nhưng đôi khi nó sẽ không được sát nghĩa cho lắm. Cho nên để mà học nhanh hay cập nhật những công nghệ mới nhất thì cần phải học tiếng anh.
Luyện nghe bằng cách giảm speed của youtube và bật phụ đề. Qua vài tháng sẽ quen dần và nghe tốt hơn.
Luyện đọc thì qua các blogs chia sẻ hoặc các document của thư viện hay framework.
Học thêm thư viện mới
Khi đã nắm chắc nền tảng js hay react rồi thì việc học thêm vue hay svelte sẽ khá đơn đơn giản.
Chỉ cần tìm trên youtube một video “crash course” khoảng 3 tiếng, và phải luôn mở text editor để code theo video là các bạn có thể nắm được cơ bản của thư viện đó rồi.
Khi đã nắm được những syntax cơ bản cần thiết rồi, hãy tự làm một dự án khác với framework đó và mở docs của nó ngay bên cạnh để search khi cần.
Cách làm này sẽ giúp ta nhớ syntax và kiến thức mỗi khi học cái mới khá nhanh gọn.
Những phương pháp khác
Đọc code của người khác: Khi có người ở trên cộng đồng chia sẻ những dự án hay ho thì các bạn có thể vào source code để đọc xem cách họ code như thế nào. Hoặc các bạn có thể lên github và tìm các project hay. Nhờ đó có thể học được các structure, design pattern, clean code,…
Đọc các blog về công nghệ thường xuyên: Daily.dev là một website chuyên cập nhật các blog của các developer từ nhiều nguồn khác nhau. Chăm chỉ đọc blog giúp các bạn cập nhật được các công nghệ hay học thêm được nhiều tips and tricks.
Kết luận
Qua bài viết này mình cũng đã chia sẻ cho các bạn một lộ trình mình cho là hiệu quả cho người mới bắt đầu bước chân vào ngành lập trình web. Hi vọng có thể giúp được các bạn định hướng rõ ràng hơn. Nếu các bạn có những chia sẻ hay tâm sự gì thì các bạn có thể comment phía dưới hoặc tham gia group facebook để chia sẻ cùng với mình nhé.