Điều bạn cần tập trung khi bắt đầu học lập trình Web.
Bài đăng này đã không được cập nhật trong 6 năm
Có một người bạn gần đây nhờ tôi giúp đỡ. Anh ta đã tự học lập trình web trong 18 tháng nhưng vẫn cảm thấy hoang mang, thiếu tự tin bởi vì anh ta thấy có quá nhiều bài hướng dẫn, kiến thức mới trên mạng. Và rồi anh ta bị kẹt trong mớ những thắc mắc như: "Tôi nên học Angular hay React?", "Nên theo Front-end hay là Back-end đây?",... Điều này gợi ra trong tôi nhiều cảm xúc mà mình từng trải qua, và chắc hẳn nhiều lập trình viên mới ( các new Dev) khác cũng đã hoặc đang gặp phải vấn đề đó. Vấn đề này thực sự quá là rắc rối phải không? . Tôi cũng từng bế tắc suốt cả tuần để đưa ra lựa chọn giữa Ruby và Python cho dự án của mình ( tôi đã chọn Ruby nhưng có vẻ như những ngôn ngữ khác cũng sẽ giúp dự án của tôi tốt như vậy). Theo tôi, điều duy nhất mà một người mới bước chân vào con đường phát triển web cần tập trung đạt được đó là Xây dựng nên những sản phẩm có thể hoạt động được.
Xin được giải thích cụ thể hơn như sau:
- Các công ty phần mềm thuê bạn với một mục tiêu duy nhất: Họ cần bạn giúp họ xây dựng phần mềm cho một vài mục tiêu hay giá trị nào đó.
- Các ngôn ngữ lập trình hay framework sẽ luôn biến đổi, nhưng mục đích của chúng thì luôn là như vậy: giúp cho phần mềm có thể hoạt động phục vụ mục đích của con người.
- Tất nhiên, sẽ rất tốt nếu bạn có khả năng viết ra những dòng code dễ đọc, dễ bảo trì và mở rộng; nhưng sẽ là thiếu sót nếu đòi hỏi tất cả kĩ năng đó từ một lập trình viên Junior. Bạn sẽ tiến bộ theo thời gian. Đó là lý do cả team sẽ cùng đánh giá trước khi code của bạn trở thành code của dự án.
- Cũng thật chưa hợp lý khi kì vọng bạn là người đánh giá và lựa chọn ngôn ngữ/ framework dùng cho dự án. Một lập trình viên Senior nên là người đưa ra những quyết định đó.
- Điều tôi muốn nói ở đây là, trước hết hãy tập trung làm sao để xây dựng được những thứ có thể thực sự hoạt động được. Thực ra giai đoạn này đã tốn hết 10 năm trong sự nghiệp của tôi. Khi đã hoàn thành được nó, bạn có thể học cách xây dựng phần mềm hoạt động tốt và tối ưu hơn. Ở giai đoạn sau đó, bạn sẽ trở thành người đưa ra lựa chọn giữa các ngôn ngữ hay framework cho dự án. Khi đó thì bạn chắc chắn sẽ cảm thấy sẵn sàng rồi.
Sau đây là một vài điều mà tôi đã học được trong suốt chặng đường đã qua:
- Bạn cần xây dựng sản phẩm hoạt động được, nhưng cụ thể là làm cái gì? - Câu trả lời là bất cứ thứ gì bạn cảm thấy hứng thú. Nếu cần thì tôi xin gợi ý với bạn một project nhỏ - nơi bạn sẽ buộc bản thân phải nạp rất nhiều khái niệm mới - ví dụ như một trang blog cá nhân, ghi lại những kiến thức bạn học được, hoặc đơn giản là trang web lưu lại những dòng nhật ký cá nhân của bạn.
- Nhiều bài viết nói rằng "Bạn đã phải biết điều này từ ngày hôm qua rồi" khiến tôi cảm thấy nản lòng, và họ vẫn sẽ tiếp tục làm như vậy. Nhưng thực ra việc học cách xây dựng phần mềm đã là quá khó khăn rồi. Nếu trong lúc học còn gặp cảm giác nản lòng thì còn tồi tệ hơn nữa. Khi gặp cảm giác như vậy, hãy đọc ý tiếp theo.
- Bất kể bạn suy nghĩ như thế nào, thì thực tế là bạn đang tiến bộ từng ngày. Dù hôm nay bạn chỉ học thêm được một chút, code thêm được một chút ít, nhưng rõ ràng bạn đã có nhiều hơn so với ngày hôm qua trong tay phai không nào ?
- Hãy học cách kiểm soát suy nghĩ của bạn thân trên con đường học tập, phát triển. mặc dù
- Thất vọng, thậm chí tuyệt vọng là cảm xúc tự nhiên, và nó thường mang ý nghĩa rằng mục tiêu bạn đang thực hiện thực sự quan trọng, và bạn cần thêm một giúp giúp đỡ để tiến tới nó.
- Cảm xúc quá tải, bế tắc cũng không có gì lạ, vì nó giải thích rằng bạn đang nghiên cứu một vấn đề đòi hỏi thật nhiều bước và thời gian. Hãy tạm thời bỏ qua nó và chuyển sang một vấn đề đơn giản hơn. Đừng nóng vội hay kì vọng quá lớn. Việc thực sự nắm bắt được lĩnh vực phát triển phần mềm có thể sẽ ngốn của bạn cả cuộc đời.
- Việc không thể hiểu nổi một vấn đề có nghĩa rằng bạn đang cần có sự giúp đỡ, điều mà không ai có thể thiếu được. Đôi khi không chỉ là một, mà bạn phải cần sự giúp đỡ từ nhiều nguồn khác nhau.
Dù như thế nào, việc quan trọng là hãy cứ luôn tập trung vào việc mình đang làm, và tin tưởng rằng nếu chăm chỉ và nỗ lực, bạn chắc chắn sẽ tiến bộ hơn mà thôi. Những lời khuyên ở trên được tôi gửi đến các bạn dựa trên bài viết https://hackernoon.com/what-should-you-focus-on-as-a-new-web-developer-9f8b23600fe7.
All rights reserved