Hãy coi chừng những kẻ hay gièm pha. Chúng ta có thể gặp những tình huống, đồng nghiệp hoặc người trong xã hội sẽ cố chứng minh rằng lập trình… là một nghề không làm được lâu, rằng làm phần mềm là việc của những sinh viên vừa tốt nghiệp, chứ tới lúc có gia đình rồi thì đừng mong theo đuổi .

-Manhan Radhakrishnan, bình luận

Bối cảnh

Bất kỳ người chủ lao động nào cũng chỉ có thể cung cấp một tập nhỏ và giới hạn trong số tất cả các con đường nghề nghiệp có thể có.

Vấn đề

Không có con đường nghề nghiệp nào mà người chủ lao động của bạn cung cấp phù hợp với bạn.

Giải pháp

Hãy xác định một bước đi tiếp theo hợp lý nhưng đầy tham vọng cho sự nghiệp của bạn. Hiểu rằng nó không phụ thuộc vào sự giúp đỡ từ người chủ lao động, cố vấn nghề nghiệp, hay các giáo sư của bạn. Đi đến bước tiếp theo đó và lập kế hoạch kĩ lưỡng để cuối cùng đến được cái đích cuối cùng là trách nhiệm của chính bạn. Khi đã xác định được bước đi tiếp theo trên con đường nghề nghiệp của chính mình, hãy hình dung các bước nhỏ và tạm thời mà bạn cần thực hiện để tiến lên phía trước.

Điều cực kì quan trọng là bạn phải thực hiện bước đi đầu tiên, ngay cả khi trông nó chỉ là một bước nhỏ không đáng kể. Bước đầu tiên sẽ tạo ra động lực để giúp bạn đạt được mục tiêu của mình. Sự sẵn lòng của bạn để thực hiện bước đầu tiên đáng sợ ấy (và tất cả các bước khác sau này), ngay cả khi không có một kế hoạch hoàn hảo nào, biến lối đi riêng của bạn từ giấc mơ ban ngày trở thành hiện thực.

Thay vì chỉ đơn giản liệt kê ra các mục tiêu lớn lao, hãy cố gắng đặt ra các mục tiêu nhỏ, và có khả năng theo đuổi. Những bước nhỏ này sẽ cung cấp những phản hồi mà bạn có thể sử dụng để sửa đổi bản đồ của mình, đồng thời chúng cũng giúp bạn dễ dàng nhận được sự trợ giúp từ những người cùng chí hướng trên đường đạt đến mục tiêu. Nói tóm lại, tuy không ai có thể giúp bạn trở thành cái mà Paul Graham gọi là “một tin tặc tuyệt vời”, nhưng họ có thể chỉ cho bạn những tài nguyên giúp bạn học lập trình Lisp hay Unix socket hay đại loại thế, nếu bạn đã có mục tiêu rõ ràng về chúng.

Nếu bạn nhận ra rằng tầm nhìn của bạn về chính bản thân không phù hợp với tầm nhìn của chủ lao động đối với bạn và dường như không có cách nào để dung hòa những sự khác biệt này, hãy thử xem xét lại để xem chúng có đi đúng hướng hay không. Hãy nhớ rằng, không có con đường duy nhất nào cho tất cả người học việc. Thay vào đó, những người học việc thành công đều đi theo những con đường có một vài điểm tương đồng. Những tương đồng này không xảy ra bởi những người học việc bị dẫn dắt kiên định không gì lay chuyển được bởi những người cố vấn của họ để đưa ra những quyết định giống nhau. Chúng xảy ra vì mỗi học viên, có ý thức hay không, chọn con đường đời của mình dựa trên nhiều giá trị sống tương đồng.

Bạn nên liên tục đánh giá lại bản đồ của mình khi hoàn cảnh và các giá trị thay đổi. Đôi khi bản đồ của bạn sẽ giống với những bản đồ khác xung quanh bạn, và đôi khi bản đồ của bạn lại yêu cầu bạn vẽ nên những con đường đi hoang dã khác biệt của riêng bạn. Một số người học việc mà chúng tôi nói chuyện cùng đã phát hiện ra rằng việc trở nên cởi mở về các bản đồ hiện tại của họ đã giúp họ tìm ra những người cùng chí hướng, đồng thời duy trì mối quan hệ tốt đẹp với những ông chủ hiện tại và trong quá khứ. Hằng số duy nhất là tấm bản đồ luôn luôn thuộc về bạn, và bạn có thể vẽ lại nó bất kỳ lúc nào.

Sử dụng động lực bền vững và sử dụng chức danh của bạn để ngăn chặn việc chức danh và mức lương hiện tại của bạn làm hạn chế những điểm đến có thể có trên bản đồ của bạn. Nếu bạn cần phải chuyển sang một vai trò ít ấn tượng hơn để đi đúng hướng theo tấm “bản đồ” của mình, hãy xem xét con đường dài và so sánh tính quan trọng tương đối của chức danh và số tiền lương ấn tượng (nhưng ngắn hạn) để làm việc trong một công ty phù hợp hơn với mục tiêu của bạn và sẽ dẫn bạn đến vị trí cao hơn về lâu về dài.

Desi vẽ bản đồ riêng

Tôi đã làm việc tại một công ty khởi nghiệp, làm tất cả các loại công việc bao gồm quản lý cơ sở dữ liệu, quản trị hệ thống, đảm bảo chất lượng, kiểm soát nguồn, và thậm chí quản lý một số dự án. Vai trò thay đổi qua nhiều năm và sau một thời gian tôi bắt đầu cảm thấy ngứa tay và muốn thử lập trình lại. Tôi bắt đầu với các tập lệnh của SQL, Perl, và một số tập lệnh của Shell. Những tập lệnh này xoay quanh tất cả các nhiệm vụ khác mà tôi đã đề cập ở trên. Tôi nhận ra rằng lâp trình thực ra thú vị khi bạn có thời gian để học những gì bạn đang làm và không có áp lực từ một lớp học thực tế. Tôi đã hài lòng với điều này trong một thời gian nhưng áp lực từ ông chủ lên tôi khi muốn trở thành định hướng hệ thống bắt đầu xung đột với mong muốn của tôi là theo hướng phát triển. Tôi đã mất đi động lực cho việc lập trình vì công việc của tôi đòi hỏi học và làm những thứ khác. Tôi đã nản lòng vì đó không phải là công việc tôi muốn làm nhưng tôi cảm thấy rằng tôi đã khiến bản thân mình bị mắc kẹt ở đó rồi. Tôi muốn bỏ lại đằng sau hoạt động sản xuất và quản trị hệ thống hoặc ít nhất là chỉ làm điều đó như là một hiệu ứng lề của việc viết code, nhưng công ty mà tôi đang làm việc sẽ không cho phép tôi thực hiện điều đó. Tôi đã có một thời gian khó khăn để tìm một công việc với vai trò là một nhà phát triển vì thực tế là tôi rời khỏi trường học được 4 năm nhưng không có kinh nghiệm lập trình thực sự. Tôi rời công ty đó để đi đến một công ty khác và tiếp tục với vai trò quản lý cấu hình. Tôi bắt đầu thử giới thiệu Perl cho công ty mới này, và tôi đã gặp phải một sự phản kháng rất lớn. Tôi nhận ra rằng tôi sẽ phải thực hiện một động thái khác bởi vì mong muốn viết code trong tôi ngày càng trở nên mạnh mẽ hơn. May mắn thay, ThoughtWorks đã quyết định trao cho tôi một cơ hội.

-Desi McAdam, email

Chris thúc đẩy giới hạn học tập

Tại trường Intrado, Dave Oberto đã dạy tôi tất cả những gì tôi biết về SQL. Ông là người dẫn đầu về Migration, và tôi là người dẫn đầu về kiểm thử, và ông là một lập trình viên tuyệt vời. Frank DeSuza đã dạy tôi tất cả những gì tôi biết về C, số học con trỏ (pointer arithmetic), và tất cả những thứ gần với máy móc. Chúng tôi thường thuê hợp đồng một người có tên là Doug, người đã dạy tôi tất cả những gì tôi biết về thiết kế phần mềm. Tôi đã học được rất nhiều điều khi làm việc ở đó. Điều này đã làm phiền những người xung quanh tôi. Cuối cùng, tôi bỏ đi khi người ta nói thẳng ra rằng tôi sẽ không được phép học thêm nữa, và trong khi tôi đã rất thành công bằng việc vượt ra ngoài phạm vi bản mô tả công việc của mình và phá vỡ ranh giới giữa người kiểm thử và nhà phát triển, thì vẫn có những giới hạn – tôi đã không thể học thêm về lập trình ở đó. Và vì thế mà tôi đã rời đi.

-Chris McMahon, email

Những câu chuyện trên đây chỉ ra những ưu tiên của Desi và Chris. Họ sẽ không cho phép kỳ vọng của một công ty hoặc văn hoá chắn ngang con đường trở thành một lập trình viên giỏi hơn của họ. Những câu chuyện này đặc biệt phù hợp với quản trị viên hệ thống và các chuyên gia kiểm thử khi họ mong muốn trở thành nhà phát triển. Có quá nhiều tổ chức đã kìm hãm người khác và lựa chọn cách tiếp cận thiển cận cho nhân viên (hay là “nguồn tài nguyên”) của họ. Nghĩ về Desi đơn giản là một “sysadmin” (người quản trị hệ thống) thì dễ quản lý hơn là nhận ra rằng Desi là một người mong muốn trở thành một lập trình viên giỏi. Một số tổ chức sẽ có thể đoàn kết lại để đạt được những mục tiêu táo bạo mà họ đặt ra cho chính mình. Những tổ chức khác thì không. Nếu đây là điều xảy ra ở tổ chức của bạn, bạn cần bắt đầu tìm nơi khác bằng cách mở rộng năng lực và tìm kiếm cố vấn, những người có thể hướng dẫn bạn.

Hành động

Liệt kê ba công việc bạn nghĩ rằng có thể làm theo sau công việc hiện tại của mình. Sau đó, liệt kê tiếp ba công việc mà mỗi một công việc đó có thể dẫn đến. Hãy xem xét kỹ lưỡng tất cả 12 công việc đó. Đây thật sự có phải là tất cả các công việc mong muốn trong vài năm tới của cuộc đời bạn không? Có thiếu điều gì đó không? Mở rộng sơ đồ này bằng cách thêm ba công việc cho từng việc trong số chín công việc mà bạn vừa mới bổ sung. Điều này sẽ làm tăng số lượng công việc trong sơ đồ của bạn lên tới 27. Hãy tự hỏi mình liệu những công việc này có đại diện nhiều hơn cho các lựa chọn nghề nghiệp mà bạn có và những nơi mà bạn muốn thực hiện sự nghiệp của mình không. Điều đang hạn chế các lựa chọn của bạn là gì?

Nếu bạn vẫn chưa hài lòng với sơ đồ này, hãy lặp lại bài tập với các công việc khác nhau, có thể trong các lĩnh vực kinh doanh hoặc công nghệ khác nhau. Sau đó, thử làm một lần nữa và xem những gì sẽ xảy ra nếu bạn buông lỏng ra một trong những điều hạn chế mà bạn đã luôn luôn chấp nhận. Điều gì sẽ xảy ra nếu bạn sẵn sàng chuyển sang một quốc gia khác, có bằng cấp mới hoặc học một ngôn ngữ con người/ lập trình mới? Nếu như bạn bắt đầu kinh doanh riêng thì sao? Điều gì sẽ xảy ra nếu doanh nghiệp chỉ sử dụng phần mềm như là một phương tiện để kết thúc? Có nhiều khả năng hơn là bạn nghĩ.

[1]http://apprenticeship.oreilly.com/wiki/show/draw_your_own_map (must register and log in)

Bài tiếp: [Học nghề] Sử dụng chức danh

Bài trước: [Học nghề] Nuôi dưỡng đam mê