原本學的是物理與光電相關技術的我,剛踏入職場時,正好遇上智慧型手機與平板快速發展的時期。處理器效能不斷提升,螢幕也從單純顯示畫面,逐漸結合觸控,成為使用者操作裝置的介面。我當時看的是硬體與光學特性,但也開始注意到,真正決定這些裝置能做什麼的,其實是裡面的軟體。
後來,我開始自己學寫程式。第一個 WinForms 程式很簡單,畫面也談不上好看,可是當按鈕按下去,程式真的按照我的想法動起來時,那份心情就像小孩親手用積木把想法拼出來,雖然它不一定完美,卻是無比的興奮。這份成就與感動讓我從硬體慢慢走向軟體,最後成為一名軟體開發人員。
工作了一段時間後,我對軟體開發的理解也有了新的認知。寫完 Code 其實只是其中一部分,之前要先弄清楚需求、安排工作,之後還要透過測試確認結果。這些年,網頁、雲端服務與自動化工具持續改變開發方式;到了生成式 AI 出現,查資料、整理規格和撰寫程式又快了一截。工具一直在變,但要解決什麼問題、功能是否真的能用,還是得由人來判斷,而這個概念從以前到現在的開發流程,仍然保持這樣的精神。
我會選擇「專案管理」當作這次鐵人賽的主題,也是因為它剛好串起了這些經驗。一套專案管理系統,表面上是任務清單與進度看板,實際上還會碰到帳號權限、工作流程、資料紀錄與系統通知。市面上已經有很多成熟工具,但公司實際運作時,偶爾還是會碰到現成產品無法完全配合的流程與資料規則。所以我想試著做一套能在本機執行、也方便自行調整的開源方案,並把這個開發過程完整記錄下來。我也想藉著這次參賽,重新整理自己這些年累積的工作經驗。
接下來會以這套專案管理 Web 應用程式為主線,從需求整理、系統設計並搭配Codex的規劃模式一路做到測試與雲端部署。這 30 天會用到的主要技術與工具如下:
這個系列不會一開始就急著寫程式。明天會先說明專案管理在管什麼,再逐步進入需求、流程與架構設計。等問題和邊界變得夠清楚了,才讓 Codex 參與實作。