17歲的我來到邦納維爾電力管理局時,對自己的程式設計能力有著前所未有的信心。他們給我的第一個任務是:記錄錯誤訊息。就是用簡單的語言寫出系統出問題時會自動彈出的提示訊息。那並不是特別有創意或有趣的工作,但我還是全力以赴地投入。保羅和我每天很早就到,工時很長。漸漸地,他們開始指派愈來愈重要的任務給我們。
我很自豪自己能長時間投入高強度工作,以及快速寫程式的能力。我不知道邦納維爾那些資深專業程式設計師,會如何看待一個每天像瘋子一樣熬夜寫程式,直接從罐子挖唐牌(Tang)速溶果汁粉來吃、直到舌頭變成橘色的小孩。那年春天,我打破了自己連續工作的紀錄。有一次我在地下室的控制室連續待了近100個小時。表示我有差不多4天沒洗澡、幾乎沒吃東西。
一天早上,我上班時看到桌上放著我前一晚寫的程式列印稿,上面寫滿了藍色墨水的批註。有人像學校老師一樣修改了我的程式。實際上,那已經不算是修改,那個人徹底拆解了我的程式,不只糾正語法錯誤,還針對整個架構與設計提出了評論。通常碰到這種情況,我的第一個反應是為自己辯護。在湖濱學校,如果有人試圖評論我的程式,我就會立即反駁:「不可能,是你錯了。」但是這一次,我讀著那些批註,研究上面的程式碼,心想,天啊,這個人說得太對了。
那個人名叫約翰・諾頓(John Norton)。我後來知道,他因為優秀的程式設計能力而備受讚譽,卻也曾經歷過一次慘痛的失敗。諾頓在快要30歲時,負責1962年水手一號太空探測器某部分的關鍵軟體。原本要飛往金星的探測器,在發射幾分鐘後就因為控制人員發現雷達系統出現故障,NASA不得已將其摧毀,成為太空史上知名的失敗案例。問題出在一個非常微小的故障:很可能是諾頓負責的電腦程式少了一個「-」符號。據說,諾頓因為這個錯誤而耿耿於懷,多年來他一直把報導水手一號任務失敗的新聞剪報折疊得整整齊齊,像摺紙作品一樣放在皮夾裡隨身攜帶。
諾頓是我見過對待電腦程式設計最嚴謹、最敏銳的人,他持續修改我的程式,將那些程式提升到我從沒想像過的水平。他沉默寡言、充滿自信,總是專注於眼前的工作。他從不炫耀自己的成就,而是專注於運用自己的知識不斷改進,確保專案能成功。
「失敗能教會你的比成功還多」這句格言雖然老套,但是千真萬確。諾頓讓我看到了程式設計完全不一樣的層次。在他嚴格的指導下,我不僅學會寫出更好的程式,也對自己有了新的認知。我記得當時自己心想:為什麼我對程式設計這件事這麼自負?我憑什麼認為自己很優秀?我開始思考近乎完美的電腦程式應該是什麼樣子。
高中畢業那個夏天,我時常在想,一個人要如何成為某個領域的佼佼者。諾頓就是這種令人敬佩的人物。他的才能與專業能力無人能及,我試圖理解他跟其他程式設計師有什麼不一樣。如果要比其他人優秀20%,需要具備什麼條件?有多少是與生俱來的天賦,有多少是後天的努力——持續專注與有意識地表現得比前一天更好?而且能日復一日、年復一年地重複這個精進的過程?
當時的我認為,世界的進步是由個人所推動的。我腦中的形象是典型的孤獨天才,科學家獨自在自己的領域裡鑽研,不斷努力直到取得突破性成果。我這種獨行科學家的世界觀,成為我與保羅持續辯論的一個話題。保羅認為世界是透過合作取得進步的,集合一群聰明人、為了共同的目標努力。我看到的是愛因斯坦的典範,他眼中看見的則是整個曼哈頓計畫。這兩種看法都太過簡化,但隨著時間過去,保羅的觀點最終決定了我們兩人的未來。
延伸閱讀:億萬富豪該有什麼格局?21位白手起家的超級富翁,皆具備這些處世態度
本文授權摘自《原始碼:成為比爾.蓋茲》
作者:比爾.蓋茲
出版日期:2025/02/05
