Để thành chuyên gia lập trình bạn đâu cần tới 10,000 giờ?

0
17

hoc-thuyet-10000

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 10000 giờ.

Điều đó có lẽ sẽ “khủng bố” tinh thần với những bạn vừa bắt đầu hành trình về code, nhưng đừng quá lo lắng, nó không thực sự hoàn toàn là đú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 thực hiện chính xác quy tắc 10,000 đó.

Bắt đầu thôi chứ nhỉ!

Trở lại năm 2011, khi mà Malcolm Gladwell cho xuất bản cuốn “Những kẻ xuất chúng” (Outliers)-một câu chuyện 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 sắc như vậy.

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ờ

Học thuyết: Quy tắc 10,000 giờ

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 theo đú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 quá ý 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.

Một vấn đề thực sự làm tổn thương những người đang học về code.

Một vài năm trở lại đây, phương tiện truyền thông đã thay đổi nhiều 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. Mọi người thay đổi và tiếp tục thay đổi, 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ì đó”.

hoc-lap-trinh

Nếu bạn là một nhà lập trình tham vọng, nghe những điều này có thể làm bạn thấy chán nản ngay cả trước lúc bắt đầu. Bạn có thể nghĩ rằng “mình sẽ không bao giờ có đủ thời gian để học về 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 và 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. Khi còn ở đó, mình đã dành rất nhiều giờ để tìm hiểu những nguyên tắc cơ bản như thuật toán, cấu trúc dữ liệu và làm việc trên các khái niệm lý thuyết. Việc hiểu các khái niệm cốt lõi cũng là nguyên nhân 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

Đừng bỏ qua:  Hướng dẫn xây dựng ứng dụng thực tế tăng cường(AR) trên Android

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 đại học, có thể kể tới như:

  • Sử dụng Ruby, Rails hay Javascript để bổ sung tính năng và sửa các bugs.
  • 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 đơn.

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 những điều cần làm mỗi ngày trong công việc mới?

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 về code 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. Tất nhiên điều đó sẽ thu hút nhiều đối tượng hơn- sinh viên tốt nghiệp các khóa Bootcamp (khóa học cơ bản chuyên sâu theo dạng hội trại) lập trình trực tiếp hay trực tuyến, người có bằng cử nhân CS và ngay cả những bạn tự học về code.

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 wed, thuật toán, 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ó khả năng cầu tiến, học hỏi không?
  • Và điều quan trọng nhất: khả năng phát hiện vấn đề.

lap-trinh-co-ban

Khi bạn dành nhiều thời gian hơn vào 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 nhà lập trình 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 về code cũng như trở thành một nhà lập trình.

Đừng bỏ qua:  2 năm trở thành nhà phát triển Android đã “tôi luyện” tôi như thế nào?

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 code như thế nào? Một câu hỏi rất hay.  Bài viết sau 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é

Đ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.

Chúc bạn thành công.

BÌNH LUẬN

Please enter your comment!
Please enter your name here