paint-brush
Dự án Odin đã giúp tôi thoát khỏi địa ngục hướng dẫn và thay đổi cách tôi học mãtừ tác giả@codebyblazej
582 lượt đọc
582 lượt đọc

Dự án Odin đã giúp tôi thoát khỏi địa ngục hướng dẫn và thay đổi cách tôi học mã

từ tác giả CodeByBlazej7m2025/02/02
Read on Terminal Reader

dài quá đọc không nổi

Sau một năm học lập trình qua Udemy và vật lộn với "địa ngục hướng dẫn", tôi đã chuyển sang The Odin Project (TOP). Các bài học có cấu trúc, các dự án thực hành và giải thích sâu sắc của TOP đã giúp tôi xây dựng các kỹ năng lập trình thực sự—chứng minh rằng các nguồn tài nguyên miễn phí do cộng đồng thúc đẩy có thể vượt trội hơn các khóa học trả phí. Hãy tin tưởng vào quy trình, bỏ qua các lối tắt.
featured image - Dự án Odin đã giúp tôi thoát khỏi địa ngục hướng dẫn và thay đổi cách tôi học mã
CodeByBlazej HackerNoon profile picture



Tôi bắt đầu học lập trình cách đây đúng một năm. Lúc đầu, tôi không biết liệu lập trình có phù hợp với mình không, vì vậy tôi quyết định hỏi bạn tôi, một lập trình viên, một số câu hỏi.


Anh ấy học cách lập trình ở trường cao đẳng và sau đó là ở trường đại học, và cuối cùng đã tìm được việc làm.

Hành trình đầu tiên của tôi vào lập trình

Tại sao tôi lại muốn học cách lập trình ngay từ đầu? Vâng, tôi đã chán việc làm việc ở nhiều công ty khác nhau, làm hầu hết những việc giống nhau mỗi ngày—sửa máy, vận hành máy, sản xuất sản phẩm trên nhiều loại máy khác nhau, v.v.


Tôi luôn muốn khởi nghiệp kinh doanh riêng và xây dựng các dự án của riêng mình hoặc phục vụ khách hàng. Tôi từng là một đại lý bất động sản và tôi thực sự thích công việc đó—phục vụ khách hàng và nhiều hơn thế nữa.


Tìm hiểu nơi để bắt đầu

Dù sao đi nữa, sau khi hỏi bạn tôi một vài câu hỏi và so sánh chúng với các kỹ năng tôi đã có , cả hai chúng tôi đều kết luận rằng việc học lập trình không nên quá khó khăn đối với tôi. Bước tiếp theo là tìm kiếm một số nguồn tài nguyên. Anh ấy không biết nhiều ngoài Udemy và bootcamp, nhưng anh ấy hứa sẽ liên hệ với một người bạn khác cũng là một lập trình viên có nhiều kinh nghiệm hơn. Tôi nói rằng tôi cũng sẽ tự nghiên cứu, và sau đó chúng tôi sẽ cố gắng cùng nhau tìm ra điều gì đó tuyệt vời.


Sau khoảng hai tuần, chúng tôi gọi điện cho nhau để thông báo một số kết quả. Có vẻ như các trại huấn luyện có giá quá cao, và chúng tôi nghĩ rằng hầu hết chúng chỉ là để lấy tiền từ người tham gia hơn là thực sự dạy họ cách lập trình. Hơn nữa, nhiều trại huấn luyện cố gắng dạy nhanh nhất có thể và dường như tập trung vào việc giữ mọi người có trách nhiệm. Điều đó không phải là vấn đề lớn đối với tôi vì khi tôi nói rằng tôi sẽ làm điều gì đó, tôi sẽ làm bất kể điều gì xảy ra.


Tôi nghĩ mình có thể không dành ra được ba giờ mỗi ngày để học, nhưng tôi chắc chắn mình có thể học một hoặc hai giờ mỗi ngày trong thời gian dài hơn thời gian học tại trại huấn luyện. Trên hết, chúng tôi khẳng định rằng với mức giá của trại huấn luyện, kiến thức tương tự có thể tìm thấy trong các khóa học trên Udemy. Vì vậy, chúng tôi đã gắn bó với Udemy.


Bắt đầu với Udemy

Tôi tìm thấy ba giáo viên có vẻ thú vị để học JavaScript, và bạn tôi cũng chọn ba người. Sau một thời gian thẩm định, tôi đã quyết định chọn người này .


Tôi đã rất phấn khích, hào hứng và sẵn sàng bắt đầu ngay lập tức. Tôi đã mua khóa học, chuẩn bị một số ghi chú và phát video đầu tiên. Sau nhiều ngày, tôi có thể thấy sự tiến bộ của mình trong việc hiểu JavaScript, HTML và CSS. Tôi biết cách thức hoạt động của các hàm, biến là gì và quan trọng nhất là cách bắt đầu các dự án và làm cho JS, HTML và CSS giao tiếp với nhau.


Lúc này, tôi tự nhủ rằng sẽ là một ý tưởng tuyệt vời nếu chia thời gian học của mình và thêm một số video trên YouTube có sự góp mặt của những người chỉ làm dự án. Tôi đã tìm thấy 3 anh chàng này và tôi đã học được rất nhiều từ họ. Thực sự giới thiệu họ!


Thực tế là tôi bắt đầu làm dự án nhỏ của riêng mình cho đến khi tôi tìm hiểu về API, thứ mà tôi không hiểu nhiều. Vì vậy, tôi lại tiếp tục dành nhiều thời gian học hơn cho các khóa học trên Udemy.


Tôi tiếp tục theo khóa học đó cho đến khi nó đưa tôi đến Lớp học, mà tôi không biết gì về nó. Vào thời điểm đó, tôi cảm thấy như mình đã được giới thiệu rất nhiều thứ về mã hóa, nhưng tất cả các dòng mã tôi đã viết thực ra đều được sao chép từ các tài nguyên mà tôi đã chỉ cho bạn ở trên.

Tôi không thấy mình sử dụng tất cả những thứ này để tự làm điều gì đó, nhưng khóa học đã có về Classes và OOP, điều này có vẻ rất xa lạ với tôi. Tôi cảm thấy mình đáng lẽ phải biết nhiều hơn vào thời điểm này để nắm bắt được tất cả các khái niệm này, nhưng tôi thậm chí còn chưa được yêu cầu tự làm bất cứ điều gì! Tôi biết có điều gì đó không ổn.


Tôi đã kiểm tra xem mình đang ở đâu trong khóa học Udemy này, và hóa ra là tôi đang ở đúng giữa. Tôi nghĩ, "Eeeeemmmm, không! Nó sẽ không hoạt động như vậy. Không có cách nào để học lập trình (một thứ mà mọi người dành nhiều năm để học) trong khoảng ba tháng." Theo tính toán của tôi, tôi sẽ ở đâu đó gần cuối khóa học vào khoảng thời gian đó. Điều đó khiến tôi hơi buồn, và tôi cảm thấy mình có thể gia nhập nhóm những người viết những bình luận kiểu đó trực tuyến


Địa ngục hướng dẫn



Tôi nghĩ phải có cách nào đó tốt hơn.

Khám phá “Tutorial Hell” và Dự án Odin

Tôi bắt đầu lướt Reddit, tìm kiếm một số bình luận hữu ích và tìm thấy cụm từ "tutorial hell". Vâng, đó chính xác là những gì tôi sẽ rơi vào nếu tôi tiếp tục học các khóa học khác trên Udemy, v.v. Nhưng may mắn thay, tôi đã tìm thấy các bài đăng giới thiệu The Odin Project.


Rất nhiều người đề xuất TOP ( The Odin Project ) hoặc FreeCodeCamp . Tôi đã tự nghiên cứu và nghĩ rằng nếu Odin mất quá nhiều thời gian để hoàn thành, thì đó hẳn là một nguồn tài nguyên tuyệt vời. Những người đề xuất nó có vẻ thực sự tự hào khi đã chọn nó ngay từ đầu.

Tôi gọi cho bạn tôi và kể cho anh ấy nghe. Anh ấy không biết tôi đang nói gì. Có vẻ như TOP không được ưa chuộng lắm ở Ba Lan. Nhưng tôi kể cho anh ấy nghe về những khó khăn của tôi với Udemy và sau đó bắt đầu học TOP ngay.

Một cách tiếp cận hoàn toàn khác

Hoàn toàn khác biệt! Có rất nhiều bài đọc lúc đầu và tất cả những thứ đó, nhưng vài bài học đầu tiên được thiết kế tốt chỉ để giới thiệu cho học sinh toàn bộ quá trình. Tôi thích nó.


Qua từng bài học, tôi dần nhận thức rõ hơn tại sao việc học các khóa học trên Udemy lại khó khăn đến vậy. Tôi có một vài lý thuyết:


  • Không đủ chiều sâu : Có thể các bài học thường được thiết lập theo đúng thứ tự, nhưng không có đủ tài nguyên về từng chủ đề để cung cấp cho nó chiều rộng hơn. Tôi không nói rằng nó cần phải rộng như đại dương, nhưng ít nhất là đủ rộng để người mới bắt đầu hiểu khái niệm này là gì và cách sử dụng nó.


  • Giải thích hạn chế : Thường thì chỉ có một cách ngắn gọn để gia sư giải thích một chủ đề cụ thể. Nếu bạn vẫn không hiểu những gì họ nói, bạn cần bắt đầu tìm kiếm ở nơi khác rồi quay lại. Hoặc bạn phải tua lại video năm lần, hy vọng não bạn cuối cùng sẽ hiểu được những gì gia sư đang nói. Trong Odin, thường có năm nguồn tài nguyên khác được liên kết ở cuối bài học nhằm giúp bạn hiểu chủ đề.


  • Thiếu bài tập thực hành : Không có nhiều sự tập trung vào việc học sinh tự làm bài tập. Tất nhiên, có điều gì đó như, "Chúng ta sẽ làm thứ này ngay bây giờ. Hãy cố gắng tự làm trước khi xem mã tôi sẽ viết sau một chút." Thôi nào, các bạn, các bạn có thực sự muốn học lập trình không? Trong Odin, khi bạn bắt đầu học về một chủ đề, bạn sẽ có toàn bộ bài học về chủ đề đó. Sau đó, có một vài liên kết giải thích cùng một điều nhưng bằng những từ ngữ khác nhau. Tôi thực sự thích điều này vì đôi khi một bài viết giải thích chủ đề theo cách trực quan hơn và một bài viết khác sử dụng phong cách học thuật hơn. Nó giúp não bạn nhớ lâu hơn. Vào cuối mỗi phần, bạn luôn có một số loại dự án để kiểm tra kiến thức của mình. Và đúng vậy, bạn bị ném xuống nước sâu và với sự hướng dẫn ngắn gọn, bạn cần tự mình sắp xếp mọi thứ. Không phải là bạn phải tìm thêm thông tin để thực hiện dự án, vì nó luôn dựa trên những điều bạn vừa học được. Nếu bạn quên điều gì đó, bạn có thể biết nơi để tìm tài liệu ôn tập nhanh (tài liệu từ các bài học) hoặc đơn giản là trong chính bài học về Odin.

Xây dựng kiến thức thực sự

Bạn có thấy sự khác biệt không? Odin dài, và trong mỗi bài học, bạn sẽ tìm thấy một điều gì đó xây dựng nên các khối kiến thức. Khi học khóa học, bạn sẽ có rất nhiều khoảnh khắc "nhấp chuột" và "AHA" thay vì "Cái đó dùng để làm gì?" hoặc "Tôi có thiếu kiến thức ở thời điểm này không?" hoặc "Cái này là cái gì, và nó thậm chí đến từ đâu?!".


Vào thời điểm viết bài viết này, tôi đã hoàn thành khóa học Ruby—khoảng 86%. Lần cuối cùng tôi nói chuyện với bạn mình, tôi đã kể cho anh ấy nghe về những bài học tôi vừa hoàn thành, bao gồm Knights Travails, danh sách liên kết, đồ thị, bản đồ băm, cấu trúc dữ liệu, v.v. Anh ấy nói rằng anh ấy đã học tất cả những thứ đó ở trường đại học, và khi anh ấy hỏi tôi rằng lời giải thích sâu đến mức nào, anh ấy thực sự ngạc nhiên. Anh ấy không nghĩ rằng Odin sẽ giải thích những điều đó xa đến vậy. Đúng vậy, đúng là như vậy, và tôi thực sự vui vì đã quyết định học hết những điều này.


Đến thời điểm này, tôi không còn sợ địa ngục hướng dẫn nữa. Mỗi lần tôi thấy bài đăng trực tuyến hỏi nên bắt đầu từ đâu và nên mua khóa học nào, v.v., tôi muốn bảo những người này hãy trung thành với Odin và chỉ cần tin tưởng vào quy trình.

Tôi không nghĩ là có thể làm được điều gì trong hai tháng, như nhiều bậc thầy trên YouTube nói. Vâng, bạn có thể chạy được một số ứng dụng chỉ bằng cách tìm kiếm hướng dẫn đơn giản về việc cần làm tiếp theo, nhưng học một số thứ đúng cách và sau đó ít gặp khó khăn hơn trên đường đi không? Bạn chỉ có thể tập trung vào việc xây dựng và bổ sung kiến thức của mình thay vì sửa tất cả các lỗi bạn sẽ mắc phải và cố gắng tự mình tìm ra mọi thứ.