![]()
Brian Jenney 見過太多"自學成才"的陷阱。他創辦的 Parsity 訓練營里,有學員花了兩年刷 LeetCode,面試時卻被一道系統設計題打回原形——不是算法不會,是從來沒見過生產環境里的代碼是怎么腐爛的。
他算過一筆賬:純靠網課自學的工程師,平均要踩 18 個月的坑才能理解"為什么這段代碼去年能跑,今年就成了定時炸彈"。而有資深工程師帶的人,這個周期能壓縮到 4 個月。差距不在智商,在反饋密度。
老工程師的代碼審查,是最高效的糾錯系統
Jenney 觀察到一個反直覺的現象:很多新手害怕代碼審查(Code Review),覺得是被挑刺。但 Parsity 的數據追蹤顯示,每周接受兩次以上深度審查的學員,三個月后獨立交付功能的成功率比對照組高出 67%。
關鍵不是審查次數,是審查者的經驗厚度。一個經歷過三次生產事故的老工程師,能在你的異常處理里嗅出隱患——這種嗅覺無法通過文檔傳遞,只能在具體場景中被點破。
有個典型案例。某學員寫了個用戶注冊接口,自測通過,單元測試覆蓋 90%。資深工程師掃了一眼,只問了一個問題:"如果第三方短信服務商超時 30 秒,你的數據庫連接池會是什么狀態?"學員愣住。兩天后壓測,連接池耗盡,服務雪崩。這個坑,文檔里不會寫,網課不會教,只有被坑過的人才會條件反射式地檢查。
Jenney 把這類反饋稱為"創傷后應激式指導"——老工程師的敏感點,全是傷疤。
模仿是第一步,但多數人模仿錯了對象
新手常犯的一個錯誤:盯著開源項目的代碼風格學。GitHub 上星標 10k 的倉庫確實漂亮,但 Jenney 認為那是"博物館展品"——經過多輪重構、注釋完善、邊界情況處理。新手直接模仿,就像學畫畫只臨摹完成稿,永遠不知道起草時的猶豫和修改痕跡。
他建議學員觀察老工程師的"草稿狀態":需求剛下來時的第一反應、遇到阻塞時的調試路徑、發現方案有坑時的回滾決策。這些實時決策的噪音,比最終提交的 clean code 有價值十倍。
Parsity 設計了一套"影子跟隨"機制:學員不是接任務寫代碼,而是先看資深工程師怎么處理同類任務,記錄對方在哪些節點停頓、搜索什么關鍵詞、向誰發起詢問。三周后,學員再獨立執行相似任務,錯誤模式顯著減少。
有個數據很有意思:跟隨階段記錄的"停頓點"數量,和后續獨立任務的完成質量呈正相關。停頓越多,說明工程師在隱性風險評估上越謹慎——這種謹慎是可以傳染的。
反饋的時效性,比反饋的內容更重要
Jenney 對比過兩種培養模式。A 組:學員寫代碼,周末統一提交,導師下周一給批注。B 組:學員寫代碼,兩小時內必須有人看,有問題當場指出來。六周后,B 組的代碼可維護性評分比 A 組高出 41%。
延遲反饋的問題在于,新手已經形成了錯誤的心理模型。周末提交的代碼,學員可能早就忘了當時為什么那樣寫,導師的批注變成了"事后諸葛亮"的指責。而即時反饋時,學員的思維上下文還在,能立刻理解"這里如果換個寫法,后面能省多少麻煩"。
Parsity 的導師響應時間被硬性規定在 90 分鐘內。不是導師閑,是 Jenney 發現超過這個窗口,學員的糾錯成本指數級上升。這個數值來自對 200 多名學員的追蹤:90 分鐘內獲得反饋的問題,同類型錯誤復發率 12%;延遲到第二天的,復發率 38%。
有個學員在復盤里寫:"以前我覺得導師回太快是監控我,現在我知道,那是趁我還沒把錯誤焊死在肌肉記憶里。"
資深工程師的"廢話",往往是壓縮過的經驗包
Jenney 注意到一個溝通斷層。老工程師說"這個實現有點重",新手聽到的可能是風格偏好;老工程師說"先別優化",新手可能理解為偷懶。實際上,"有點重"可能指"這個查詢在數據量過百萬時會觸發全表掃描","先別優化"可能指"需求下周就變,現在寫抽象層是給自己挖坑"。
他訓練導師做"翻譯":把壓縮過的判斷展開成可理解的因果鏈。不是"這樣不好",而是"這樣不好,因為去年我們類似的做法在促銷時把數據庫打掛了,當時用了三天才回滾"。
這種展開消耗時間,但 Jenney 認為值得。 Parsity 的導師每周花在"解釋為什么"上的時間,平均是代碼審查本身的兩倍。效果是:學員在第三期項目時,已經能預判導師會挑什么刺,提前自我審查。
有個學員畢業兩年后回來說,現在他自己帶新人,終于理解當年導師為什么對某些"小問題"揪著不放——那些都是血換來的條件反射。
Jenney 最近在追蹤一組對比數據:Parsity 畢業學員中,持續與資深工程師保持每周至少一次技術交流的人,三年內晉升到技術負責人崗位的比例是 34%;畢業后就"單飛"的人,這個比例是 11%。他還沒想明白這到底是因果關系還是篩選效應,但他在下一期課程里加了一個環節:畢業半年后強制回訪,檢查學員是否還"蹭得到"老工程師的時間。
你的代碼最近一次被資深工程師挑刺,是什么時候?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.