當 AI 工具讓寫程式、除錯、產出文件的速度大幅提升之後,一個容易被忽略的問題浮現了:如果工具能直接給出答案,工程師還要怎麼「學會」東西?工程師 Chelsea Troy 在 Craft conference 發表了題為「在 AI 時代精進程式功力」(Leveling up as a Programmer in the Age of AI)的演講,並在會後接受 InfoQ 專訪。她的核心主張相當直接:AI 可以加速產出,卻不一定能加速能力養成。軟體工程的技能發展,本質上要求我們慢下來。
兩種工作模式:搞定事情與把事情做出來
Troy 將軟體工程活動分成兩種模式。第一種是「figuring stuff out」,也就是釐清系統如何運作、問題出在哪裡、設計該怎麼取捨;第二種是「doing stuff」,也就是真正動手把東西做出來。當我們處於執行模式時,自然想加速;但釐清問題這件事,必須放慢速度才做得到。
問題在於,執行往往依賴釐清。如果還沒搞懂系統就急著產出,速度越快,卡住得越快。Troy 用「降檔」(downshift)來形容這件事:想要前進,反而得先換到低速檔。即使 AI 工具隨手可得,要修改一套系統,仍然得先理解這套系統的運作方式,這一點沒有任何工具能取代。
更尷尬的是,促進學習的活動天生就是低效率的。學習需要注意力與投入,而且往往發生在自己不擅長、感覺挫折的地方。Troy 指出,困惑與挫敗這些不舒服的情緒,正是建立認知能力的必要條件。換言之,學習在設計上就是與效率衝突的,這也是為什麼純粹用工具加速產出,通常無法促進技能發展。
學習科學的三個實用概念
Troy 在演講中引用了學習神經科學中的幾個概念。第一個是間隔重複(spaced repetition):技能養成的核心是專注投入,搭配多次高品質睡眠之間的間隔練習。因此她建議,協助 junior 同事時,可以刻意把學習內容分散到幾天之內,讓大腦在睡眠中鞏固記憶,而不是一次塞完。
第二個是結果預測(outcome prediction)。人在嘗試猜測答案之後再看到正解,內化效果會好得多。具體做法很簡單:在理解某個機制或閱讀程式碼時,每進行一步就停下來問自己「根據我目前知道的,下一步應該是什麼、為什麼」,然後再繼續往下看,驗證自己的猜測。光是這個停頓動作,就能大幅提高內化知識的機率。
第三個是形式多樣化(format diversification)。同一份資訊用多種不同形式接觸,比反覆用同一種形式接觸更容易記住。Troy 提到一個有趣的觀察:很多人自認是「動手型學習者」,但實際上他們是先讀過或聽過某個概念,再動手試、把東西弄壞時才真正記住。動手之所以有效,是因為那是他們第二次或第三次接觸這個資訊,而不是因為他們天生只能用手學習。
AI 環境下的系統性障礙
在 InfoQ 的訪談中,Troy 被問到 AI 時代學習的認知障礙。她的回答是:障礙本身沒有根本改變,因為人類的認知結構與潛能沒有變;改變的是外在環境——對工作速度不斷提升的期待,讓這些障礙的代價變得更高。學習往往意味著放慢、坐下來與問題共處,但當慢下來在職場上不再是可行選項時,工程師就會被迫抄捷徑,而且往往再也不回頭補上原本該學的東西。
Troy 特別指出這是一個系統性問題,責任落在管理者身上,需要向上管理(managing upwards)來建立防護,而不是單靠個人意志力對抗產出壓力。
指導 junior 的關鍵:分辨產出與學習目標
談到如何帶領 junior 工程師學習,Troy 點出當前最常見的混淆:把「工作完成」誤認為「學習目標達成」。她用教學經驗舉例:在二十五人的課堂上要求學生寫一個小型算術語言的編譯器,並不是因為她需要二十五份編譯器,那些成品對她毫無實際用途。真正目的是讓學生透過設計編譯器,親身經歷整個學期要討論的設計問題。編譯器只是學習思考困難問題的玩具題目。Claude 確實能寫出那個編譯器,但那完全錯過了重點,因為重點從來就不是編譯器本身。
由此延伸,學習者應該反思的是「自己作為實踐者想要產生什麼改變」,而不是產出物的品質。真正的績效指標是思維方式的改變。對剛入行的工程師而言,往往需要資深工程師協助判斷一個練習應該針對哪種思維轉變;而資深工程師要做好這件事,必須培養仔細觀察 junior 實際工作的能力——不是依據自己對 junior 的假設,而是針對這位工程師真正寫出的東西給予回應。
影響與限制
Troy 的論點對團隊管理與人才培育有幾個實務啟示。其一,衡量 junior 成長的指標應該重新設計,不能只看交付速度或程式碼產量,否則會鼓勵大家用 AI 跳過學習環節。其二,code review 與一對一指導的價值會更高,因為觀察 junior「實際怎麼做」是 coaching 的基礎,而這需要資深工程師投入時間,本身也是一種「慢下來」。其三,間隔重複、結果預測與形式多樣化這些技巧成本很低,可以立即融入日常學習與 mentor 流程。
也需要注意這篇報導的限制。內容主要來自一場演講與會後訪談,呈現的是 Troy 的觀點與引用的學習理論,而非新的實證研究數據;文中所引的學習科學概念雖有研究基礎,但如何量化其在軟體團隊中的成效,報導並未提供。此外,「工作完成不等於學習達成」在實務上要落地,仍取決於組織是否願意承受短期的速度下降,這正是 Troy 所說需要管理者向上管理的部分。
生成式 AI 改變了技能養成的環境,但人類解決問題的生理與心理機制並沒有同步改變。Troy 的結論或許是整篇演講最重要的一句話:想有效使用工具,了解工具的運作方式有幫助,但了解自己如何學習、如何運作才是關鍵,並且要用符合學習規律的方法持續訓練自己、帶領下一代工程師。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。