2026/03/19

從生物老師到 AI 協作開發:我第一次看懂軟體工程師在做什麼

之前從生物老師跳槽為資訊教師時,內心是非常虛的,因為我們雖然修過資工系的重要學分,但是完全沒有相關的工作經驗。學生問我:「老師,唸資工系未來會做什麼?」時,我完全無法回答。

我只知道資工系會修什麼課,但畢業後會面臨什麼情況?我完全不知道。

從生物老師轉到資訊教學,我最心虛的不是程式

這一陣子用 AI 寫了一個手機程式,藉由這個開發過程,現在比較能理解軟體工程師們做些什麼事。

AI 開發手機程式的畫面
圖、AI 協作開發手機程式的過程畫面。

學生問「資工系畢業後能做什麼?」我以前真的答不出來

我的角色比較像是一個空降的、完全不懂程式的產品經理,一行程式碼也沒寫過,但是我做的是:

  1. 瞭解使用者(我自己)的需求
  2. 規劃程式介面
  3. 列出所有需完成事項,依需求的優先次序排列

然後就是要求 AI 幫我做事了。

用 AI 開發手機程式後,我第一次理解軟體開發的工作流程

一些需求一下子就解決了,但有些看起來很簡單的問題卻花了很久的時間,要多個 AI 嘗試處理。經過了好幾天,最後準備放棄時竟然莫名其妙地解決了。

因為有開好幾個視窗,讓多個 AI 幫忙工作,感覺就是管了好幾個軟體工程師,然後要協調他們之間的衝突。

我沒寫程式,但做的事越來越像產品經理

在這個過程中學會在 git 中開分支、解決衝突、合併分支。常常有:「算了,放棄掉吧,整個打掉重練搞不好比較快,反正都是 AI 在做事。」的想法。

但想一想,實際的軟體開發應該就是這樣修修補補,新增的需求可能與舊的架構衝突,只能想辦法解決,不能隨隨便便打掉重練。

實際的開發應該比我這個小程式困難 N 倍(N 可能是幾十、幾百,甚至是無限大),我不能這樣就放棄!就這樣繼續跌跌撞撞往前進(啊,說不定只是在原地踏步)。

真正卡人的不是功能想法,而是修不完的衝突與錯誤

目前基本功能是有了,但還有一些很明顯的錯誤,已經用上 ChatGPT、Grok、Gemini、Claude,甚至是它們的各種不同版本都還無法解決。

AI 的回應都是:「我看到程式碼裡已經有這個功能,但使用者反應無法使用這功能,可能是功能調用有問題,讓我試試不同的作法。

……
……

我已經解決這個問題,而且改善了使用體驗,使用者應該會發現程式更好用了。」

充滿期待地安裝到手機,嗯,一切沒變。Orz

(雖然可以用 flutter run -d edge 讓它在 Edge 中跑起來,或是 flutter run -d emulator-5554 讓它在 Android 模擬器中運行,但跟真的安裝到手機裡還是會有不同,尤其在 Edge 上音效都有問題。)

已經卡 4 天都沒進展了,我又陷入想要打掉重練的心態裡。

這次跌跌撞撞的開發經驗,終於讓我能回答學生了

昨天幾個學生看到我的電腦螢幕上有程式碼,問我這是在做什麼的?

我拿起手機,把程式執行給他們看,他們大呼:「老師,這好方便,你有沒有打算上架,應該會很多人想要下載使用吧?!」

喔,想太多,這類程式多得很啊,免費版程式一大堆,我只是在做人家早就做好的事。

但我就是需要這樣實際走過一次,才知道開發的過程會面臨哪些問題。

AI 除了可以幫我們工作,也讓我有了模擬人生的機會,瞭解一個軟體產品經理可能會面臨的情況。

當然,這只是一個簡易版的模擬,因為我雖然底下管了幾個 AI 工程師,彼此之間可能見解不同,但它們之間不會有政治衝突,也不會有爭功諉過的情況,發生問題就是想辦法解決。

不用擔心部屬爭功諉過、不用顧慮政治鬥爭,也沒有資金燒完、上架死線的問題,只要想辦法解決問題、滿足使用者(我自己)的需求即可。

雖然是一個簡易版的模擬人生,但至少學生問我問題時,我比較有辦法回答他們了。

附註:這篇文章是去年三月寫的,但忘了要發表了。現在按下發布按鍵有點過時了,但還是分享一下經驗。

沒有留言:

張貼留言