Một quy tắc 10,000 giờ sẽ không biến bạn thành chuyên gia lập trình, nhưng đó là một bước khởi đầu tốt
Bài viết này ban đầu được xuất bản trên .cult bởi Luis Minvielle. .cult là một nền tảng cộng đồng đặt trụ ở Berlin dành cho các nhà phát triển. Chúng tôi viết về mọi thứ liên quan đến sự nghiệp, tạo ra các tác phẩm tài liệu gốc và chia sẻ nhiều câu chuyện của những nhà phát triển chưa từng được kể từ khắp nơi trên thế giới.
Nếu bạn là một sinh viên Bootcamp, học những kiến thức cơ bản để làm cho mã nguồn hoạt động, bao lâu bạn sẽ trở thành một chuyên gia lập trình phần mềm? Trong cuốn sách bán chạy nhất của mình, Outliers (2008), tác giả người Canada Malcolm Gladwell đã nổi tiếng đưa ra Quy tắc 10,000 giờ — một nguyên tắc để xác định bao lâu ai đó nên luyện tập trước khi trở thành một chuyên gia và người thành công trong bất kỳ lĩnh vực nào.
Theo lý do của Gladwell, The Beatles trở thành một ban nhạc trực tiếp sẵn sàng cho sự thành công vì họ đã tích lũy khoảng mười nghìn giờ biểu diễn trực tiếp bằng cách trình diễn những bài hát ồn ào trong các câu lạc bộ đêm của thành phố Hamburg vào đầu những năm 60.
Hơn nữa, Bill Gates trở thành một mã lập trình viên tài năng — trong số 50 lập trình viên xuất sắc nhất thế giới của thời đại ông — vì ông đã đầu tư mười nghìn giờ đầu tiên để làm cho mã nguồn của mình hiệu quả, nhanh chóng và không lỗi. Ông làm như vậy khi còn rất trẻ — là một thiếu niên, ông lẻn vào phòng máy tính của trường trung học và tự học các kiến thức cơ bản và cái nhìn về lập trình. Đến khi ông thành lập Microsoft, Bill Gates chỉ là một doanh nhân mới bắt đầu, nhưng đã là một nhà phát triển chứng chỉ 10k.
Sự đơn giản hấp dẫn của quy tắc — và sở thích của Gladwell trong việc tóm tắt các chủ đề phức tạp thành khẩu hiệu dễ theo dõi — đã biến nó trở thành một tiêu chuẩn bền vững đối với việc học và đối với việc thành công. Ngay cả Paul McCartney cũng tham gia và nói rằng có “rất nhiều sự thật trong đó.”
Nếu chúng ta áp dụng điều tra của ông Gladwell và áp dụng quy tắc vào sự nghiệp của một lập trình viên, chúng ta có thể có một cách dễ dàng để hiểu bao lâu nó sẽ mất để trở thành một lập trình viên chuyên nghiệp — và nó cũng có thể cung cấp một tờ gian lận để hiểu khi nào bạn nên yêu cầu tăng lương như là một nhà phát triển cấp trung.
Từ bootcamp đến chuyên gia
Vì mục đích của bài tập này, hãy giả sử Quy tắc 10,000 giờ rất chính xác (bạn đọc cảnh báo: có vẻ như
Nhưng đó chỉ là sự bắt đầu. Trong năm 2020, 79% cựu sinh viên bootcamp đã có việc làm trong sáu tháng sau khi hoàn thành khóa học. Và công việc — hoặc có lẽ một phòng máy tính ở trung học — có thể là nơi tốt nhất để thực hành kỹ năng lập trình của bạn.
Vậy là, trở thành một lập trình viên chuyên nghiệp phải là một hành trình dài, nhưng bao lâu? Tính đến một ưu đãi 350 giờ và kịch bản nghỉ tám tháng (tích cực), bạn có thể tính toán ngay lập tức.
Nếu bạn có được một công việc ở bất kỳ công ty nào như một nhà khoa học dữ liệu, và lập trình và hoàn thiện kỹ năng của bạn tám giờ mỗi ngày, năm ngày mỗi tuần, thì bạn sẽ đạt được mốc mười nghìn giờ vào... khoảng năm năm rưỡi. Không phải là điều dễ dàng, nhưng cũng không phải là chặng đường dài nhất!
Tôi là một kỹ sư có 3840 giờ kinh nghiệm, và tôi xứng đáng được tăng lương
Không, xin đừng nói như vậy với sếp của bạn. Nhưng vì mức lương thường được định nghĩa dựa trên một hệ thống phân loại chung, đạt được 3,840 giờ làm lập trình viên có thể có nghĩa là bạn đã sẵn sàng yêu cầu tăng lương hàng tháng.
Bạn có thể làm bao nhiêu điều trong 3,840 giờ? Để bắt đầu, bạn có thể xem The Matrix Resurrections hơn 1,500 lần, hoặc xem lại mọi trận chung kết Champions League gần bốn mươi lần. Nhưng quan trọng nhất, nếu bạn đạt được 3,840 giờ làm lập trình viên, điều đó có nghĩa là bạn đã dành ít nhất hai năm để thực hành, làm việc và hoàn thiện kỹ năng lập trình của mình, và ngành công nghiệp công nhận sự tiến bộ của bạn.
Đến thời điểm này, bạn không còn là một kỹ sư mới nữa — hãy tự tin gọi mình là một kỹ sư cấp trung. Như chúng tôi đã đề cập trước đó, có 2–3 năm kinh nghiệm làm lập trình viên có nghĩa là bạn có thể hướng đến một mức lương khoảng 80–90 nghìn đô la (tại Hoa Kỳ).
Quy tắc 10,000 giờ làm cho việc tính toán đến đâu bạn đã tiến xa trong hai năm trở nên đơn giản: vì chúng ta đang nói về 3,840 giờ trên một mục tiêu 10,000 giờ, chúng ta có thể nói rằng, khi bạn đã hoàn thành hơn một phần ba con đường dự kiến đến sự thành thạo, bạn đã là một kỹ sư cấp trung.
Cột mốc kỹ sư cấp cao
Nếu bạn là một kỹ sư cấp cao, điều đó có nghĩa là bạn biết cách trở thành một chuyên gia và một người mới bắt đầu cùng một lúc: người cao cấp được kỳ vọng khám phá ngôn ngữ lập trình mới hoặc khái niệm mà không do dự. Điều này cũng có thể có nghĩa là hộp thư đến LinkedIn của bạn đang bùng nổ theo giờ: ở Hoa Kỳ, theo Cơ quan Thống kê Lao động, gần như 98% kỹ sư phần mềm cấp cao đã có việc làm.
Hơn nữa, 37% kỹ sư phần mềm cấp cao thường ở lại cùng một công ty chỉ một hoặc hai năm. Các số liệu phản ánh nhu cầu cao mà thị trường đang có — cả trong các lĩnh vực tư nhân và công cộng — đối với những nhà phát triển phần mềm có kinh nghiệm toàn diện. Nếu bạn là một kỹ sư cấp cao, có khả năng bạn sẽ nhận được đề xuất việc làm hàng chục trong một năm.
Và một người nên lập trình bao lâu trước khi trở thành một kỹ sư phần mềm cấp cao? Trung tâm nghiên cứu dường như đồng thuận về số năm cần thiết: bạn sẽ trở thành một kỹ sư cấp cao khi bạn đạt được, ít nhất, năm năm làm lập trình viên.
Đúng: năm năm, cũng như mất thời gian để vượt qua mục tiêu mười nghìn giờ. Quy tắc của ông Gladwell phản ánh rất sát với các tiêu chuẩn của ngành công nghiệp. Ông Gladwell táo bạo khẳng định rằng việc thực hành nhiều như vậy không chỉ cho phép bạn trở thành chuyên gia: ông cho rằng việc thực hành cũng sẽ dẫn đến thành công.
Vậy nên, theo ông ta, nếu bạn lập trình như một con thú trong năm năm, bạn có thể tích luỹ khoảng mười nghìn giờ “thời gian bay” — và bạn sẽ sẵn sàng để thành công. Nếu có gì, mức lương của bạn vào thời điểm này nên là khoảng 110 nghìn đô la, hoặc thậm chí nhiều hơn nếu bạn làm việc ở Silicon Valley.
Tóm tắt
Vẻ đẹp của Quy tắc 10,000 giờ của Gladwell là nó khớp hoàn hảo với sự nghiệp lập trình: nếu chúng ta tuân theo quy tắc mù quáng, thì trở thành một nhà khoa học dữ liệu xuất sắc, một nhà phát triển trang web chuyên nghiệp hoặc một lập trình viên ninja xuất sắc sẽ mất cùng một khoảng thời gian, khoảng năm năm. Ngành công nghiệp dường như phản ứng với sự trùng hợp này bằng cách tăng lương tốt hơn theo thời gian — và khi kiến thức chuyên sâu của bạn mở rộng.
Tự nhiên, sự nghiệp chuyên nghiệp đi kèm với những thăng trầm. Bạn có thể dành chỉ ba giờ mỗi ngày lập trình, điều này sẽ đẩy mục tiêu mười nghìn giờ gần như lên mười năm. Ngoài ra, bạn có thể dành thời gian cho dự án đam mê và tích luỹ lượng giờ đó sớm hơn so với năm năm.
Tuy nhiên, góc nhìn thay thế từ phân tích này là bạn cách xa chỉ một năm nữa là trở thành điều mà hầu hết các đội nhân sự đánh giá là “Cấp cao.” Và nếu lý thuyết chứng minh là đúng, thì bạn cũng chỉ cách thành công chuyên nghiệp một khoảng năm nữa.