Bất cứ ai đã từng nhìn thấy một lập trình viên đang làm việc… đều biết rằng bản thân việc lập trình, nếu người lập trình được trao cơ hội làm việc theo cách của mình, chính là động lực lớn nhất trong việc lập trình.

– Jerry Weinberg, The Psychology of Computer Programming

Bối cảnh

Là một người học việc, bạn phải phát triển các kỹ năng về kỹ thuật của mình. Vì lý do này, bạn thường sẽ thấy mình làm việc trong những tình huống rối rắm của các dự án được mô tả mơ hồ và những khách hàng với những yêu cầu hay thay đổi và đầy mâu thuẫn.

Vấn đề

Làm việc với các dự án trong thế giới thực thì khắt khe, đôi khi tẻ nhạt, mệt mỏi, thường gây bực bội, và thường xuyên quá hỗn độn hay bị kìm hãm nhiều.

Giải pháp

Phải đảm bảo rằng động lực làm việc của bạn sẽ phải thích ứng và tồn tại được qua các thử thách và khó khăn trên con đương dài.

Sẽ có những ngày, tuần, hay tháng bạn thấy yêu công việc của mình. Bạn sẽ cười khúc khích một mình trong sự ngạc nhiên rằng mình lại được trả công để phát triển phần mềm. Phần mềm bạn viết sẽ nhẹ nhàng đi từ tâm trí tới các ngón tay của bạn, đẹp đẽ cả về chức năng và thiết kế. Đó là những ngày tốt đẹp và diệu kỳ. Hay nói cách khác, đó không phải là những ngày bình thường của bạn.

không có nhiều điểm chung giữa loại phần mềm kiếm tiền và các loại phần mềm thú vị để viết… Nếu muốn kiếm tiền, bạn sẽ phải làm việc với những vấn đề quá rắc rối, không ai có thể giải quyết một cách miễn phí được 

-Paul Graham, tin tặc & họa sĩ

Như Paul Graham đã nói một cách chính xác, công việc lập trình điển hình sẽ khiến bạn phải đối mặt với những vấn đề tẻ nhạt, mơ hồ, và phức tạp một cách không cần thiết. Rất tệ, rất khó chịu. Và hơn thế nữa, bạn cũng có thể phải đối mặt với thói quan liêu, những người khó tính, và lề lối lãnh đạo không đồng nhất xuyên suốt. Sẽ có những ngày, tuần, hay tháng khi bạn hoài nghi cam kết gắn bó của mình đối với nghề. Khi bạn phải đối mặt với những vấn đề như vậy, điều quan trọng là động lực cho lập trình của bạn phải song ứng với bước đi trên con đường dài. Dưới đây là một vài ví dụ minh họa:

  • Bạn ghét công việc lập trình và động lực chủ yếu là tiền. Bạn thấy mình đang tập trung vào việc phấn đấu lên các vị trí cao trong công ty hơn là nâng cao tay nghề. Nhưng đồng thời bạn cũng có động lực là danh tiếng trên cương vị một chuyên gia công nghệ, và điều này cho phép bạn chịu đựng đủ lâu cho tới khi tình hình công việc của bạn được cải thiện.
  • Động lực chủ yếu của bạn là sự yêu thích với lập trình, nhưng cũng có những tháng ngày mà bạn không thể cảm nhận được tình yêu này. Bạn nghiêm túc cân nhắc chuyện bỏ nghề. May mắn thay, bạn cũng có động lực là tiền, và bạn nghĩ rằng lập trình là lựa chọn tốt nhất của bạn về mặt tài chính ngay bây giờ. Bạn gắn bó với nghề vì tiền và cuối cùng tình yêu của bạn dành cho lập trình lại trở về.
  • Công việc của bạn về các dự án nguồn mở được thúc đẩy chủ yếu bởi mong muốn xây dựng danh tiếng. Mặc dù dự án của bạn cung cấp giá trị cho người dùng trên khắp thế giới, nhưng địa vị là một tin tặc của bạn vẫn còn giữ nguyên và bạn đang cân nhắc từ bỏ công việc này. Tuy nhiên, niềm tin của bạn vào tầm quan trọng của phần mềm miễn phí giúp bạn tiếp tục công việc này. Các dự án của bạn cuối cùng cũng phát triển rực rỡ và danh tiếng của bạn được nâng lên.

Một số lập trình viên đã vô tình bị mắc kẹt bởi chính động lực của mình. Trong More Secrets of Consulting (Những bí mật của nghề Tư vấn), Dorset House, Jerry Weinberg gọi hiện tượng này là Ổ khóa Vàng: “Tôi muốn học cái gì đó mới, nhưng những gì tôi đã biết thì lại được trả hậu quá”. Nguy cơ của Ổ khóa Vàng đã làm nổi bật tầm quan trọng của việc song hành động lực của bạn với con đường dài, thứ đòi hỏi phải có hoài bão đạt được sự tinh thông trong nghề. Mong muốn nắm được sự tinh thông nên là động lực thúc đẩy bạn phải cảnh giác với những Ổ khóa Vàng vì chắc chắn chúng sẽ xuất hiện. Khi bạn tiến bộ trong nghề, rồi bạn sẽ phải đối mặt với những quyết định khó khăn, để xác định bạn có quyền tự do ở lại với con đường dài hay không, hay là sẽ mắc kẹt trong một Ổ khóa Vàng. Có hai ví dụ:

Obie Fernandez là một lập trình viên xuất sắc có danh tiếng với chuyên môn về lập trình Java. Obie đã có một quyết định cần thực hiện trong năm 2005: tiếp tục phát triển vị thế chuyên gia Java, hay tìm hiểu một khung web mới đầy hứa hẹn (Rails) với một ngôn ngữ không quen thuộc (Ruby). Obie đã quyết định tập trung vào việc học tập để mở rộng bộ công cụ của mình. Đó chính là biểu hiện của một thợ thủ công. Anh đặt sang một bên sự an toàn về danh tiếng Java, và trở thành một người mới bắt đầu với ngôn ngữ Ruby, tránh đi một Ổ khóa Vàng. Ngạc nhiên thay, quyết định này cho phép Obie thăng chức còn cao hơn hẳn với vị trí chuyên gia Java trước đây, và cuối cùng dẫn đến việc anh thành lập công ty phát triển ứng dụng web Hashrocket.

Đôi khi, Marten Gustafson tìm thấy chính mình giữa những lúc nước rút của dự án bởi vì niềm đam mê của anh đối với nghề khiến anh bỏ hết thời gian và công sức của mình vào nó. Marten không phải là lập trình viên trẻ tuổi đầu tiên và cũng không phải là người cuối cùng tự ném mình vào cái hố không đáy này với ý tốt là hóa giải cho một tình thế khó khăn. Nếu bạn đang đi trên con đường dài nhằm đạt được sự tinh thông, điều quan trọng là bạn phải nuôi dưỡng sự đam mê cho nghề thủ công phần mềm, đồng thời cân bằng nó với các khía cạnh khác của cuộc sống. Đương nhiên, sẽ có những lúc cán cân sẽ nghiêng theo hướng này hay hướng khác. Tuy nhiên, bạn nên có ý thức về sự cân bằng này trong suốt cả con đường dài.

Ngưỡng chịu đau thấp của Dave

Trong quá trình phát triển mẫu này, David Wood (một trong những người bạn cùng chí hướng từ những ngày ở ThoughtWorks của tôi) chia sẻ về quan điểm thông thường với tôi: “Làm những gì mà bạn yêu thích, và tiền sẽ đến với bạn.” Lời khuyên này đồng cảm với tôi, vì tôi là một kẻ hèn nhát khi không thể làm những gì mà mình yêu thích. Mặt khác, khi làm những gì mình yêu thích, tôi nhận thấy rằng mình trở nên sáng tạo và tràn đầy năng lượng, cuối cùng mang lại cho tôi những phần thưởng về tài chính lớn hơn. Mặc dù nhiều lập trình viên có lẽ sẽ tìm được những công việc có thu nhập cao hơn trong thời gian ngắn, song tiền kiếm được từ việc làm những gì bạn yêu thích sẽ đến với bạn về lâu dài. Để đọc thêm về sự thông thái độc đáo này, hãy tìm xem bài diễn văn tốt nghiệp trường Stanford khóa 2005 bởi không ai khác ngoài người đã bỏ học đại học và trở thành nhà đồng sáng lập Apple – Steve Jobs[1]

-David H. Hoover

Hành động

Viết ra ít nhất 15 thứ là động lực của bạn. Đợi một lúc sau đó viết thêm 5 động lực nữa. Có bao nhiêu động lực của bạn là về những gì người khác nghĩ hơn là những gì bạn cảm thấy? Liệu những tỷ lệ phần trăm đó giữa 15 động lực đầu tiên và 5 động lực cuối cùng của bạn có khác nhau không? Có bao nhiêu yếu tố thúc đẩy bạn có thể làm mà không có chúng? Bây giờ hãy viết xuống danh sách 5 động lực quan trọng nhất của bạn. Giữ danh sách này ở đâu đó để bạn có thể nhìn vào khi gặp phải khó khăn.

[1] http://news-service.stanford.edu/news/2005/june15/jobs-061505.html

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

Bài trước: [Học nghề] Thủ công hơn nghệ thuật


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.