2002年12月,我加入一家瀕臨破產的公司。25歲,頭銜只是軟件工程師。公司在燒錢,下一款產品必須在1月上線——離我入職大約一個月。
2003年1月,Demo發布了。那是一款手機HTML瀏覽器,內置數據包壓縮功能。它能渲染HTML,播放標簽鏈接的MIDI文件,運行簡單的背景動畫。我用Java寫的。服務器端是PHP。沒人做服務端壓縮,于是我也接了——還是用Java,通過localhost從PHP調用。結構很奇怪,但截止日期是真的。
![]()
我記得有點生氣。但我記得更清楚的是,比生氣多得多的快樂。我交付了東西,用了一個月。就這樣,我開始獨自設計東西。不是計劃好的。只是:總得有人做,而其他人沒動。
![]()
第一件不是計劃的事
23年后回頭看,有件事我當時沒意識到:我沒有責任。我是個有截止日期的初級工程師。如果Demo失敗,公司會垮得更快——但失敗不歸我承擔。這讓交付變得容易。
那第一個月之后,我再也沒遇到過真正硬的截止日期。至少在我負責的項目上沒有。我只回答"盡快",然后盡力兌現。2005年我成了CTO。工作沒變輕,責任來了。但我沒想到的是:我代碼的形狀沒變。
我繼續獨自寫東西。繼續獨自扎進最深的部分。組織架構在我周圍重組,但在最底層——當某件事必須真正跑起來時——我還是在那里,寫著。
生產力和問責制不容易共存。我25歲學會的形狀——因為沒人做所以自己寫——在頭銜改變之后,反復出現。
一個我沒意識到是形狀的形狀(2003-2005)
數據包壓縮工具之后,我為手機建了一個音樂分發平臺。那是運營商計費的時代。功能機。電梯和隧道里會斷連。
![]()
運營商有一條計費規則,教會我一件事——我20年后才用語言表達。
規則是:用戶設備確認下載完成前,不要計費。
流程是這樣的:
? 用戶點擊"購買"
? 手機開始下載(用HTTP Range,因為連接會斷)
? 服務器分塊傳輸
? 設備完成后,發送隱藏完成信號
? 然后服務器計費
如果火車進隧道,用戶不被收費。服務器持續保持工作,只要設備還在線。最終要么下載完成我們計費,要么沒完成我們承擔成本。
20年后,我會這樣表述這條規則:沒人知道工作何時完成。但當它完成時,我想準確報告。所以我讓用戶等待——作為交換,我盡可能重試,直到有結果。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.