- Arthur Westbrook tuyên bố nghỉ hưu sớm ở tuổi 58 và đã làm việc 35 năm trên một codebase legacy được cho là vận hành một phần mềm y tế nào đó
- Trong thời gian làm việc, số dòng code ông đóng góp chỉ khoảng vài trăm, nhưng từng có lần được châm biếm theo kiểu ông đã đụng vào code legacy mà vẫn không làm công ty sụp đổ
- Westbrook tin rằng mình hiểu hơn 4% toàn bộ codebase, và một đồng nghiệp cũ gọi nó là “Chiến tranh và Hòa bình viết bằng wingdings”
- Trong công ty, ông được biết đến là “một trong những lập trình viên của nhóm”, còn quản lý đánh giá ông có tài trụ lại lâu dài dù không có kỹ năng nào có thể chuyển đổi
- Phản ứng kỷ niệm nghỉ hưu khá hờ hững, và Westbrook dự định sẽ biểu diễn đường phố, bới thùng rác, đồng thời trau dồi món ăn pha giữa Soylent và Whole Foods Premium Adult Cat Salmon Mix
Codebase legacy kéo dài 35 năm
- Arthur Westbrook tuần này đã tuyên bố nghỉ hưu sớm ở tuổi 58
- Ông đã làm việc suốt 35 năm trên một codebase được cho là vận hành một phần mềm y tế nào đó
- Trong thời gian làm việc, ông đóng góp vài trăm dòng code
- Có một lần ông đụng vào code legacy nhưng công ty vẫn chưa đến mức tiêu đời
- Westbrook tin rằng mình đã nắm được hơn 4% toàn bộ codebase
- Một đồng nghiệp cũ gọi codebase đó là “Chiến tranh và Hòa bình viết bằng wingdings”
Phản ứng của công ty và kế hoạch sau nghỉ hưu
- Trong công ty, Westbrook được biết đến là “một trong những lập trình viên của nhóm”
- Quản lý nói rằng Westbrook có tài chăm chỉ làm việc mà không cần học các kỹ năng có thể chuyển đổi
- Ông nói thêm rằng để thay thế ông sẽ cần “hai lập trình viên junior và một máy Keurig”
- Để kỷ niệm hàng chục năm gắn bó, một đồng nghiệp nói sẽ mời ông đi uống rượu “vào khoảng tháng sau”
- Không một ai trong nhóm phản hồi khi được hỏi ý kiến
- Sau khi nghỉ hưu, Westbrook dự định thử biểu diễn đường phố và bới thùng rác
- Ông cũng có kế hoạch tiếp tục hoàn thiện món ăn trộn giữa Soylent và Whole Foods Premium Adult Cat Salmon Mix
1 bình luận
Ý kiến trên Hacker News
Hình như ở công ty nào tôi từng làm cũng có một người như vậy.
Khi bạn phát hiện ra một code legacy hoàn toàn không hiểu nổi nó vận hành ra sao và tìm đến họ, bạn sẽ được nghe một bài giảng lịch sử dài 2 tiếng về 10 năm chính trị nội bộ và các dự án tái nền tảng thất bại. Dù vậy vẫn khó mà ghét họ được.
Biết vì sao tôi kể lịch sử 2 tiếng không? Thứ nhất, vì tương tác giữa người với người là cần thiết nhưng tôi chẳng đặc biệt thích con người. Thứ hai, vì tôi muốn cậu học và hiểu để lần sau tự giải quyết, khỏi làm phiền tôi, thay vì chỉ học vẹt rồi nhắc lại. Giờ thì đi đi, quota giao tiếp xã hội tuần này của tôi đủ rồi. /đùa — mà có thật là đùa không?
Trông vẫn tốt hơn việc đến 50 tuổi phải cố gây ấn tượng với người phỏng vấn 28 tuổi bằng kỹ năng về framework mới nhất vừa ra lò.
Một người sống cả đời tự thuyết phục mình rằng lý do anh ta cứ nhảy việc suốt sự nghiệp là “vì người khác viết code dở tệ”.
Karl Hackerman phàn nàn trong mọi cuộc họp. Anh ta trông bực bội vì không được phép viết lại hệ thống bằng Rust. Anh ta biết rất nhiều framework mới nhất và best practice, và luôn khó chịu vì không được dùng chúng ở chỗ làm. Anh ta nghĩ người khác đã an phận làm nô lệ tiền lương thay vì cố trở thành lập trình viên giỏi nhất. Mọi người chịu đựng anh ta vì biết đằng nào 6 tháng nữa anh ta cũng nghỉ. Karl giờ 47 tuổi, chưa từng ở một chỗ làm nào quá vài năm. Gần đây anh ta chủ yếu làm freelance và cố bán sách về những công nghệ, framework mà giờ chẳng ai còn quan tâm.
Tôi cũng đang viết một tiểu thuyết dài theo phong cách Confederacy of Dunces về các kỹ sư bách khoa toàn thư quá nhiệt tình. Linh hồn tôi nằm trong đó quá nhiều nên chắc một thời gian nữa chưa thể hoàn thành.
Nhưng dù sao tôi vẫn chưa ở tuổi 40, nên vẫn còn thời gian để hồi phục khỏi con đường lạc lối.
Ban đầu tôi cũng cảm thấy như vậy, nhưng chẳng bao lâu đã học được cách ở công việc chính thì lấy sự thỏa mãn thuần túy từ việc ship được sản phẩm, còn những bí ẩn của khoa học máy tính thì phần lớn khám phá trong thời gian cá nhân. Thỉnh thoảng hai thứ cũng trùng nhau, nhưng theo kinh nghiệm của tôi, ngay cả công việc tốt cũng 80% là nhàm chán.
Tôi đã làm việc trong 10 năm trên một codebase C++ không dùng bất kỳ thư viện bên thứ ba nào. Thậm chí STL cũng không dùng, vì thời đó cần string và map nhanh hơn, an toàn luồng hơn. Boost? Đó là cái gì?
Chúng tôi còn có middleware nhắn tin tự viết chạy trên socket, một hệ thống quản lý tiến trình phân tán tự làm bằng các system call Unix, và không có lấy một dòng HTML hay Java nào. Đó là một cuộc sống thoải mái, lương cao, giải quyết các bài toán tiên tiến như giao dịch tần suất cao và điện toán phân tán/đồng thời. Năm 2013, để tránh số phận này, tôi đã ép mình nghỉ việc, chuyển sang một công ty nhỏ trả lương chỉ bằng một nửa và học web technology stack từ con số không. Tôi muốn nghĩ là mình đã thành công
Nếu có lý do để đổi việc kiểu đó thì tôi chỉ nghĩ đến chuyện chịu đựng giai đoạn được bồi thường do điều khoản không cạnh tranh, nhưng tôi không ở trong ngành này nên có thể đang bỏ sót điều gì đó
Tôi không rõ đây có phải là câu đùa có chủ ý hay không
Tôi dần trở thành nhân vật huyền thoại biết mọi thứ, nhưng không phải vì tôi giỏi kỹ thuật, mà vì tôi hiểu business và biết nó ánh xạ vào các thành phần kiến trúc khác nhau như thế nào. Rồi tôi có cảm giác mình có thể mắc kẹt ở đó cả đời, nên nghĩ rằng ngoài kia có một thế giới web rộng lớn và bắt đầu học PHP vào năm 2004. Sau khi demo Rails huyền thoại “blog trong 5 phút” xuất hiện, tôi chuyển việc vào năm 2007 và không bao giờ ngoái lại
Nếu không thể tin rằng ngôn ngữ, công cụ hay các lập trình viên khác là đúng, thì rất khó để làm việc hiệu quả
Đừng sống để làm việc, hãy làm việc để sống. Arthur có lẽ ngày xưa đã vui chơi hết mình, đi làm trong tình trạng thiếu ngủ, rồi ngủ gật trong các buổi retrospective và refinement. Có thể anh ta là người kém hữu dụng nhất với tư cách lập trình viên, nhưng biết đâu lại là vua ở Burning Man. Giờ anh ta có thể nghỉ hưu với khoản 401k rủng rỉnh và làm những con búp bê gỗ nhỏ để bán ở chợ nông sản. Thật ra, có lẽ anh ta chỉ muốn kể cho mọi người nghe chuyện con cá lớn nhất mình từng bắt được, hoặc giấc mơ mở một xe đồ ăn ramen nếu gia đình bên vợ cùng góp vốn. Arthur đã sống cuộc đời của mình — chỉ là không phải ở nơi làm việc
Tôi ghét ý nghĩ rằng chỉ sau khi nghỉ hưu thì cuộc sống của mình mới bắt đầu. Nhất là khi tuổi nghỉ hưu theo luật ở nơi tôi sống có thể là 67
Nhưng thường thì không màu hồng đến vậy. Arthur có thể là người thừa cân, nhiều vấn đề sức khỏe, sống một mình và bám víu một cách không lành mạnh vào XYZ, chẳng hạn anime hay game. Dù vậy, nếu anh ấy có con và nuôi dạy chúng tốt, thì với tư cách một phụ huynh, chỉ riêng điều đó cũng khiến tôi rất kính trọng. Nhìn lại thì những thứ còn lại chỉ là chi tiết
Người tài ở đâu cũng có, và xác suất trở thành một sự tồn tại đột phá, có ảnh hưởng đến thế giới là nhỏ đến phi lý. Nếu đặt giá trị bản thân vào mục tiêu đó thì sức khỏe tinh thần sẽ bị lung lay rất nhiều.
Sau khi có con, mức độ tham vọng và sự dai dẳng của tôi chắc chắn đã thay đổi. Trước đây tôi từng phát cuồng vì việc trở thành người giỏi nhất, nhưng giờ thì gần như là “đưa tiền đây”, và ưu tiên là đảm bảo càng nhiều thời gian rảnh càng tốt cho gia đình và bạn bè. Tôi nghĩ một sự nghiệp như Mr. Westbrook cũng ổn. May là trong suốt sự nghiệp của mình tôi không phải chịu đựng những đồng nghiệp tệ như ông ấy. Mỗi người muốn những thứ khác nhau, nên không cần phán xét. Như nhà tư tưởng vĩ đại Alicia Keys đã nói, “hãy sống đúng là bạn”.
Tôi chưa từng cạnh tranh, chỉ làm việc của mình. Rồi tôi nhận ra mình đã biết nhiều hơn và đi trước nhiều người từng truyền cảm hứng cho tôi. Dù vậy, đó chưa bao giờ là mục tiêu của tôi, và bây giờ cũng không. Tôi chỉ là một trong những lập trình viên bóng tối được gọi như vậy. Chỉ làm việc của mình, mỗi lần cố làm tốt hơn, và không quan tâm đến kiểu đại sảnh danh vọng nào cả, dù nhẹ nhàng hay nghiêm túc.
Khi mới có con, tôi nghiêng mạnh về phía không mong đợi gì ở công việc ngoài việc nuôi sống gia đình và có thời gian ở bên họ. Tất nhiên là trong chừng mực vẫn hỗ trợ đồng nghiệp và không phá vỡ niềm tin. Nhưng khi các con lớn lên và ngày càng độc lập, tôi bước vào giai đoạn có nhiều dư địa tinh thần và năng lượng hơn, và giờ tôi lại thấy hào hứng khi dùng năng lượng đó vào những việc có tác động. Điều quan trọng là tôi đã khôn ngoan hơn nhiều về cách cân bằng lành mạnh và hạnh phúc cho bản thân và gia đình. Tôi không ngây thơ nghĩ rằng việc đó sẽ dễ, và cho rằng cần tiếp tục nỗ lực. Nhưng khi thoát khỏi màn sương mụ mị vì chăm em bé, tôi lại thấy rõ rằng tập trung toàn bộ vào gia đình hoặc toàn bộ vào công việc đều không phải con đường của tôi.
Với tất cả mọi người, chuyện làm rung chuyển thế giới được đánh giá hơi quá cao.
Hoặc bạn chọn tạo ra phần mềm thú vị, hoặc chọn sống nhỏ vì một trong hàng nghìn lý do hoàn toàn chính đáng. Nếu bạn nghĩ mình ghê gớm đến vậy, đừng đổ lỗi cho công ty rằng họ “không cho cơ hội”. Bạn đã có đủ công cụ cần thiết để code rồi. Hãy làm thứ gì đó tuyệt vời.
Buồn cười thật, nhưng nếu Arthur từng hạnh phúc hoặc hiện đang hạnh phúc thì chẳng có vấn đề gì. Phần đó không xuất hiện trong bài.
Đây là năm 2023, và các công ty ngày nay sẵn sàng sa thải bạn ngay khi họ cho rằng bạn không có lợi nhuận. Nhân vật giả định này đã đi đến tuổi nghỉ hưu, nên thế là ổn. Nhưng còn người đã theo chiến lược này 15 năm, rồi công ty cần cắt giảm 18% nhân sự và giờ đang đi tìm việc thì sao? Có một khoảng trống lớn về kỹ năng hữu dụng, và còn hàng chục năm nữa mới nghỉ hưu. Người đó thực sự rơi vào tình thế khó khăn.
Công ty chúng tôi làm thiết bị y tế. Đây là lĩnh vực có vòng đời phát triển phần mềm rất nghiêm ngặt. Một đồng nghiệp chuyển sang một công ty thiết bị y tế khác lớn hơn nhiều, và khi gặp lại sau vài năm, anh ấy nói nhìn lại thì công ty chúng tôi từng là một tổ chức siêu linh hoạt, hiệu suất cao. Ở công ty mới, một thay đổi code hai dòng không thực sự thay đổi gì mà chỉ thêm một thứ gì đó cũng mất 1 năm. Dù bản thân anh ấy đã liên tục thúc đẩy, vẫn là vậy.
Công bằng mà nói, sửa một hệ thống lọc máu không phải chuyện đùa.
Cái này giống bài thơ The Unknown Citizen của WH Auden phiên bản dành cho lập trình viên [0].
Lần đầu đọc, tôi nghĩ đó là một bài thơ buồn về một người đã lãng phí đời mình vào những điều tầm thường, thường nhật. Giờ thì tôi xem nó như một bài thơ tích cực: bề ngoài ông ấy sống một đời trung bình, nhưng rất có thể có một đời sống nội tâm phong phú mà ông không chia sẻ với thế giới, và ta không nên kỳ vọng có những chỉ số đo được từ bên ngoài để biết ai là người vĩ đại. Việc niềm đam mê của người đàn ông này là hỗn hợp thức ăn mèo Soylent dành cho người cũng thật tuyệt. Ông ấy đã làm việc suốt ngần ấy năm và cuối cùng được giải phóng để theo đuổi đam mê của mình.
[0] https://poets.org/poem/unknown-citizen
Khái niệm rằng đời là vô nghĩa, ta phải hạnh phúc trong khổ dịch hoặc sự lặp lại, và thay vào đó nên hài lòng với “hành trình” cùng từng khoảnh khắc. Điều này rất phổ biến trong văn học và lịch sử. Con người hiện đại có công nghệ muốn nghĩ rằng mình khác đi bằng cách nào đó, rằng mình đang đạt tới một tầng nấc mới và tìm thấy mục đích, nhưng giờ tôi không còn chắc nữa. Có lẽ ta vẫn chỉ sống qua ngày rồi chết mà thôi.
https://en.wikipedia.org/wiki/Sisyphus
https://en.wikipedia.org/wiki/The_Myth_of_Sisyphus
Bất chấp câu cuối của bài thơ, có vẻ khá rõ là ông ấy thực sự hạnh phúc. Nếu không, hẳn ông đã bùng nổ ở chỗ làm, hoặc trở thành người nghiện rượu, hoặc ly hôn. Hoặc ông là một người cực kỳ khắc kỷ
Nếu đây là bài châm chọc cái gọi là lập trình viên tầm thường thì không thú vị.
Tôi có một người bạn, gọi là AP, làm lập trình viên ở một công ty phát triển Java địa phương. Sau khi tốt nghiệp, cậu ấy làm ở cùng một chỗ suốt 12 năm, và ở mức nào đó đúng với mô tả trong bài này, nhưng lại thuộc nhóm những người hạnh phúc nhất mà tôi biết. Thu nhập trên trung bình, công việc dễ và không quá căng. Cậu ấy biết codebase từ trong ra ngoài và cũng hòa hợp với đồng nghiệp. Ngoài công việc thì đi đạp xe hoặc uống bia với bạn bè, du lịch khắp thế giới với vợ. Mỗi người có những ưu tiên khác nhau, và không phải ai cũng ám ảnh với việc phải xuất sắc trong công việc
Cũng có rất nhiều kỹ sư giỏi làm việc trên những codebase nhàm chán và mục ruỗng. Điều đó không có gì đáng xấu hổ
[0] https://news.ycombinator.com/item?id=36985316
Ai cũng có thể làm ra thứ mới mẻ, bóng bẩy trên greenfield. Nếu không thành công, ta luôn có thể tìm được người hoặc thứ để đổ lỗi, vì thứ ban đầu định làm vốn là một nỗ lực vĩ đại và rất đổi mới[1]. Theo thời gian, chuyển sang một thứ mới mẻ, bóng bẩy khác không chỉ ổn mà còn là điều được kỳ vọng.
Ngược lại, bám đến cùng một thứ qua cả thời tốt lẫn thời xấu là điều không nhiều người làm được. Trong hầu hết trường hợp, chỉ riêng điều đó là chưa đủ, nhưng nó có vẻ là điều cần thiết cho thành công bền vững. Ví dụ: Guido van Rossum[2], Linus Torvalds, Daniel Stenberg.
[1] Cũng không cần ghi chữ nhỏ rằng nó có tính “rủi ro cao”. Ai cũng đã hiểu như vậy rồi.
[2] Tôi không tìm được nguồn, nhưng nhớ một cuộc phỏng vấn trong đó khi được hỏi về bước đột phá của Python, Guido nói rằng không có bước đột phá nào cả, chỉ là nó cứ tăng trưởng đều đặn mà thôi
Nếu công ty đang tạo ra một ngôn ngữ lập trình hoặc hệ điều hành, bạn nên chắc chắn rằng đó thực sự là việc mình yêu thích