- Arthur Westbrook ประกาศเกษียณก่อนกำหนดเมื่ออายุ 58 ปี และทำงานอยู่กับ โค้ดเบสมรดกตกทอด ที่ว่ากันว่าใช้ขับเคลื่อนซอฟต์แวร์ทางการแพทย์บางตัวมานาน 35 ปี
- โค้ดที่เขามีส่วนเขียนระหว่างทำงานมีเพียงไม่กี่ร้อยบรรทัด แต่ก็มีการพูดเชิงเสียดสีว่า ครั้งหนึ่งเขาเคยไปแตะ โค้ดมรดกตกทอด แล้วบริษัทก็ยังไม่ล่มสลาย
- Westbrook เชื่อว่าตัวเองเข้าใจโค้ดเบสทั้งหมดมากกว่า 4% และอดีตเพื่อนร่วมงานคนหนึ่งเรียกมันว่า “War & Peace ที่เขียนด้วย wingdings”
- ภายในบริษัท เขาเป็นที่รู้จักในฐานะ “หนึ่งในโปรแกรมเมอร์ของทีม” และผู้จัดการประเมินว่าเขามีพรสวรรค์ในการอยู่รอดได้นานโดยไม่ต้องมีทักษะที่ถ่ายโอนไปใช้อย่างอื่นได้
- เสียงตอบรับต่อการเกษียณของเขาค่อนข้างเย็นชา และ Westbrook วางแผนจะทำการแสดงเปิดหมวก คุ้ยถังขยะ และฝึกปรุงอาหารที่ผสม Soylent กับ Whole Foods Premium Adult Cat Salmon Mix ต่อไป
โค้ดเบสมรดกตกทอดอายุ 35 ปี
- Arthur Westbrook ประกาศ เกษียณก่อนกำหนด ในสัปดาห์นี้ขณะมีอายุ 58 ปี
- เขาทำงานอยู่กับโค้ดเบสที่ว่ากันว่าใช้ขับเคลื่อนซอฟต์แวร์ทางการแพทย์บางตัวมานาน 35 ปี
- ตลอดช่วงเวลาที่ทำงาน เขาเขียนโค้ดเพิ่มไป หลายร้อยบรรทัด
- ครั้งหนึ่งเขาเคยแตะโค้ดมรดกตกทอด แต่บริษัทก็ยังไม่พังพินาศ
- Westbrook เชื่อว่าตัวเองเข้าใจโค้ดเบสทั้งหมด มากกว่า 4%
- อดีตเพื่อนร่วมงานคนหนึ่งเรียกโค้ดเบสนี้ว่า “War & Peace ที่เขียนด้วย wingdings”
ปฏิกิริยาของบริษัทและแผนหลังเกษียณ
- ในบริษัท Westbrook เป็นที่รู้จักในฐานะ “หนึ่งในโปรแกรมเมอร์ของทีม”
- ผู้จัดการบอกว่า Westbrook มีพรสวรรค์ในการทำงานหนักโดยไม่ต้องเรียนรู้ทักษะที่นำไปใช้ต่อได้
- เขาเสริมว่า หากจะหาคนมาแทน ต้องใช้ “นักพัฒนาระดับจูเนียร์สองคนกับ Keurig หนึ่งเครื่อง”
- เพื่อฉลองการทำงานมาหลายทศวรรษ เพื่อนร่วมงานคนหนึ่งบอกว่าจะเลี้ยงเหล้าให้ “ประมาณเดือนหน้า”
- ไม่มีสมาชิกทีมคนใดตอบกลับความคิดเห็นดังกล่าว
- หลังเกษียณ Westbrook วางแผนจะลอง การแสดงเปิดหมวก และ คุ้ยถังขยะ
- เขายังวางแผนจะขัดเกลาสูตรอาหารที่ผสม Soylent กับ Whole Foods Premium Adult Cat Salmon Mix ต่อไป
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
รู้สึกว่าในทุกบริษัทที่ผมเคยทำงานด้วย ต้องมีคนแบบนี้อยู่เสมอ
เวลาเจอ โค้ดเลกาซี ที่ไม่รู้เลยว่ามันทำงานยังไง แล้วไปถามคนคนนั้น คุณจะได้ฟังเลกเชอร์ประวัติศาสตร์ 2 ชั่วโมงเกี่ยวกับการเมืองภายใน 10 ปี และโปรเจกต์ replatform ที่ล้มเหลว แต่ถึงอย่างนั้นก็เกลียดเขาไม่ลง
รู้ไหมว่าทำไมผมถึงเล่าประวัติศาสตร์ยาว 2 ชั่วโมง? หนึ่ง เพราะมนุษย์ยังต้องมีปฏิสัมพันธ์กัน แต่ผมไม่ได้ชอบคนเป็นพิเศษ สอง เพราะผมอยากให้คุณ เรียนรู้และเข้าใจ มากกว่าท่องจำแล้วพูดซ้ำ เพื่อครั้งหน้าจะได้แก้เองโดยไม่มากวนผม ไปได้แล้ว โควตาเข้าสังคมของสัปดาห์นี้หมดแล้ว /ล้อเล่น — หรืออาจจะไม่ได้ล้อเล่นจริง ๆ?
ดูดีกว่าการอายุ 50 แล้วต้องพยายามทำให้ผู้สัมภาษณ์วัย 28 ประทับใจกับทักษะเฟรมเวิร์กล่าสุดที่เพิ่งออกมา
คนคนหนึ่งใช้ชีวิตโดยโน้มน้าวตัวเองว่าเหตุผลที่เขาย้ายงานไปเรื่อยตลอดอาชีพคือ “คนอื่นเขียนโค้ดห่วย”
Karl Hackerman บ่นในทุกประชุม เขาดูเซ็ง ๆ เพราะไม่ได้รับอนุญาตให้เขียนระบบใหม่ด้วย Rust เขารู้จักเฟรมเวิร์กล่าสุดและ best practices มากมาย และหงุดหงิดอยู่เสมอที่ใช้สิ่งเหล่านั้นในที่ทำงานไม่ได้ เขาคิดว่าคนอื่นยอมเป็นทาสค่าแรง แทนที่จะพยายามเป็นโปรแกรมเมอร์ที่ดีที่สุด เหตุผลที่ทุกคนทนเขาได้ ก็เพราะรู้ว่าอีก 6 เดือนเขาก็คงลาออกแล้ว ตอนนี้ Karl อายุ 47 ปี และไม่เคยอยู่ที่ไหนเกินไม่กี่ปี ช่วงหลังเขาทำงานฟรีแลนซ์เป็นหลัก และพยายามขายหนังสือเกี่ยวกับเทคโนโลยีและเฟรมเวิร์กที่ตอนนี้ไม่มีใครสนใจแล้ว
ผมกำลังเขียนนิยายยาวสไตล์ Confederacy of Dunces เกี่ยวกับวิศวกรสารพัดรู้ที่กระตือรือร้นเกินเหตุด้วย ใส่วิญญาณของผมลงไปมากเกินไป คงยังเขียนไม่จบไปอีกพักใหญ่
แต่ผมยังไม่ถึงวัย 40 ดังนั้นยังพอมีเวลาให้ฟื้นตัวจากเส้นทางที่หลงไป
ช่วงแรก ๆ ผมก็รู้สึกแบบนี้ แต่ไม่นานก็เรียนรู้ว่าในงานประจำ ให้หาความพึงพอใจจากการ ปล่อยของออกสู่ผู้ใช้ ล้วน ๆ ส่วนความลี้ลับของวิทยาการคอมพิวเตอร์ก็ไปสำรวจในเวลาส่วนตัวเป็นหลัก บางครั้งสองอย่างนี้ก็ทับซ้อนกันบ้าง แต่จากประสบการณ์ของผม แม้งานที่ดีก็ยังน่าเบื่ออยู่ 80%
เคยทำงานอยู่ 10 ปีกับโค้ดเบส C++ ที่ไม่ใช้ไลบรารี third-party ใด ๆ เลย แม้แต่ STL ก็ไม่ได้ใช้ เพราะตอนนั้นต้องการ string และ map ที่เร็วกว่าและ thread-safe กว่า Boost? นั่นคืออะไรเหรอ?
มีทั้ง messaging middleware ที่สร้างเองบน socket, ระบบจัดการ process แบบกระจายที่ทำเองด้วย Unix system calls และไม่มี HTML หรือ Java แม้แต่บรรทัดเดียว เป็นชีวิตที่สบายและเงินเดือนสูง ได้แก้ปัญหาล้ำ ๆ อย่าง high-frequency trading และ distributed/concurrent computing ในปี 2013 ผมบังคับตัวเองให้ออกจากงานเพื่อหนีชะตากรรมนี้ ย้ายไปบริษัทเล็กที่จ่ายเงินเดือนให้แค่ครึ่งเดียว แล้วเรียนเว็บเทคโนโลยีสแต็กตั้งแต่ศูนย์ อยากคิดว่าตัวเองทำสำเร็จแล้ว
เหตุผลที่จะเปลี่ยนงานแบบนั้นที่นึกออกก็มีแค่เพื่ออยู่ให้พ้นช่วงชดเชยของ non-compete แต่ผมไม่ได้อยู่ในวงการนี้ เลยอาจมีอะไรที่ผมพลาดไปก็ได้
ไม่ค่อยแน่ใจว่านี่เป็นมุกที่ตั้งใจเล่นหรือเปล่า
ผมค่อย ๆ กลายเป็นบุคคลระดับตำนานที่รู้ทุกอย่าง แต่ไม่ใช่เพราะเก่งทางเทคนิคเป็นพิเศษ หากเป็นเพราะเข้าใจธุรกิจ และรู้ว่ามัน map เข้ากับองค์ประกอบสถาปัตยกรรมต่าง ๆ อย่างไร แล้วก็เริ่มรู้สึกว่าอาจจะต้องอยู่ที่นั่นไปตลอดชีวิต จึงคิดว่ายังมีโลกกว้างที่เรียกว่าเว็บอยู่ และเริ่มเรียน PHP ในปี 2004 หลังจากเดโม Rails ระดับตำนาน “บล็อกใน 5 นาที” ออกมา ผมก็ย้ายงานในปี 2007 และไม่เคยมองย้อนกลับไปอีก
ถ้าเชื่อไม่ได้ว่าภาษา เครื่องมือ หรือ developer คนอื่นถูกต้อง ก็ยากที่จะทำงานให้ productive
อย่าใช้ชีวิตเพื่อทำงาน แต่จงทำงานเพื่อใช้ชีวิต ผมเดาว่าเมื่อก่อน Arthur คงไปสนุกสุดเหวี่ยง นอนไม่พอแล้วมาทำงาน และแอบงีบระหว่าง retrospective กับ refinement meeting เขาอาจเป็น developer ที่มีประโยชน์น้อยที่สุด แต่ที่ Burning Man เขาอาจเป็นราชาก็ได้ ตอนนี้เขาอาจเกษียณพร้อม 401k ก้อนโต แล้วทำตุ๊กตาไม้ตัวเล็ก ๆ ไปขายที่ตลาดเกษตรกร จริง ๆ แล้วเขาอาจแค่อยากเล่าให้คนอื่นฟังเรื่องปลาตัวใหญ่ที่สุดที่เคยจับได้ หรือความฝันว่าจะเปิดรถขายราเม็งถ้าครอบครัวฝ่ายภรรยาร่วมลงทุนด้วย Arthur ได้ใช้ชีวิตแล้ว — แค่ไม่ใช่ที่ที่ทำงานเท่านั้น
ผมไม่ชอบความคิดที่ว่าชีวิตของผมจะเพิ่งเริ่มหลังเกษียณ โดยเฉพาะถ้าอายุเกษียณตามกฎหมายในที่ที่ผมอยู่คือ 67 ปี
แต่โดยทั่วไปมันไม่ได้สวยงามขนาดนั้น Arthur อาจเป็นคนอ้วนเกิน มีปัญหาสุขภาพมากมาย อยู่คนเดียว และยึดติดกับ XYZ อย่างไม่ดีต่อสุขภาพ เช่น อนิเมะหรือเกมก็ได้ แต่ถ้าเขามีลูกและเลี้ยงดูมาดี ในฐานะพ่อแม่ ผมก็เคารพเขามากเพียงแค่นั้นแล้ว เมื่อมองย้อนกลับไป เรื่องอื่น ๆ ก็เป็นแค่รายละเอียด
คนมีความสามารถมีอยู่ทุกที่ และโอกาสที่จะกลายเป็นสิ่งที่แหวกแนวและส่งผลกระทบต่อโลกนั้นเล็กจนน่าขัน ถ้าเอาคุณค่าของตัวเองไปผูกกับเป้าหมายนั้น สุขภาพจิต จะสั่นคลอนมาก
หลังมีลูก ระดับความทะเยอทะยานและความดื้อดึงของผมเปลี่ยนไปอย่างชัดเจน เมื่อก่อนเคยหมกมุ่นกับการเป็นคนที่เก่งที่สุด แต่ตอนนี้ใกล้เคียงกับ “เอาเงินมาให้ก็พอ” และให้ความสำคัญกับการมีเวลาว่างให้ครอบครัวกับเพื่อนให้มากที่สุด ผมคิดว่าอาชีพแบบ Mr. Westbrook ก็ไม่เลวนะ โชคดีที่ตลอดอาชีพของผมไม่ได้เจอเพื่อนร่วมงานแย่ ๆ แบบเขามาตลอด แต่ละคนต้องการไม่เหมือนกัน จึงไม่จำเป็นต้องตัดสิน อย่างที่นักคิดผู้ยิ่งใหญ่ Alicia Keys เคยพูดไว้ว่า “ใช้ชีวิตในแบบของคุณ”
ผมไม่เคยแข่งขันกับใคร แค่ทำงานของตัวเองไปเรื่อย ๆ แล้วก็พบว่าตัวเองรู้มากกว่าและก้าวหน้าไปไกลกว่าหลายคนที่เคยเป็นแรงบันดาลใจให้ผมแล้ว แต่ถึงอย่างนั้นมันก็ไม่เคยเป็นเป้าหมาย และตอนนี้ก็ยังไม่ใช่ ผมเป็นแค่นักพัฒนาสายมืดคนหนึ่งเท่านั้น แค่ทำงานของตัวเอง พยายามทำให้ดีขึ้นทุกครั้ง และไม่สนใจหอเกียรติยศอะไรทั้งนั้น ไม่ว่าจะเป็นเรื่องเบา ๆ หรือจริงจังก็ตาม
ตอนมีลูกคนแรก ผมเอนไปทางที่ไม่ต้องการอะไรจากงานเลยอย่างมาก นอกจากดูแลปากท้องครอบครัวและมีเวลาอยู่ด้วยกัน แน่นอนว่าอยู่ในขอบเขตที่ยังสนับสนุนเพื่อนร่วมงานและไม่ทำลายความไว้วางใจ แต่เมื่อลูก ๆ โตขึ้นและเป็นอิสระมากขึ้น ผมก็เข้าสู่ช่วงที่มีพื้นที่ทางใจและพลังงานเพิ่มขึ้น และตอนนี้ผมกลับมารู้สึกตื่นเต้นอีกครั้งกับการนำพลังนั้นไปใช้กับงานที่มีอิทธิพล เพียงแต่สิ่งสำคัญคือ ผมมีปัญญามากขึ้นมากในการหาวิธีสร้างสมดุลที่ดีต่อสุขภาพและมีความสุขสำหรับตัวเองกับครอบครัว ผมไม่ได้คิดอย่างไร้เดียงสาว่ามันจะง่าย และเห็นว่าต้องพยายามต่อไป แต่พอหลุดออกมาจากหมอกมึน ๆ ของการเลี้ยงทารกแล้ว ก็กลับมาเห็นชัดอีกครั้งว่า ทั้งการทุ่มทั้งหมดให้ครอบครัวอย่างเดียว หรือทุ่มทั้งหมดให้งานอย่างเดียว ต่างก็ไม่ใช่ทางของผม
งานที่เขย่าโลกสำหรับทุกคนนั้นถูกยกย่องเกินจริงไปมาก
คุณเลือกที่จะสร้างซอฟต์แวร์ที่น่าสนใจ หรือเลือกที่จะใช้ชีวิตเล็ก ๆ ด้วยเหตุผลที่สมเหตุสมผลอย่างยิ่งนับพันข้อ ถ้าคิดว่าตัวเองยอดเยี่ยมขนาดนั้น ก็อย่าโทษบริษัทว่า “ไม่ให้โอกาส” เครื่องมือที่จำเป็นสำหรับการเขียนโค้ดคุณก็มีครบอยู่แล้ว สร้างของเจ๋ง ๆ ขึ้นมาก็พอ
ตลกดีอยู่ แต่ถ้า Arthur มีความสุขหรือกำลังมีความสุขอยู่ตอนนี้ ก็ไม่มีปัญหาอะไร ตรงส่วนนั้นไม่ได้กล่าวไว้ในบทความ
นี่คือปี 2023 และทุกวันนี้บริษัทต่าง ๆ พร้อมจะเลิกจ้างคุณทันทีที่ตัดสินว่าคุณไม่ทำกำไร ตัวละครสมมตินี้ไปถึงวัยเกษียณได้ ก็ถือว่าโชคดี แต่คนที่ทำตามกลยุทธ์นี้มา 15 ปี แล้วตอนนี้กำลังหางานเพราะบริษัทต้องลดพนักงาน 18% ล่ะ? มีช่องว่างใหญ่ในทักษะที่ใช้งานได้จริง และยังเหลืออีกหลายสิบปีกว่าจะเกษียณ คนนั้นลำบากจริง ๆ
บริษัทของเราทำ อุปกรณ์การแพทย์ เป็นสายงานที่วงจรชีวิตการพัฒนาซอฟต์แวร์เข้มงวดมาก เพื่อนร่วมงานคนหนึ่งย้ายไปบริษัทอุปกรณ์การแพทย์อีกแห่งที่ใหญ่กว่ามาก และเมื่อเจอกันหลายปีต่อมา เขาบอกว่าพอมองย้อนกลับไป บริษัทของเรานั้นเป็นองค์กรสมรรถนะสูงที่คล่องตัวสุด ๆ บริษัทใหม่ของเขาใช้เวลาหนึ่งปีสำหรับการเปลี่ยนโค้ดสองบรรทัดที่ไม่ได้เปลี่ยนอะไรจริง ๆ แค่เพิ่มอะไรบางอย่างเข้าไป ทั้งที่เขาผลักดันอย่างต่อเนื่องแล้วก็ตาม
ถ้าพูดอย่างเป็นธรรม การแก้ไขระบบฟอกเลือดด้วยไตเทียมก็ไม่ใช่เรื่องเล่น ๆ
นี่เหมือนบทกวี The Unknown Citizen ของ WH Auden เวอร์ชันโปรแกรมเมอร์ [0]
ตอนอ่านครั้งแรก ผมคิดว่าเป็นบทกวีเศร้าเกี่ยวกับคนที่เสียชีวิตไปกับสิ่งธรรมดา ๆ ในชีวิตประจำวัน ตอนนี้ผมมองว่าเป็นบทกวีเชิงบวกมากกว่า: แม้ภายนอกเขาจะใช้ชีวิตแบบคนทั่วไป แต่ก็มีความเป็นไปได้สูงว่าเขามีชีวิตภายในที่รุ่มรวยซึ่งไม่ได้แบ่งปันให้โลกเห็น และเราไม่ควรคาดหวังตัวชี้วัดที่วัดได้จากภายนอกว่าใครยิ่งใหญ่แค่ไหน อีกอย่างที่ยอดเยี่ยมคือแพสชันของชายคนนี้คือส่วนผสมอาหารแมว Soylent สำหรับมนุษย์ เขาทำงานมาตลอดหลายปีทั้งหมดนั้น แล้วในที่สุดก็ได้รับอิสระเพื่อทำตามแพสชันของตัวเอง
[0] https://poets.org/poem/unknown-citizen
แนวคิดที่ว่าชีวิตไร้ความหมาย และเราควรมีความสุขอยู่ในความยากลำบากหรือความซ้ำซาก แทนที่จะเป็นเช่นนั้นก็ควรพึงพอใจกับ “การเดินทาง” และทุก ๆ ขณะ แนวคิดนี้พบได้ทั่วไปมากในวรรณกรรมและประวัติศาสตร์ คนยุคใหม่ที่มีเทคโนโลยีอยากคิดว่าตัวเองแตกต่างออกไป somehow กำลังไปถึงระดับใหม่และค้นพบจุดมุ่งหมาย แต่ตอนนี้ผมก็ไม่แน่ใจแล้ว บางทีเราก็ยังแค่ใช้ชีวิตไปวัน ๆ แล้วก็ตายเท่านั้นเอง
https://en.wikipedia.org/wiki/Sisyphus
https://en.wikipedia.org/wiki/The_Myth_of_Sisyphus
แม้บรรทัดสุดท้ายของบทกวีจะว่าอย่างนั้น แต่ดูชัดเจนว่าเขามีความสุขจริง ๆ ถ้าไม่ใช่ เขาคงระเบิดอารมณ์ในที่ทำงาน กลายเป็นคนติดเหล้า หรือหย่าร้างไปแล้ว หรือไม่ก็เป็นสโตอิกขั้นสุด
ถ้านี่เป็นบทความที่จิกกัดสิ่งที่เรียกว่าโปรแกรมเมอร์ธรรมดา ๆ ก็ไม่สนุกเท่าไร
ผมมีเพื่อนคนหนึ่ง ขอเรียกว่า AP เขาทำงานเป็นโปรแกรมเมอร์ที่บริษัทพัฒนา Java ในท้องถิ่น เขาทำงานที่เดิมมา 12 ปีหลังเรียนจบ และเข้ากับคำบรรยายในบทความนี้อยู่บ้าง แต่เขาเป็นหนึ่งในคนที่มีความสุขที่สุดเท่าที่ผมรู้จัก เขามีรายได้สูงกว่าค่าเฉลี่ย งานง่ายและไม่ได้โหดมาก รู้จัก codebase อย่างทะลุปรุโปร่ง และเข้ากับเพื่อนร่วมงานได้ดี นอกเวลางานก็ไปปั่นจักรยานหรือดื่มเบียร์กับเพื่อน ๆ และเดินทางรอบโลกกับภรรยา คนเราให้ความสำคัญกับสิ่งต่าง ๆ ไม่เหมือนกัน และไม่ใช่ทุกคนจะหมกมุ่นกับการโดดเด่นในงาน
มีวิศวกรเก่ง ๆ จำนวนมากที่ทำงานกับ codebase ที่น่าเบื่อและผุพัง นั่นไม่ใช่เรื่องน่าอาย
[0] https://news.ycombinator.com/item?id=36985316
ใคร ๆ ก็สร้างสิ่งใหม่เอี่ยมแวววาวบน greenfield ได้ ถ้ามันไปไม่รอด ก็ยังหาคนหรือสิ่งที่จะโทษได้เสมอ เพราะสิ่งที่ตั้งใจจะสร้างแต่แรกนั้นเป็นความพยายามที่ยิ่งใหญ่และล้ำสมัยมาก[1] อยู่แล้ว เมื่อเวลาผ่านไป การย้ายไปทำสิ่งใหม่เอี่ยมแวววาวอย่างอื่นก็ไม่เพียงไม่เป็นไร แต่ยังเป็นสิ่งที่ถูกคาดหวังด้วย
ในทางกลับกัน การ ยึดอยู่กับสิ่งหนึ่งจนถึงที่สุด ผ่านช่วงเวลาดีและร้าย ไม่ใช่สิ่งที่หลายคนทำได้ ส่วนใหญ่แล้วแค่นั้นอาจไม่พอ แต่ดูเหมือนจะเป็นสิ่งจำเป็นสำหรับความสำเร็จที่ยั่งยืน ตัวอย่างเช่น Guido van Rossum[2], Linus Torvalds, Daniel Stenberg
[1] ไม่จำเป็นต้องเขียนตัวเล็ก ๆ ว่ามีลักษณะ “เสี่ยงสูง” ด้วยซ้ำ เพราะทุกคนก็เข้าใจแบบนั้นอยู่แล้ว
[2] ผมหาแหล่งอ้างอิงไม่เจอ แต่จำได้ว่ามีบทสัมภาษณ์ที่ Guido ถูกถามถึงจุดทะลุทะลวงของ Python แล้วเขาบอกว่าไม่มีอะไรแบบนั้น มันแค่เติบโตอย่างสม่ำเสมอต่อเนื่องเท่านั้น
ถ้าบริษัทกำลังสร้างภาษาโปรแกรมหรือระบบปฏิบัติการ ก็ควรแน่ใจว่านั่นเป็นงานที่คุณรักจริง ๆ