Trong chúng ta chắc hẳn đã từng nghe về một “quy tắc” nói rằng để trở thành một chuyên gia trong một lĩnh vực nào đó bạn phải mất 10,000 giờ. Vậy để trở thành lập trình viên quốc tế, bạn cần bao lâu? Có đúng là phải cần tới 10000 giờ?
Nghe đến đây, chắc hẳn nhiều bạn giật mình và chán nản. Thế này thì chết đói trước khi kiếm được tiền từ nghề lập trình viên. Tuy nhiên, bạn cũng đừng quá lo lắng, quy tắc này cũng không thực sự hoàn toàn đúng đâu.
Trong bài viết này, mình sẽ giải thích tại sao bạn không cần phải mất 10,000 giờ mà vẫn là chuyên gia lập trình.
Bắt đầu thôi chứ nhỉ!
Trở lại năm 2011, Malcolm Gladwell cho xuất bản cuốn “Những kẻ xuất chúng“(Outliers). Cuốn sách chia sẻ về cách mà những người thành công nhất trên thế giới đạt được địa vị xuất chúng.
Trong cuốn sách, Gladwell đã tranh luận rằng có một “kim chỉ nam” ở những bậc thầy đẳng cấp thế giới trong các lĩnh vực khác nhau. Đó chính là học thuyết 10,000 giờ.
Nội dung chính của bài viết
Quy tắc 10,000 giờ là gì?
Phần lớn chúng ta khá quen thuộc với quy tắc này. Ngắn gọn mà nói, nó cho rằng để trở thành bậc thầy đẳng cấp thế giới trong mọi lĩnh vực, chúng ta cần luyên tập đúng cách trong 10,000 giờ.
Oh, thử xem nhé, bạn sẽ phải luyện tập có chủ đích trong 40 giờ mỗi tuần. Cần khoảng 52 tuần một năm (không tính những năm nhuận). Vậy, nếu bạn có điều kiện để trở thành người xuất chúng, bạn cần luyện tập 40 giờ mỗi tuần và khoảng 5 năm để thành bậc thầy trong lĩnh vực của bạn.
Cũng dễ hiểu khi Gladwell đã đơn giản hóa ý tưởng của mình để bán được nhiều sách hơn. Mình không có vấn đề gì về điều đó.
Nhưng có nhiều vấn đề cần phải suy nghĩ ở quy tắc 10,000 giờ này.
💖 Đọc ngay kinh nghiệm học lập trình mình đã chia sẻ ở bài trước
Một vấn đề thực sự làm tổn thương những người đang học lập trình.
Một vài năm trở lại đây, phương tiện truyền thông đã thay đổi ý nghĩa thực sự của quy tắc 10,000 giờ này.
Tưởng chừng như một trò chơi trên điện thoại vậy. Họ biến nghĩa của nó từ “mất 10,000 giờ để trở thành một chuyên gia trong một lĩnh vực tiên tiến” sang ” mất 10,000 giờ chỉ để làm tốt một thứ gì đó”.
Nếu bạn muốn thành chuyên gia lập trình viên quốc tế, nghe tới điều này có thể làm bạn thấy chán nản.
Bạn có thể nghĩ rằng “mình sẽ không bao giờ có đủ thời gian để học lập trình” và thay đổi ngay sang những công việc khác.
Điều đó hoàn toàn sai lầm. Hãy cùng tìm hiểu tại sao nhé!
Chia sẻ chút xíu về mình nha. Trước khi bắt tay xây dựng trang web VNTALKING, mình đã từng làm lập trình viên tại nhiều công ty như Samsung, Panasonic…
Mình từng học ngành điện tử viễn thông tại đại học Bách Khoa Hà Nội. Hồi sinh viên, mình đã dành rất nhiều giờ để tìm hiểu kiến thức lập trình cơ bản như thuật toán, cấu trúc dữ liệu…
Việc hiểu các khái niệm nền tảng giúp mình được tuyển dụng vào các công ty. Đó cũng là lí do tại sao mình tập trung nhiều vào kiến thức nền tảng khi chia sẻ các kiến trên VNTALKING
Nhưng khi bước vào công việc lập trình thực sự, mình bắt đầu làm những việc mà chưa bao giờ được trải nghiệm thời sinh viên, có thể kể tới như:
- Sử dụng Ruby, Rails hay Javascript để xây dựng các hệ thống phần mềm lớn.
- Viết các kiểm thử tự động cho phần mềm.
- Làm việc nhóm trên một codebase.
Vậy, tại sao các công ty đó lại tuyển mình khi mình không dành nhiều giờ (chắc chắn là không được 10,000 giờ) để học trước đó?
💖 Đọc thêm: 6 lí do bạn không nên tự học code một mình
Họ thuê mình bởi công ty thuê những người lập trình như một sự đầu tư.
Tại sao lại vậy nhỉ?
Trong buổi phỏng vấn, nhà tuyển dụng sẽ không hỏi rằng bạn đã dành đủ 10,000 giờ để học lập trình hay chưa?
Đó là bởi vì họ không kì vọng bạn sẽ biết mọi thứ trong ngày đầu đâu.
Vậy, vào ngày đầu tiên đi làm, những điều mà các công ty mong đợi ở bạn là gì? Đó là:
- Có kinh nghiệm với việc phát triển ứng dụng web, Algorithm, cấu trúc dữ liệu, Github, kiến trúc MVC, lập trình hướng đối tượng (OOP), phát triển hướng thử nghiệm và kĩ năng làm việc nhóm nhanh nhẹn.
- Cầu tiến, ham học hỏi không?
- Và điều quan trọng nhất: khả năng phát hiện vấn đề.
Khi bạn dành nhiều thời gian hơn vào viết code, bạn sẽ nhận ra rằng: phần lớn các vấn đề đều có thể giải quyết được nếu bạn kiên trì tìm hiểu và nghiên cứu.
Một lập trình viên giỏi thường đặc biệt tốt 3 điều sau:
- Tìm kiếm trên google.
- Tự học những khái niệm mới rất nhanh.
- Có khả năng tự sửa lỗi.
Tất nhiên, sẽ không hề tốn 10,000 giờ để giỏi những kĩ năng đó. Do đó, bạn sẽ không cần 10000 giờ để học lập trình cũng như trở thành một lập trình viên quốc tế.
Cách tốt nhất để đạt mục tiêu là không đếm giờ.
Vậy, nên tiếp tục việc học lập trình như thế nào? Một câu hỏi rất hay. Bài viết dưới đây, mình sẽ viết chi tiết làm thế nào để học code nhanh và hiệu quả nhất, các bạn đón đọc nhé.
- Tự học lập trình hiệu quả, nhanh chóng nhất
- Làm thế nào để học giỏi ngôn ngữ lập trình, thành thạo nhanh?
Đam mê, kiên trì cùng sự trợ giúp của bạn bè và đồng nghiệp, bạn sẽ sớm có được thành công.
Nếu bạn có điều muốn chia sẻ, đừng ngần ngại để lại bình luận bên dưới nhé!
Bình luận. Cùng nhau thảo luận nhé!