Chắc hẳn bạn đã từng tìm kiếm các khóa học lập trình, rồi xin lời khuyên từ nhiều tiền bối, hay ông anh đồng nghiệp… Chắc hẳn sẽ những lời có cánh như: học lập trình đơn giản, cứ làm theo video hướng dẫn là được, hay tự học lập trình chỉ với vài tiếng đồng hồ…
Thực ra, để học một kỹ năng mới, cụ thể là lập trình, có rất nhiều cảm nhận: người thì học lập trình cảm thấy dễ dàng, đơn giản. Người thì lại cực kỳ vất vả, gian nan… Mỗi cảm nhận đều có cái đúng của nó.
Dựa vào kinh nghiệm thực tế bản thân của mình thì thấy học lập trình không dễ, cũng không khó. Chỉ cần bạn có 2 yếu tố này là bạn có thể trở thành một developer giỏi, đó là: Đam mê và chăm chỉ.
Dưới đây là chia sẻ những bài học và trải nghiệm học lập trình của mình.
Nội dung chính của bài viết
#Học lập trình đơn giản thật không?
Một trong những “tiêm nhiễm” phổ biến nhất từ các tiền bối là “Học lập trình đơn giản“.
Bạn cứ thử tìm các khóa học dạy lập trình trên mạng mà xem. Đập vào mắt là những lời quảng cáo như thế này:
Trong đầu bạn sẽ có luồng suy nghĩ như thế này:
Hầu hết các ngôn ngữ lập trình đều không yêu cầu người thật sự xuất chúng mới học code được. Nhưng nó lại rất lộn xộn, lộn xộn tới mức bạn không thể tưởng tượng được.
Có hàng ngàn blog dạy lập trình, lớp học trực tuyến, rồi đến cả các trung tâm học offline… nhằm mục đích lôi kéo học viên với một lời hứa về một quy trình học, mà chỉ cần theo một thời gian ngắn là thành chuyên gia.
Nhưng họ thường né tránh nói về sự tẻ nhạt của việc viết code, của debug, rồi “xì tress” khi bất thình bị lỗi không hiểu vì sao?
Họ cũng không nói với bạn biết rằng, học lập trình cần rất nhiều kỹ năng. Ví dụ như kỹ năng search Google, kỹ năng kiếm mã nguồn mở, rồi kiểm chứng chúng có thật sự tốt hay không?
😛 Nên đọc bài viết về Nhập môn lập trình mà mình đã viết trước đó!
Trải nghiệm của bản thân
Để mình kể trải nghiệm của bản thân khi mình chuyển sang học lập trình iOS cách đây 1 năm!
Hồi mới tốt nghiệp đại học, mình biết lập trình Android, và mình quyết định thử sức với lập trình iOS, nghe mọi người bảo là chỉ biết một loại ngôn ngữ thì việc chuyển sang ngôn ngữ khác rất đơn giản. Do vậy, mình khá tự tin khi bắt đầu nghiên cứu về lập trình iOS.
Nhưng khi bắt tay vào học thì mới thấy nó khó khăn thế nào. Đầu tiên là việc làm quen với Xcode, nó khác xa so với Android Studio. Tiếp đến là việc thiết kế layout trong Xcode nó cũng “dị” so với thói quen làm layout trên Android…
Mình bắt đầu cảm thấy bối rồi, bực bội với chính bản thân.
Điều mình quên mất đó là tâm lý của lập trình viên thường có cảm giác không thỏa mãn. Là một lập trình viên, có vô số thứ để học.
Bạn có thể trở thành một chuyên gia về một ngôn ngữ lập trình, một framework. Nhưng nếu công việc của bạn chỉ bó buộc vào một ngôn ngữ, một kỹ thuật, một framework… Đó là lúc bạn cảm thấy chán nản bản thân, ghét công việc. Rất nhiều bạn nghỉ việc ở công ty với cùng một lý do: “công việc quá nhàm chán, không có gì mới để học”.
Theo nghiên cứu của nhà tâm lý học Mihaly Csikszentmihalyi, đây là sơ đồ diễn biến tâm lý trong suốt quá trình học tập của bạn.
🤔 Đọc thêm: 3 kinh nghiệm học lập trình cực nhanh
#Kinh nghiệm để việc học code bớt khó khăn hơn
Với kinh nghiệm bản thân, mình có một vài điều muốn chia sẻ để việc học lập trình bớt gian nan hơn.
Bước 1: Làm theo một tutorial nào đó
Mình là người rất thích học một kỹ năng mới thông qua các tutorial. Do vậy, mình cố gắng làm theo từng bước được hướng dẫn trong tutorial. Kể cả có những chỗ mình không hiểu bước đó để làm gì.
Thông qua từng bước làm theo tutorial, bạn sẽ cảm nhận được những điều làm được bởi một ngôn ngữ lập trình mới/framework.
Phần này có thể bạn sẽ cảm thấy dễ dàng. Vì đơn giản là bạn chỉ đang làm theo người khác, chưa phải suy nghĩ nhiều.
🙌 Có thể tìm các tutorial hấp dẫn tại đây:
- Vuejs tutorial cho người mới – Tự xây dựng Todo App
- Flutter tutorial – Từng bước bắt đầu một dự án mobile với Flutter
Bước 2: Cố gắng tạo “biến thể” của tutorial
Sau khi bạn đã hoàn thành bài tutorial ở bước trên, đây là lúc bạn cần suy nghĩ một chút. Cố gắng tự thực hiện lại mà không đọc hướng dẫn. Hoặc thêm thắt tính năng cho bài hướng dẫn theo ý hiểu của mình.
Ví dụ, bạn đọc bài viết về: tạo website với Node.Js chẳng hạn. Sau khi bạn hoàn thành tutorial.
- Đầu tiên, bạn hãy tự làm lại mà không đọc tutorial.
- Sau đó bạn có thể suy nghĩ xem mình có thể tự thêm tính năng nào mới nào, như tính năng đăng nhập, xóa profile.v.v…
Có thể bạn làm chậm và tốn nhiều thời gian, nhưng hãy cứ kiên trì, đừng sốt ruột. Ai cũng vậy mà.
Bước 3: Suy nghĩ về một thứ gì đó đơn gian mà bạn muốn làm
Lúc này, bạn cũng có một lượng kiến thức nhất định về một ngôn ngữ/framework mới, bạn thử nhìn xung quanh xem có thứ gì đó đơn giản để bạn có thể làm và ứng dụng điều vừa mới học được hay không?
Nếu có chợt nhận ra mình không biết làm gì cả [cảm thấy thất vọng với bản thân]. Thì cũng đừng bỏ cuộc, mình cũng từng như thế.
Bước 4: Tìm một tutorial mới liên quan đến dự án
Lúc này, khi đã có ý tưởng để làm, bạn tiếp tục tìm kiếm những tutorial có liên quan đến dự án. Hoặc một phần dự án được xác định ở bước 3.
Hi vọng bạn đọc các tutorial mới này sẽ cảm thấy thân quen hơn, không còn quá lạ lẫm. Vì dù sao, ở step 1 đã giúp bạn phần nào rồi.
Trong lúc làm, nếu có khó khăn có thể nhờ sự trợ giúp qua: stackoverflow, group trên facebook, hoặc nhờ mình trên VNTALKING…
Cứ lặp lại các bước trên cho đến khi bạn cảm thấy tự tin về bản thân.
🤫 Nên đọc bí kíp tự học lập trình. Chỉ truyền cho người trong nhà thui đấy 😊
#Tạm kết
Để kết thúc bài viết này, mình chỉ muốn nói với các bạn rằng: trên thế giới này không có gì là dễ dàng cả. Chỉ có chăm chỉ mới giúp bạn đặt được điều mong muốn.
Vì vậy, giờ có ai nói với bạn: Học lập trình đơn giản lắm ☞ đừng tin hoàn toàn nhé!
Hi vọng bài viết này sẽ giúp bạn giải trí và rút ra được điều gì đó cho bản thân. Tiếp tục ủng hộ VNTALKING nhé!
Bình luận. Cùng nhau thảo luận nhé!