Bước chân trên chặng đường dài

Vấn đề không chỉ là chinh phục được một đỉnh núi chưa từng được biết tới trước đây, mà còn là việc theo dõi, từng bước một, để tìm ra một con đường mới tới đó.

–Gustav Mahler, nhạc sĩ và nhà soạn nhạc

Bạn có các loại giấy chứng nhận đào tạo và thành tích treo quanh phòng không? Khi Dave có văn phòng riêng và thậm chí ít kinh nghiệm hơn cả bây giờ, anh ấy đã chất cả đống giấy chứng nhận gần bàn làm việc của mình. Những chồng giấy được cấp bởi Brainbench chứng nhận việc “làm chủ” ngôn ngữ Perl, và sau đó phát triển lên bao gồm các giấy tờ chứng nhận khác, chứng minh rằng anh đã hoàn thành nhiều khoá đào tạo khác nhau về C, J2EE, Vignette, và ATG Dynamo. Cái chồng nhỏ về những bằng cấp ngụy trang giúp trấn an anh ấy (và tổ chức của mình) rằng anh ấy biết mình đang làm gì. Bởi anh ấy đã được “đào tạo”.

Trong khi đó, Dave đã bắt đầu mở rộng và kết nối với cộng đồng nhà phát triển rộng lớn hơn thông qua các nhóm tin tức http://perlmonks.org và comp.lang.perl*. Chính nhờ trong các nhóm này, anh đã phát hiện ra một số tin tặc Perl đặc biệt. Chuyên môn của các tin tặc rất đáng lo ngại, đặc biệt là vì Dave có thể thấy rằng họ vẫn đang học hỏi, và lại rất nhanh nhạy. Anh dần hiểu ra rằng anh hầu như còn chưa chạm được tới bề mặt của điều được cho là để tạo nên một nhà phát triển phần mềm lớn. Trong những tháng tiếp theo, những đống chứng chỉ đào tạo của anh dần dần biến mất bên dưới một đống giấy nháp lớn hơn và bản in của các cuốn bản thảo và hướng dẫn.

Thông qua quan sát và tương tác của mình với một vài trong số những tin tặc xuất chúng này, Dave đã đam mê với quá trình học tập. Theo định kỳ, anh lại tìm hiểu về chiều sâu và bề rộng của kiến ​​thức của tin tặc và trở nên hoặc nản lòng hoặc có thêm cảm hứng – chán nản vì anh ấy hiểu ít như thế nào, nhưng được truyền cảm hứng bởi chính sức mạnh về năng lực của các tin tặc này. Anh ta hăm hở thực hiện các dự án phụ và bắt đầu đọc bất cứ thứ gì có được trong tay.

Càng học, anh càng nhận ra mình phải đi bao xa nữa. Trong vài năm sau đó, anh đã có may mắn để cộng tác trực tiếp với một số nhà phát triển phần mềm đặc biệt. Dave thấy rằng mặc dù những người này đặc biệt đã vượt xa anh cả dặm về phía trước, thì họ và anh đều đang đi trên cùng một con đường.

Con Đường Dài

“Sẽ mất bao lâu để làm chủ được aikido?” một học viên hỏi. “Bạn mong đợi sống được bao lâu?” là câu trả lời đáng kính trọng duy nhất.

-George Leonard, Mastery

Trở thành người thực sự giỏi nghề lập trình là một công việc suốt đời, một quá trình học tập và luyện tập không ngừng nghỉ.

-Ron Jeffries và những người khác, Extreme Programming Installed.

Mỗi khi bạn tiếp cận trình độ tinh thông gần thêm một bước, đích đến của bạn lại xa đi hai bước nữa. Nắm được sự tinh thông là một nỗ lực cả đời. Hãy học cách yêu cuộc hành trình ấy.

-George Leonard, Mastery

Bối cảnh

Chúng ta sống trong một nền văn hoá coi trọng những người nổi tiếng sau một đêm, những ngôi sao mới nổi, sự giàu có vật chất và những thành quả chóng vánh. Có rất ít lập trình viên có thể cho bạn biết phát triển phần mềm đã từng như thế nào trong quá khứ. Khi bạn nói chuyện với những cựu binh như thế, họ sẽ lắc đầu với xu hướng mới nổi của ngành công nghiệp này, thứ đang lặp lại chính sai lầm mà họ đã thấy trong quá khứ. Những bài học đó dường như đã bị quên lãng vì có quá ít kiến ​​thức được chuyển giao qua các thế hệ của các nhà phát triển phần mềm.

Vấn đề

Bạn mong muốn trở thành một thợ thủ công phần mềm bậc thầy, nhưng khát vọng của bạn mâu thuẫn với những gì mọi người mong đợi từ bạn. Quan điểm truyền thống nói rằng bạn nên chớp lấy công việc được trả lương cao nhất và sự đề bạt thăng tiến đầu tiên, nên hãy ngừng lập trình đi và nhận làm việc quan trọng hơn, hơn là cứ từ từ xây dựng các kỹ năng của bạn.

Giải pháp

Đầu tiên, hãy chấp nhận thực tế là mục tiêu mà bạn muốn trở thành có thể bị coi là hơi kỳ lạ một chút. Thứ hai, giữ sự tập trung của bạn đối với kế hoạch lâu dài. Trong thời gian học nghề, hãy trân trọng cơ hội học tập và trưởng thành lâu dài hơn là tiền lương và những quan niệm truyền thống về lãnh đạo.

Những người mong muốn trở thành bậc thầy về nghề nhất thiết phải lên kế hoạch dài hơi. Hành trình dài (nhưng chưa sáng tỏ) này sẽ mang lại cho bạn một loạt các khả năng phong phú. Bạn sẽ có kỹ năng về học tập, giải quyết vấn đề, và phát triển mối quan hệ thân thiết với khách hàng. Bạn sẽ phải trang bị cả kiến ​​thức lẫn công nghệ giống như là một võ sĩ samurai sử dụng cặp kiếm của mình. Bạn sẽ thấu hiểu và trân trọng hơn những sự thật sâu sắc về nghề phát triển phần mềm. Nhưng tất cả đều sẽ mất một khoảng thời gian.

Bạn nên chuẩn bị cho suốt chặng dài của cuộc hành trình này. Khi bạn vẽ tấm bản đồ riêng, nên giữ trong mình sự kì vọng trở thành một nhà phát triển phần mềm chuyên tâm ngay cả khi đã đứng tuổi. Hãy để mong muốn đó ảnh hưởng đến công việc bạn chọn và tập những mục tiêu bạn muốn đạt được. Nếu bạn vẫn sẽ làm việc trong 20 năm tới, thì bạn có thể làm bất cứ điều gì. Không ai quá xa đến mức bạn không thể đuổi kịp được trình độ của họ, khi mà bạn có cả thập kỷ để trau dồi kỹ năng của mình. Không có doanh nghiệp hoặc miền kỹ thuật nào thực sự khép cánh cửa đối với bạn. Đó hoàn toàn không phải chuyện tào lao, khi ta nhìn vào thực tế với những cá nhân vượt trội như Donald Knuth hay Linus Torvalds và sự nghiệp toàn tâm toàn ý cống hiến của họ. Chiều dài của chuyến đi tăng cơ hội mở ra cho bạn thêm bội phần mà thôi. (À tất nhiên Knuth và Torvalds sẽ không đứng tại chỗ trong khi bạn đang cố gắng bắt kịp họ đâu!)

Mẫu này không dành cho những người có nguyện vọng trở thành CIO hoặc nhà quản lý dự án, hay là trở nên giàu sụ. Trên đường đi, không hẳn là bạn sẽ không nắm quyền hành và trách nhiệm hay thấy mình giàu có. Tuy nhiên, những vai trò và lợi ích đó không phải là động lực chính của người học việc thành công – chúng chỉ đơn thuần là hệ quả của một cuộc hành trình suốt đời. Và thay vì đếm cho tới ngày nghỉ hưu, người thợ sẽ vui vẻ sẵn lòng làm việc cho tới tận những năm tháng cuối của mình.

Chúng tôi không muốn đưa ra ấn tượng rằng tất cả mọi người đều phải theo một con đường duy nhất (xem phần Vẽ Tấm Bản Đồ Riêng) hay đây là con đường đúng đắn cho mọi nhà phát triển phần mềm (xem Một Con Đường Khác). Một số người rời bỏ việc phát triển vĩnh viễn và trở thành giám đốc điều hành, kiểm thử viên, nhân viên bán hàng hoặc quản lý dự án. Một số người rời bỏ công nghệ vĩnh viễn và gia nhập vào các lĩnh vực hoàn toàn khác biệt. Tất cả đều là những con đường hợp lí và mang lại lợi ích, nhưng cuốn sách này và mẫu này không dành cho những người đó.

Nếu một bản tự đánh giá chính xác là những viên đá đặt nền tảng cho việc học việc thành công, thì con đường dài lại là nền tảng. Việc chuyển đổi từ người học việc thành thợ bạn chỉ là bước đầu tiên trong nhiều bước tiến tới con đường làm chủ. Giống như một họa sĩ võ thuật đạt được cấp đai đen, một thợ bạn mới nhận ra rằng anh ta còn phải đi xa hơn bao nhiêu nữa.

Những người phát triển phần mềm đều may mắn. Chúng ta có một con đường phức tạp và sâu sắc, một con đường mà bản chất của nó là thay đổi liên tục. Định luật Moore vận động không ngừng, thường xuyên mở ra những cơ hội mới cho thợ thủ công khám phá các nền tảng mới hoặc thay đổi thứ tự ưu tiên lại các đặc tính của một chương trình đã được thiết lập. Tuy nhiên, có những sự thay đổi rất hời hợt. Các công nghệ mới ra đời thay cho công nghệ cũ, nhưng vẫn giải quyết những vấn đề căn bản giống nhau. Trong khi luôn có phần mềm mới để học tập, và phần cứng tốt hơn chỉ quanh quẩn đâu đây, con đường dài dạy cho thợ thủ công những sự thật sâu sắc hơn về ngành nghề, cho phép các thợ bậc thầy/thợ cả vượt qua các công nghệ cụ thể và đi thẳng vào trọng tâm của vấn đề.

Hành động

Hãy nhắm mắt lại và tưởng tượng ra vai trò lạ lùng nhất dành cho bạn trong vòng 10 năm tới. Hãy vui vẻ nghĩ đến một tương lai điên rồ nhất có thể xảy ra cho chính mình. Sau đó hãy nghĩ đến khoảng 20, 30 và 40 năm sau nữa kể từ bây giờ. Bạn muốn thử những loại trải nghiệm nào? Hãy tưởng tượng rằng 40 năm sau kể từ bây giờ, bạn được yêu cầu viết một bản mô tả ngắn về lịch sử chuyên môn và những thứ đã ảnh hưởng lớn đến con đường của bạn. Sử dụng kết quả từ thử nghiệm đó để giúp bạn hoạch định sự nghiệp trong tương lai của mình.

Bài tiếp: [Học nghề] Thủ công hơn nghệ thuật

Bài trước: [Học nghề] Rút lui với năng lực sẵn có


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.