當 vibe coding 已成必然,軟體開發會有什麼變化?

當 vibe coding 已成必然,軟體開發會有什麼變化?

當 Vibe coding 興起後,有愈來愈多的資深工程師的工作重點轉換到修復 AI 寫出的各種 bug。因這個現象,有些資深工程師們打趣地說,他們現在的任務像是專門處理這些 vibe coder 寫出來的爛 code。而這個職務稱為 Vibe Coding Cleanup Specialist。

我個人絕對支持 vibe coding,因為這是軟體開發的典範轉移,用得好的話可以大幅提升生產力,加上 AI 顛覆職場的趨勢幾乎不可逆。擁抱變化會比抗拒變化更明智。
這讓我回想起 2005 年剛出社會時,因為我起步的程式領域是 C#.net,使用的開發工具是 Visual Studio。C# 的好與壞我就不提了,但在當年,Visual Studio 這工具被稱為地表最強 IDE 應該是沒問題的。

它有多方便呢?所見即所得,元件直接拉到畫面上,出來的畫面就長那樣,用滑鼠點擊就能產生前後端對應事件,透過 datasource 設定就能連結資料庫,把 datagrid 元件綁定 datasource 資料表格就好了。當年還搞出了一個 updatepanel 這樣的鬼東西,讓 ajax 變得超級容易,你不用懂 XMLHTTP 一樣能做到局部刷新。

可這些容易背後,經常伴隨著很多技術債。

因為 junior engineer 沒有機會學習如何好好處理一些需求跟技術細節,例如 SQL injection 的處理、資料分頁、session、viewstate、memory leak。所以在小規模或短時間內的使用,功能通常很正常,但使用人數一多,或使用時間一長,系統就會出現不穩定、效能緩慢,甚至崩潰的問題。

當年,有意願去處理工具便利所帶來的問題的工程師們,往往成了大家眼中可靠的夥伴。而有興趣去了解技術細節的工程師們,則能在這種過程找到寫程式的真正樂趣。

當年我有很大比例的工作就在處理這些因便利而帶來的問題,包含我自己在懵懂未知時寫下來爛 code。

但我並不覺得 Visual Studio 提供這樣的便利是種錯,畢竟它的官方文件中其實都有寫使用該元件的注意事項。有問題的是我們在使用時往往很懶得去閱讀這些文件,有時是因為我們沒碰過類似的狀況,所以輕忽了,也可能是認為自己的使用情境不會觸發類似的問題,因此選擇無視。

Visual Studio 的便利,讓沒經驗的工程師能在短短一個月的時間內寫出一些不完善,但可運作的程式。而當中可能僅有 10% 的程式重要到會請有經驗的資深工程師來處理善後。

回過頭來看這段歷程,其實跟 vibe coding 的興起很像。

他將讓數十億人開始動手寫程式,就像 30 年前大家開始用 excel 一樣,或像 20 年前大家使用 Visual Studio那樣,肯定會造成很多問題。但這跟促進數十億人提升生產力相比,這問題就顯得無足輕重了。

但最後我還是有一些良心建議。

  1. 核心元件,交給可靠的資深工程師來處理。當年這些工作是由我們團隊做封裝後才提供給 junior engineer 來使用,可以大幅降低崩潰性問題的發生。
  2. 資料存取,使用共用元件而非讓所有人自己撰寫 SQL。資料庫的安全對應用程式來說是關鍵中的關鍵,早期我們透過宣導使用參數形式處理 SQL,但總是會有工程師忽略。後來除了宣導外,乾脆直接讓那些不使用標準元件存取資料庫的程式碼,在執行時完全無法存取測試資料庫與正式資料庫。
  3. 元件引用,所有引入的外部元件都需要被檢驗。因為網路便利,會有許多工程師上網下載各種 3rd 元件,或者引用一些開放的 API。但這些元件與 API 的可靠性與安全性其實都是問題。資深工程師有完整的軟體工程觀念,對版控、安全性、可維護性、可遷移性等有完整認知,但 junior 們往往沒有。而這也會成為長期維護的隱憂,可能是後門,也可能是授權問題,甚至可能在對方關閉了 API 後導致整個系統掛了。
  4. 架構設計,不論是細節的系統設計,或者更廣泛的系統部署架構,要盡可能維持 SOLID principles。從一開始就假設會有上百位程式基礎不好的 vibe coder 會跟你一起開發系統,會大量調用系統的 API 或元件。
  5. 建立符合開發標準的 GPT 或設定檔。 ​你可以建立一個符合團隊開發標準的 GPT,讓所有團隊成員使用,而非大家都用開放內容的 GPT。或者清楚定義諸如 Cursor 的 md file,將一些 design principles、database schema 等做好宣告。讓使用 AI 工具開發的成員在共通的基準下進行開發。這可大幅避免許多問題。

在將近 20 年前,我負責設計軟體的底層架構,有段時間我也經常要收拾那些只懂得使用 Visual Studio 的工程師所留下的殘局。

我有時也會抱怨「寫這什麼鳥 code」、「沒有資安意識」、「這東西沒授權你也敢用」、「這種效能也敢提交」。

可我主管問我:「從商業推進的角度來看,這些人參與到開發工作中是必然的。但從軟體開發的角度,我們可以做些什麼來讓這些問題不發生呢?」

這是個很好的提醒,接下來的軟體開發,當 vibe coding 已成必然。

我們的專業將會更高比例的放在「讓更多人加入提高生產力,同時還要確保不出差錯」。

如果你覺得我內容寫得還不錯,歡迎訂閱我的電子報,我每雙週會發送一封電子報到你的信箱。訂閱連結在這,過往的電子報也在這:Gipi電子報

也鼓勵你可以將我的電子報分享給你認為有需要的朋友們,也許你的舉手之勞,將會改變另一個人的思維與習慣。

Read more

2026 第三次復盤

2026 第三次復盤

原先要在中秋假期時完成今年的第三次復盤,可因故延誤了,但想想這季還是有許多深刻的心得值得跟大家聊聊。 青色組織夢的復興 我當年創辦學院社群時,我心裡有個很濃厚的情懷,我認為最有效的學習就是創造一個環境,讓所有人在這個環境中彼此學習,互相協助。就像一個大同社會一般,你幫我學習,我幫你成長,你貢獻一點,我也貢獻一點,這個環境肯定就會更好,而我們每個人也能獲得更多。 我當年是真心相信這件事,所以學院的第一年,我們在只有兩個正職員工的狀況下,靠著學員擔任志工,我們前前後後舉辦了將近 60 場講座,以及數十場聚會,跟數百場的小組學習活動。 只要你願意成為志工,組織一場講座,而其他的 99 個人也都做了一樣的事,我們每個人投入的是一分力氣,但最終我們會獲得一百分的回報。 這是我心目中理想的社群樣貌,而我到目前仍然相信環境對一個人的影響遠大於一個老師或是一堂課程。 可以當年,我們跌了很大一跤,那次的挫敗甚至讓我有些懷疑我是不是過度理想化了。我忽略了很多現實面的問題,也忽略了自己的身分角色,還忘了很多事,並不是那麼理所當然。那年我也在 MOPCON 分享了這個經驗,有興趣的朋友可以自行觀

By gipi
[徵才]方圓國際誠徵四個新職務

[徵才]方圓國際誠徵四個新職務

我又要來招募了,這次要招募的職缺有四個,工作地點都在台中。 6 月份的時候我啟動了一波招募,那波中我招募了工程師、門市體驗設計師、萃茶系統負責人、小舖成長主管。後來我們也引入了品茶師、珍珠學院培訓師與院長,以及一群儲備幹部們。 目前這些人都已經在職,且一起進行了許多有趣的任務。 我們相信,品牌是由內而外的,需要讓員工先感受到,客戶才會感受到, 我們相信,品牌不只是一種形象,而是一種持續兌現承諾的能力, 我們相信,餐飲不是門苦生意,而是能帶給自己與他人幸福的事業。 這是我在方圓工作這段時間,我堅定不移的信念,也是我們團隊一起前進時重要的信條。 現在,我又要招募幾位夥伴加入我們團隊,如果你對以下職務感興趣,歡迎將你的履歷寄送到我的信箱:gipi@teashop168.com.tw AI-native senior full-stack product engineer 之前已經有招募過工程師,但因為要推進的事項很多,所以想再多找一位開發夥伴加入我們。 AI-native,我希望你現在已經是將大量的工作交給 AI,不論是

By gipi
讓生活變成你喜歡的樣子

讓生活變成你喜歡的樣子

一個人一早在無人的 Stanford 校園散步,在教堂牆上看到 Faith、Hope、Charity、Love 四個詞彙,有點感觸,坐在門口的椅子上,想想這陣子做的一些決策。 管理,是管事理人 這是很多年前古哥跟我說過的一個概念,核心思路是「你得在事情上參與,理解問題的本質,並把時間花在梳理人會卡關的議題,讓人可以朝好的方向前行」。 過往專業經理人時期,我理解這概念,但因為我會有短期的戰功需求,所以我會想盡快把事情解決,對人的耐性也相對有限。當 team member 的調整速度太慢時,我可能會插手處理。這樣的好處是事情會很快有進度,壞處則是對方的學習空間減少,潛力難以激發,工作動機也會在我一次次參與後逐漸減少。 現在我比較沒有短期成果壓力,所以在找出問題根因後會願意花時間去陪一個人成長。因為我相信,只要這人是對的,最終都是先苦後甘,前面慢一點,但後面就會快很多。 就像我以前分享過的培訓概念一樣,早期人的成長不明顯,因為培訓發揮效用要時間。可當培訓的效果開始發酵,他的績效就會逐步展現。而且這人因為被信任,備栽培,所以他的工作心態也會截然不同。長期能帶來的效益是難以估計的。

By gipi
《最有企圖的一天》讀後感

《最有企圖的一天》讀後感

看《最有企圖的一天》看到這個漏斗。 這張圖與其說是漏斗,不如說是一個堆疊圖。 意圖堆疊 作者的觀點是當一件事符合你的價值觀,又是你生活的優先事項,同時也與你的目標契合,而你也設定了計畫要來完成他,那在即將要做的這個當下,你的意圖會極大化,這就是所謂的「意圖堆疊」。 我很重視助人成功,所以我在思考工作時總會往能影響更多人,解決更難的問題的角度思考。我選擇了教育產業,選擇擔任講師、顧問、Mentor;選擇軟體產業擔任 PM、架構師;選擇加入餐飲業,思考策略時往能改善門市現場,又能兼顧總部營運的方向發展。 助人成功是我的價值觀,影響更多人,解決更難的問題是我的優先事項。 我會找到符合這兩者的公司加入,因為與公司方向契合,所以設定目標時便有機會趨於一致。我在想跟做之間就沒有障礙,而沒有阻礙,意圖便可推疊,反之,意圖很可能會遭到打斷。 意圖持續時間 而「意圖的持續時間」概念是什麼呢? 如果你只是當下想到要做,那意圖的持續時間是最短暫的,可能就是當下那一秒,可過了這個時間點,你的意圖可能就會消失了。舉個例子來說,我們都有過對一件事只有三分鐘熱度的狀況,像我曾經想學烹飪,

By gipi