軟體開發者的下一次演進:從實作走向意圖、編排與擁有權。
在過去幾個月裡,我讀了無數篇討論 AI 是否會取代軟體開發者的文章。有些人預測程式設計將走向終結;也有人認為不會有什麼重大改變。
就我個人而言,我認為這兩種觀點都沒有切中要點。
真正的轉變不在於 AI 會寫程式碼。我們早就知道它可以。真正有意思的問題是:當寫程式碼不再是打造軟體最困難的部分時,我們這個職業會發生什麼事?
回顧軟體工程的歷史,我注意到一個反覆出現的模式。每一次重大創新都提高了抽象層次。
我們從組合語言走向高階語言。我們不再手動管理記憶體。框架把重複性的樣板程式碼抽象掉。雲端平台移除了過去需要專門團隊才能處理的大量營運複雜度。
每一步都讓開發者更有效率,因為我們能把心力從實作轉向解決問題。
AI 讓人感覺像是同一條演進路徑上的下一步。
它不是要取代軟體開發者,而是把我們往抽象層級更高的一層推進。
轉變不是從開發者到 AI,而是從撰寫程式碼轉向定義意圖、編排系統,以及承擔成果。
剛開始職涯時,軟體開發的重心圍繞著 IDE。典型的一天就是建立類別、實作函式、修正錯誤,並隨著一次次 commit 逐步演進程式碼庫。
程式碼是我們向電腦表達意圖的方式。
隨著軟體系統變得越來越龐大,有趣的事情發生了。理解既有程式碼,和撰寫新程式碼一樣有價值。
整個顧問專案可能都在處理舊有應用程式的接手、理解它們的運作方式、在不引入迴歸問題的情況下修正錯誤,並安全地加入新功能。
閱讀程式碼成了一項極有價值的技能,因為最終而言,理解系統比再多寫一百行 PHP 或 Java 更重要。
今天,我相信我們正見證另一場轉變。
抽象層正在再次移動。
軟體工程每一次重大的演進,都提高了抽象層次。AI 只是下一步。
我有越來越多的時間不是花在思考實作,而是先理解問題。
我定義需求、釐清限制、評估取捨、設計架構、串接既有平台、審查 AI 產生的程式碼,並判斷哪些地方用確定性軟體就足夠,哪些地方則真的需要 AI 推理才能創造價值。
寫程式碼仍然是我工作的一部分,但它不再一定是創造最多價值的活動。
這也是為什麼我不認為軟體開發者會消失。我認為我們是在往堆疊的另一層移動。
多年累積的技能與技術知識不會突然變得無關緊要。恰恰相反。它們讓我們能在更高的層次運作,因為我們可以理解我們所使用的抽象層之下到底發生了什麼。
這個角色不再是把每個決策一一手動翻譯成程式碼,而是先把這些決策做對。
開發者並不是變得比較不技術化,而是在更高的抽象層次上運用技術能力。
幾十年來,IDE 一直是我們打造軟體的主要介面。
而且這個介面正逐漸改變。
我們可以描述想要打造的東西、提供上下文、定義需求與限制,然後讓系統幫我們產出部分實作。至於那些系統是 Codex、Claude Code、Gemini CLI,或是還不存在的工具,其實都只是次要問題。
真正有意思的是我們與軟體開發互動方式的轉變。
IDE 不會消失。我仍然預期會開啟檔案、檢視程式碼、除錯問題、審查實作,並偶爾直接寫程式碼。
但它的角色會改變。
它不再是每一行軟體誕生的地方,而是越來越成為檢視、理解、驗證與演進生成式實作的其中一個場域。
我們主要的介面,正逐漸從實作轉向意圖。
IDE 過去是軟體被創造出來的地方;現在它正逐漸變成軟體被審查的地方。
這場轉變也改變了軟體開發的經濟學。
沒錯,AI 是有成本的。Token 不是免費的。
但如果把產生、審查與反覆迭代程式碼的成本,和完全以人工方式完成相同工作的成本相比,你很難忽視這個產業正在前往的方向。
實作正變得比以往便宜得多。
我不認為這代表軟體的價值降低。若要說有什麼影響,那就是我們會打造出更多軟體。
過去太昂貴而無法實作的點子,現在突然變得可行。小型企業可以自動化那些以前根本不值得客製化軟體去做的流程。自由工作者可以打造過去需要整個工程團隊才能完成的產品。新創公司也能更快試驗,因為實作成本持續下降。
而所有這些新的軟體,仍然需要一個地方去執行。
它需要可靠的基礎架構、部署平台、可觀測性、驗證、內容管理、金流、監控、儲存、資料庫、整合與安全性。
像 Laravel Cloud、Vercel、Netlify、Storyblok、Supabase、Stripe 以及其他許多平台,並不會因為 AI 能產生程式碼就變得不重要。它們提供了讓更多點子得以成為真實產品的基礎建設。
軟體的創造變便宜了,但運作、演進與承擔責任這件事,並不會魔法般消失。
而這也帶來我認為是我們這個職業最重要的變化之一。
實作變便宜了,擁有權變得更有價值。
讓我們想像一個未來:某個專案裡的每一行程式碼都由 AI 產生。
那麼,誰擁有這個軟體?
不是 AI。
仍然有人要擁有架構。有人要決定各個服務如何溝通。有人要為安全性、擴充性、可靠性、法規遵循、效能、成本與長期可維護性負責。
有人要判斷哪些取捨是可以接受的,哪些技術債可以等等再處理,哪些技術債已經變得危險。
有人需要理解某個架構決策當初為什麼這樣做,以及六個月後這個決策是否仍然合理。
當正式環境在凌晨兩點出問題時,最後要被問責的仍然是某個人。
而那個人很少會是大型軟體產品中的單一個體。通常會是人與團隊,各自承擔系統不同部分的擁有權。
產生程式碼,不代表擁有產品。
這是兩種完全不同的責任。
事實上,我認為實作越便宜,擁有權就越有價值。當 AI 降低了產出軟體的摩擦,架構、功能與非功能性決策的品質,就會成為更強的差異化因素。
做軟體從來不只是產生程式碼而已。它是做決策,並承擔這些決策後果的責任。
程式碼可以被生成,責任不行。
應用程式內部也正在發生另一個令人著迷的變化。
幾十年來,大多數商業邏輯都是確定性的。給定相同的輸入與狀態,我們預期每一次都會得到相同的輸出。
AI 帶來了不同的東西。
應用程式現在可以在執行時推理、解讀自然語言、分類資訊、摘要文件、產生內容、選擇工具,並根據上下文做決策。
我們系統中的某些部分,正從純確定性轉向機率性。
這創造出一整個新的工程決策類別。
我們應該在哪裡使用 LLM,哪裡傳統函式會是更好的解法?我們要怎麼測試一個輸出可能合理地改變的東西?我們要怎麼評估它的品質?我們要怎麼在正式環境中監控它?允許多少變異是合理的?當模型產生意料之外的結果時該怎麼辦?
我們在執行時引入的智慧越多,這些問題就越重要。
AI 並不是透過提供一個智慧元件來消除工程決策。
它只是創造了新的工程決策。
AI 不會消除工程決策,它只會創造新的工程決策。
這正是這場演進中讓我感到樂觀的部分。
多年來,許多自由工作者與顧問本質上是在販售實作。
客戶需要一個功能,我們估算工時、實作它,然後依照完成所需的時間收費。
當實作變便宜,這種模式顯然會改變。
但我不一定認為這是問題。
我看到的是機會。
一位資深開發者可以越來越多地結合 AI 能力、雲端基礎架構、驗證服務、金流平台、無頭 CMS、部署服務、資料庫與專用 API,打造出幾年前還需要整個團隊才能完成的產品。
差異化不再只是能否實作每個元件。
而是你知道該用哪些元件、如何把它們組合起來、哪些應該客製化、哪些根本不該做,以及最重要的——到底哪個問題值得解決。
這讓開發者更接近產品本身。
我們不再只是販售實作,而是可以販售解決方案。我們不再只是接收規格並把它翻成程式碼,而是可以參與定義應該做什麼,並對結果負責。
這也是為什麼我喜歡 builder 這個詞。
Builder 的定義,不在於他個人寫了多少程式碼。
Builder 是能理解問題、設計解法、選擇合適工具、編排各個部分、評估結果,並對接下來發生的事情負責的人。
如果從這個角度看我們這個職業,我不認為未來的軟體開發者會創造較少價值。
我認為我們創造價值的方式會不同。
少一點實作,多一點意圖。
少一點打字,多一點決策。
更多編排。
更多擁有權。
我們產業每一次重大轉變,都在沒有移除優秀工程師需求的情況下提高了抽象層次。AI 也在做同樣的事,只是也許規模與速度是我們前所未見的。
它不是要我們變得不那麼技術化,而是給我們一個機會,把技術知識用在更高的層次上;在那裡,理解系統、做出好決策,以及承擔擁有權,會更加重要。
這不是軟體開發的終點。
這是軟體開發者的下一次演進。
原文出處:https://dev.to/robertobutti/the-next-evolution-of-software-developers-2idh