12/08/2018, 18:27

Học nghề lập trình phần mềm

Trong bài viết “Dạy lập trình hiện nay rất tệ: Tại sao chúng ta cần quay lại cách đào tạo 1.000 năm về trước”, Rob Walling đã đưa ra một lý lẽ để thuyết phục ngành giáo dục nên từ bỏ kiểu đào tạo truyền thống thiên về lý thuyết và chuyển qua đào tạo theo hình thức học ...

Trong bài viết “Dạy lập trình hiện nay rất tệ: Tại sao chúng ta cần quay lại cách đào tạo 1.000 năm về trước”, Rob Walling đã đưa ra một lý lẽ để thuyết phục ngành giáo dục nên từ bỏ kiểu đào tạo truyền thống thiên về lý thuyết và chuyển qua đào tạo theo hình thức học nghề.

Học lập trình phải kết hợp giữa lý thuyết và thực hànhHọc lập trình phải kết hợp giữa lý thuyết và thực hành

Tại sao chúng ta không sử dụng phương pháp thường được áp dụng trong các ngành nghề đã thành công nhiều năm qua? Hãy lấy một học viên nghề điện làm ví dụ: ở Hoa Kỳ hiện nay, công ty điện lực International Brotherhood of Electrical Workers (I.B.E.W.) đào tạo hàng ngàn thợ điện mỗi năm. Họ học thông qua 2 trải nghiệm riêng biệt:

  • Tham dự lớp học vào các buổi tối trong tuần để tìm hiểu lý thuyết về điện.
  • Làm việc buổi ngày trực tiếp trên một công trường xây dựng, nơi họ có thể thu được kinh nghiệm trong việc áp dụng lý thuyết vào thực hành xây dựng một tòa nhà.

Ngày đầu tiên học viên tham gia công việc sẽ được làm việc cùng với một thợ điện đã có kinh nghiệm, người sẽ chỉ cho anh ta thấy phải làm những gì. Người thợ điện sẽ nói với học viên về một tác vụ cần làm, tiếp đến là làm mẫu cho học viên thấy tác vụ đó nên làm như thế nào, sau đó học viên phải tự làm theo, cuối cùng người thợ điện sẽ đưa ra những nhận xét phản hồi về chất lượng của công việc mà học viên đã làm. Như vậy quy trình gồm 4 bước: nghe, xem, làm, nhận những góp ý.

Học lập trình sao cho hiệu quả nhất?Với nghề phần mềm thì nó sẽ như thế này: mentor (người hướng dẫn) sẽ đánh giá một tác vụ trước khi giao cho học viên, có thể là họ sẽ viết code để truy xuất dữ liệu hoặc xây dựng một giao diện người dùng trên web, và tổ chức một cuộc thảo luận với người học việc (nghe). Tiếp theo, người hướng dẫn có thể viết code mẫu để minh họa một khái niệm đặc biệt khó hoặc khái niệm dễ hiểu lầm (xem). Tại thời điểm này, người hướng dẫn sẽ để cho học viên tự trải nghiệm công việc viết code (làm). Và cuối cùng, người hướng dẫn xem lại code của học viên, cung cấp những góp ý cả tích cực lẫn tiêu cực và gợi ý nên cải tiến như thế nào để tốt nhất (xem xét). Nghe, xem, làm, nhận những góp ý.

Chìa khóa cho bất kỳ hình thức đào tạo nghề nào đó là bước “làm”. Hầu hết các khóa đào tạo lập trình viên chỉ cung cấp cho bạn các bước nghe và xem, nhưng các bước “làm và nhận những góp ý” là quan trọng để truyền cảm hứng giúp bạn tiến bộ và phát triển các kỹ năng của mình. Vẻ đẹp của việc học nghề là nó đã kết hợp được việc vận dụng lý thuyết vào các trải nghiệm thực tế. Và thực ra nó dễ dàng hơn bạn nghĩ.

Thay vì một liên minh lỏng lẻo giữa các bộ lạc, có lẽ chúng ta nên đào tạo theo hình thức học nghề, thợ lành nghề, các mối quan hệ nghề nghiệp trong phát triển phần mềm.

Sự kết hợp của việc học lý thuyết vào ban đêm và lập trình trong thế giới thực vào ban ngày là đặc biệt hấp dẫn. Có lẽ đây là lý do tại sao tôi đã thấy rất nhiều thực tập sinh tài năng trở thành lập trình viên tuyệt vời – họ đang làm việc tại các công ty phần mềm thực tế trong khi vẫn đi học các khóa học về khoa học máy tính để bổ sung kiến thức lý thuyết.

Mặc dù để trở thành một người hướng dẫn (mentor) giỏi là điều không hề dễ dàng. Tôi thường gặp khó khăn trong việc hướng dẫn cho những lập trình viên có trình độ kỹ năng quá chênh lệch với mình. Tôi là người hơi thiếu kiên nhẫn. Nếu bạn xếp những người chơi bóng đá vào cùng một sân bóng, thì đừng nên trộn lẫn cầu thủ chuyên nghiệp với những cậu học sinh cấp 3. Sự chênh lệch kỹ năng là quá lớn để họ có thể thực sự chơi bóng đá cùng với nhau. Và làm thế nào mà họ có thể học mà không chơi các trò chơi? Nhưng nếu bạn sắp xếp các sinh viên đại học lẫn học sinh cấp 3 thì họ có thể chơi bóng đá với nhau rất tốt!

Techtalk via Vinacode

0