Học về những gì chúng ta không biết thường quan trọng hơn làm những điều chúng ta đã biết làm thế nào.

-Jim Highsmith, Agile Software Development Ecosystems

Bối cảnh

Bạn đã chọn một bộ các kỹ năng cơ bản.

Vấn đề

Sự hiểu biết của bạn về phát triển phần mềm là hạn hẹp và chỉ tập trung vào các chi tiết cấp thấp trong công việc hàng ngày của bạn.

Giải pháp

Bạn vẫn đang học việc một cách vừa phải và ổn định. Nhưng có những thời kì đang học nghề, người ta bắt buộc phải tiếp nhận lượng thông tin quá tải có sẵn cho hầu hết các nhà phát triển phần mềm. Phát triển khả năng của bạn để tiếp nhận thông tin mới là một bước đi đặc biệt quan trọng, mặc dù đôi khi là quá tải,đối với người học việc. Bạn phải phát triển kỷ luật và các kỹ thuật cần thiết để thu nhận thông tin mới hiệu quả, cũng như để hiểu, nắm được và áp dụng thông tin đó. Mẫu này có ý nghĩa nhiều hơn là đọc một cuốn sách về một khía cạnh không quen thuộc của ngành phát triển phần mềm. Nó bao gồm việc tìm hiểu những kiến ​​thức và kinh nghiệm mới ở nhiều khía cạnh. Ví dụ như:

  • Đăng ký Google Reader (hoặc một trình tổng hợp blog khác) và bắt đầu đăng ký theo dõi những blog về phát triển phần mềm. Với công nghệ dịch bằng máy hiện đại, bạn thậm chí không phải giới hạn mình trong phạm vi những bài viết bằng tiếng Anh. Bạn có thể làm theo lời khuyên của Tim O’Reilly và theo dõi blog của những người ông gọi là “các chuyên gia” trên nhiều lĩnh vực công nghệ[1]. Những người này không nhất thiết phải là những người lập trình giỏi nhất, nhưng nhìn chung họ có khuynh hướng nắm bắt xu hướng mới, đi trước rất nhiều năm so với chúng ta. Hãy xem xét sử dụng blog của riêng bạn để phản ánh về các chủ đề mà bạn tham khảo được từ các blogger này.
  • Bắt đầu theo dõi một số người có ảnh hưởng lớn về phần mềm trên Twitter và chú ý đến những gì họ đang làm.
  • Đăng ký một danh sách email có lưu lượng truy cập cao và cố gắng trả lời những câu hỏi của mọi người bằng cách tái tạo lại các vấn đề của họ.
  • Tham gia vào một nhóm người dùng địa phương mới thành lập, những người rất hứng khởi với công nghệ mới. Đừng chỉ lặng lẽ xuất hiện – hãy giới thiệu bản thân với nhà tổ chức và đề nghị giúp đỡ.
  • Hãy thuyết phục cấp trên của bạn cử bạn đến một hội nghị kỹ thuật. Thậm chí nếu như họ không trả phí tham dự cho bạn, bạn vẫn có thể đọc các trang trình bày trên trang web và tải xuống các file âm thanh / video của bài phát biểu.
  • Sau khi bạn đọc một cuốn sách, liên hệ với tác giả để thể hiện sự cảm kích, đồng thời đưa ra một câu hỏi. Các tác giả, diễn giả, và những người có uy tín lớn trông có vẻ như họ rất đáng sợ hoặc bận rộn, nhưng họ thường thích trao đổi với độc giả.
  • Đừng quên rằng có hàng trăm các khóa học trực tuyến, podcast và video (chẳng hạn như loạt bài Nói chuyện về Kỹ thuật của Google) được cung cấp miễn phí qua iTunes và YouTube.

Vì những ưu tiên trong sự thay đổi về việc học nghề của bạn, cuối cùng bạn cần phải tạm dừng việc học những kiến thức quá tải kia, để bạn có thể tập trung vào công việc dự án. Nhưng phải có ít nhất một thời điểm trong thời gian học nghề của bạn, mà khi đó bạn sử dụng mô hình này. Điều này không chỉ quan trọng bởi những kiến thức bạn sẽ nhận được trong thời gian này, mà bởi vì bản thân nó thực sự là một kỹ năng cần được phát triển. Những người thợ bạn và thợ cả tìm ra những cơ hội mà mẫu này có thể được sử dụng để thúc đẩy sự nghiệp và nghề của họ, đặc biệt là khi họ muốn nắm bắt được một công nghệ mới.

Dave và vòi nước chữa cháy

Khi được trao cơ hội để tìm hiểu về Perl vào cuối năm 2000, tôi đã bắt đầu mở băng thông của mình ngay lập tức. Tôi cảm thấy như tôi đã có rất nhiều điều cần phải bắt kịp, vì vậy sau khi tôi đọc một vài cuốn sách về Perl, tôi đã tìm kiếm mọi cơ hội để có thể để tìm hiểu thêm. Tôi đã quyết tâm đạt đến trình độ tiếp theo là một nhà phát triển Perl nhanh nhất có thể, và biết rằng chỉ đọc một cuốn sách mỗi lần thì sẽ không đủ nhanh (thôi được rồi, vì tôi là người có tính cạnh tranh, bạn hiểu chứ?). Vì vậy, tôi đã tham gia http://perlmonks.org, hỏi và trả lời câu hỏi về comp.lang.perl.misc, tham dự một vài cuộc họp Perl Mongers, và bắt đầu chơi Perl Golf (phải, một cách đầy cạnh tranh). Sau khoảng một năm, tôi đã phải giảm lượng dung nạp để dành chỗ cho sự tỉnh táo và hôn nhân của mình. Nhưng tôi đã có tiến bộ, và có tôi có rất nhiều nguồn tài nguyên luôn sẵn sàng khi tôi cảm thấy mình bị bế tắc.

Sau đó, vào mùa xuân năm 2002, tôi đọc cuốn Extreme Programming Explained của Kent Beck và thấy một cơ hội phát triển vượt ra ngoài Perl để vào thế giới phát triển với trọng tâm hướng vào việc kiểm thử, lập trình theo cặp, thiết kế hướng đối tượng và các mẫu thiết kế. Một lần nữa, tôi mở rộng năng lực của mình và đọc những cuốn sách tuyệt vời, bắt đầu tham dự một nhóm người dùng phát triển phần mềm linh hoạt địa phương, trả tiền cho hội nghị XP / Agile Universe (may mắn thay được tổ chức gần nhà tôi năm đó), bắt đầu đọc các blog có liên quan, và rồi bắt đầu viết blog. Kết quả của đợt mở rộng băng thông này đã giúp tôi kiếm được công việc tại ThoughtWorks, một công ty tư vấn phát triển phần mềm linh hoạt xuyên quốc gia. Sự nghiệp và việc học nghề của tôi đã được thay đổi liên tục bởi những cơ hội học tập mà ThoughtWorks đã trao cho tôi.

Khi chuyển từ người học việc sang thợ thủ công vào cuối năm 2005, tôi nhìn thấy một cơ hội khác sắp diễn ra:  Ruby on Rails đang phát triển. Điều này cho phép tôi tham gia vào Obtiva, một công ty tư vấn địa phương phù hợp với lối sống của tôi hơn, nơi tôi đã thành lập nên studio phần mềm của Obtiva và bắt đầu chương trình học nghề của Obtiva.

Một khi bạn hiểu làm thế nào để Mở Rộng Năng Lực của mình, bước tiếp theo là hiểu được khi nào là lúc để làm điều đó. Việc trở nên bị ám ảnh bởi thu thập và tiêu thụ thông tin mới là điều có thể xảy ra, đặc biệt là khi việc đạt được những suy nghĩ mới nhất về những nhà tư tưởng phong phú nhất trong ngành của chúng ta ngày càng trở nên dễ dàng hơn. Một số người có thể bị lạc trong biển thông tin thú vị, và không bao giờ thật sự trở lại với nghề phần mềm. Trong khi bản thân Mở Rộng Năng Lực của bạn có thể là một kỹ năng mang lại nhiều vui thích và rất thú vị, đối với người học việc đó lại là một phương tiện để đạt được mục đích cuối cùng.Sử dụng mô hình này một cách thận trọng, trong khi nó sẽ đẩy nhanh quá trình học tập của bạn, nó cũng sẽ làm chậm tốc độ phát triển của bạn, và vì vậy hiệu suất sẽ giảm dần nếu áp dụng hơn một vài tháng.

Hành động

Tham dự vào một nhóm người dùng địa phương trong tháng tiếp theo. Nghiên cứu một hội nghị quốc gia có liên quan mà bạn muốn tham dự. Bắt đầu đọc một cuốn sách của một trong những người thuyết trình tại hội nghị. Liên hệ với tác giả với một số câu hỏi sau khi bạn đã đọc xong cuốn sách.

[1] Tim O’Reilly, “Xem ‘Alpha Geeks ‘: Hệ điều hành X và Điều To Lớn tiếp theo. Xem tại: http://www.linuxdevcenter.com/pub/a/mac/2002/05/14/oreilly_wwdc_keynote.html.

Bài tiếp: [Học nghề] Thực hành, Thực hành, Thực hành

Bài trước: [Học nghề] Quét Nhà


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.