Tôi có thực sự cần một cố vấn để giỏi lập trình không? Ban đầu xuất hiện trên Quora: nơi để học hỏi và chia sẻ kiến thức, cho phép mọi người học hỏi từ những người khác và hiểu rõ hơn về thế giới.
Câu trả lời từ Mario Peshev, Giám đốc điều hành DevriX trên Quora:
Tôi có thực sự cần một cố vấn để giỏi lập trình không? Nếu bạn có thể tìm được một nhà phát triển chuyên nghiệp cùng với các kỹ năng đào tạo sẵn sàng cố vấn cho bạn, điều đó sẽ thật lý tưởng. Để giỏi lập trình, chúng ta không bắt buộc phải có một cố vấn, nhưng làm việc với một người có thể trả lời đầy đủ các câu hỏi cụ thể của bạn một cách chi tiết hoàn toàn là điều tốt.
Tôi đã dành hơn mười nghìn giờ trong đời để đào tạo, huấn luyện, tư vấn và cố vấn. Một số thực tập sinh của tôi có thể dễ dàng tự xử lý phạm vi công việc của họ, vì họ là những người có định hướng, có tổ chức, có đạo đức làm việc tuyệt vời cùng với một số kiến thức nền tảng về khoa học máy tính. Trong khi những người khác vẫn thất bại ngay cả khi tôi đã dành cả năm trời với họ, vì họ không tập trung cho một mục tiêu cụ thể, không dành thời gian cho công việc hoặc đang nhìn việc lập trình từ một góc độ hoàn toàn khác.
Làm việc với một cố vấn sai cũng là điều khá nguy hiểm. Hãy nghĩ đến việc bạn học toán ở trường đại học từ một người không đủ năng lực hoặc người đang giải thích sai về các định lý thậm chí là tiên đề. Hoặc bạn đang học một môn thể thao mà huấn luyện viên của bạn không giải thích cho bạn biết về các nguyên tắc khởi động, điều đó có thể dẫn đến chấn thương cho bạn.
Một người cố vấn tuyệt vời có thể đánh giá trình độ hiện tại của bạn và xác định các lĩnh vực cần cải thiện. Họ có thể chỉ cho bạn các nguồn tại liệu phù hợp để nghiên cứu bổ sung và thiết kế một chương trình từng bước nhằm ghi nhớ các kỹ năng mới bằng cách đưa chúng vào thực hành. Nó sống động và được thiết kế riêng cho bạn – đó là điều khiến nó trở nên có giá trị như vậy.
Phát triển phần mềm là một lĩnh vực khá mới nên không có nhiều sự nhất quán về cách tốt nhất để học lập trình hay đâu là nguồn tốt nhất cho người mới bắt đầu, chưa nói đến cách bắt đầu học và đâu là ngôn ngữ lập trình tốt nhất,… Nhiều nơi dạy nhiều cách hiểu khác nhau về lập trình, đó là điều khiến việc tìm kiếm và hiệu định một cố vấn trở nên khó khăn ngay từ đầu.
Trên hết, những cố vấn có các lĩnh vực chuyên môn và quan điểm khác nhau. Một số phát triển dựa trên nhu cầu kinh doanh, một số khác với sự đổi mới và sáng tạo. Một số tính đến hoạt động tiếp thị, trong khi những người khác hoàn toàn dựa vào các mẫu thiết kế và các phương pháp hay nhất được thiết lập trong ngành công nghiệp phần mềm.
Tôi đã thấy điều đó trong thực tế rất nhiều lần. Tôi đã thấy các nhóm sinh viên khác nhau được dạy rằng một ngôn ngữ hay một khuôn khổ là không tốt, một số mẫu thiết kế tuyệt vời hoặc lỗi thời, rằng JavaScript là “điều quan trọng tiếp theo” hoặc bất cứ thứ gì liên quan đến những dòng đó. Một số cố vấn cũng thường thu hút những sinh viên bị đánh lừa bởi những cuộc nói chuyện tiếp thị và quên mất việc học những kiến thức cơ bản.
Đó là thứ có thể được hiệu chỉnh phần nào trong các tổ chức lớn với nhiều nhà phát triển. Mặc dù các công ty hoạt động khác nhau, nhưng ít nhất bạn sẽ có hàng trăm đồng nghiệp để so sánh, cộng tác và giao tiếp.
Những người làm nghề tự do thường dễ đánh mất thực tế nếu họ không dành nhiều thời gian để cập nhật những thay đổi mới nhất được sử dụng trong ngành phát triển phần mềm. Là một lĩnh vực luôn phát triển, có rất nhiều khuôn khổ, thư viện, công cụ và hệ thống xuất hiện nhưng lại không tồn tại trong thời gian dài. Việc nhận ra những cái có triển vọng đòi hỏi bạn phải đọc đúng các diễn đàn, blog, bản tin và nhóm xã hội; xem các video và khóa học đào tạo phù hợp, tham dự các sự kiện phù hợp, tất cả đều có thể gây choáng ngợp cho một freelancer làm việc theo giờ.
Tin tốt là, ngay cả khi không có sẵn sự cố vấn, bạn vẫn có những cách khác để cải thiện kỹ năng và đảm bảo rằng công việc của bạn không thấp hơn giá trị thực tế. Làm việc với các kỹ sư khác là rất tốt – đặc biệt là trong các cuộc thi lập trình, cuộc thi phát triển ngang hàng, trên các dự án nguồn mở và cộng tác cùng nhau. Đây thực sự là cách hiệu quả nhất để bạn nhận được phản hồi cho những hành vi không tốt và xác định thói quen lập trình tốt hơn.
Đọc một số cuốn sách nền tảng và theo dõi các nhà lãnh đạo trong ngành viết và nói về kỹ thuật phần mềm cũng rất hữu ích. Đọc mã của các dự án nguồn mở, tham gia hackathons, tham dự các khóa học lập trình và sự kiện có thể giúp bạn luôn cập nhật kỹ năng của mình. Đặt câu hỏi trên Quora hoặc các câu hỏi lập trình cụ thể trong StackOverflow cũng có thể giúp bạn xác định các phương pháp hay nhất để cải thiện mã và toàn bộ quy trình làm việc của bạn.
Sự cố vấn sẽ giúp ích rất nhiều trong việc đó và sẽ tóm tắt kiến thức chuyên môn của một người thành một kênh các mẹo và chiến lược phù hợp với bạn. Tìm hiểu những điều cơ bản chắc chắn cũng là bắt buộc – nhưng việc tìm kiếm các nguồn phù hợp có thể giúp bạn tiết kiệm nhiều năm. Lý tưởng nhất là bạn nên tìm một người cố vấn giỏi, người có thể mở rộng kỹ năng của bạn, đảm bảo rằng bạn thực sự tận tâm và quyết tâm sẽ mang lại kết quả tuyệt vời.