本文探討了科技變革對開發者角色的影響,以及 AI 輔助開發的真實情況。文章指出,科技進步並未淘汰開發者,而是將他們轉型為更專業、薪資更高的角色。AI 輔助開發也遵循此模式,重點將轉向系統架構而非單純的編碼。
科技變革與開發者角色的演變
從系統管理員到 DevOps 工程師
回顧過去,網路公司中總有一位精通 Windows IIS 和 Linux 的「建構大師」(Build Master),他們熱衷於虛擬環境和 Vagrant 等新技術。隨著雲端運算興起,這些系統管理員並未被淘汰,而是轉型為 DevOps 工程師,薪資也隨之翻倍。
無程式碼運動與雲端革命
無程式碼運動並未消滅開發者,而是創造了無程式碼專家和後端整合人員。雲端運算也並未消除系統管理員的需求,而是將他們轉變為 DevOps 工程師。Salesforce 是一個獨立的世界,也需要專業知識。
AI 輔助開發的真相
從編碼到架構:技能轉移
AI 輔助開發承諾 AI 將會編寫所有程式碼,但現實是,我們需要能夠有效協調 AI 系統的工程師。這實際上是同一批工程師,但現在擁有新的技能和更高的薪資期望。
AI 工具的誤解與應用場景
對於那些只需要在短時間內完成的小型專案,AI 確實可以加速開發流程。然而,對於需要長期維護的專案,AI 生成的程式碼可能存在技術債務問題。
系統架構的重要性
文章強調,軟體工程中最有價值的技能不是編寫程式碼,而是架構系統。AI 輔助開發突顯了這一點,即使 AI 能夠生成程式碼,仍然需要架構師來確保系統的整體性和可維護性。
AI 輔助開發的挑戰
程式碼品質與一致性
AI 生成的程式碼可能缺乏一致性,例如在同一個檔案中使用多種不同的方式計算距離,且缺乏向量運算。這種程式碼不僅難以維護,還可能導致效能問題。
AI 的局限性:缺乏判斷力與經驗
AI 無法像人類一樣進行整體判斷,也缺乏經驗和直覺。例如,AI 可能會生成編譯通過的程式碼,但無法判斷架構是否適合特定的商業環境。
過度依賴 AI 的風險:產生更多負債
文章警告,過度依賴 AI 可能會導致產生更多負債。如果程式碼品質不佳,即使能夠更快地產生程式碼,最終也會增加維護成本。
如何應對 AI 輔助開發的浪潮
平衡實用性、理論與溝通
開發者需要具備實用技能、理論知識和溝通能力。他們需要能夠將系統整合在一起、與他人溝通,並編寫品質良好的程式碼。
強調架構思維
文章呼籲開發者重視架構思維,能夠識別設計上的不一致、診斷效能問題,並了解設計決策對整體系統行為的影響。
避免過度分解與微服務濫用
文章引用 LinkedIn 的貼文,指出過度將功能完善的系統分解為微服務,可能會導致問題增加,成本上升。
結論
科技變革不斷改變開發者的角色,而 AI 輔助開發只是最新一波浪潮。重要的是要理解 AI 的局限性,並將重點放在系統架構、程式碼品質和溝通能力上。開發者需要成為能夠協調 AI 系統的架構師,而不是單純的程式碼編寫者。