文/黃光彩

ChatGPT 的出現,由於可以輕易撰寫基本的程式碼,當下許多大型科技公司大幅度縮減研發人力,尤其是資淺的軟體工程師。這一下子讓原本宛如天之驕子的軟體工程師驟失光環,不禁讓許多原本考量朝此方向的莘莘學子以及此波剛遭受裁員衝擊的軟體工程師們紛紛懷疑軟體之路是否仍然可行。
事實上,當 AI 能自動生成基礎的程式碼,工程師將從「程式撰寫者(coder)」的角色解放,轉而成為「軟體架構師」與「產品定義者」。AI 便會是你的強力工具,幫你處理繁瑣的程式碼細節。而你的品味與工藝,才是決定產品成敗的關鍵,也是 AI 無法取代的核心價值。
當 AI 讓寫程式的門檻大幅降低,此時,工程師的價值將不再只是「寫出能動的程式碼」。如同設計師的價值從「畫圖」轉向「思考(設計)」,工程師的價值也將從「單純的執行」轉向更深層次的「品味」與「工藝」。
軟體架構思維( Architectural Mindset)
工程師在設計和開發過程中,不僅應專注於單一功能實現,更具備宏觀的系統性思考能力。它體現了品味在軟體工程中的應用,這包含了以下核心:
● 系統性判斷力:在單體(Monolithic)、微服務(Microservices)或無伺服器(Serverless)等架構模式間做出權衡,選擇最符合業務目標和團隊能力的方案。
● 前瞻性思維:預見未來的擴展性、效能和維護性挑戰,並在設計初期就納入考量,避免日後的大規模重構。
● 資產負債表思維:理解技術債(Technical Debt)的本質,並做出明智的決策,知道何時該優先完成功能,何時該投資於架構改善。
設計模式與原則(Design Patterns & Principles)
軟體設計模式是一種技術知識,更是工藝的體現,表示工程師能用優雅、可維護的方式來解決程式碼層面的問題。這涵蓋了:
● 程式碼品質:運用像 SOLID 原則來寫出易於理解、修改和擴展的程式碼,確保每個元件都只負責單一職責。
● 標準化方案:在解決常見問題時,能靈活運用像工廠模式(Factory Pattern)、策略模式(Strategy Pattern)等成熟方案,而非每次都從頭開始。
● 模組化思維:懂得如何將複雜系統拆解成獨立、高內聚、低耦合的模組,讓協同開發更有效率。
[ 加入 CIO Taiwan 官方 LINE 、 Facebook 與 IG,與全球CIO同步獲取精華見解 ]
其中,物件導向(Object-Oriented)設計的 SOLID 五原則,希冀工程師寫出容易閱讀、易於擴充和維護的程式碼。這五原則如下:
▍掌握單一職責(Single Responsibility)原則
▍開放封閉(Open- Closed)原則
▍里氏替換(Liskov Substitution)原則
▍介面隔離(Interface Segregation)原則
▍依賴反轉(Dependency Inversion)原則
工程卓越實踐(Engineering Excellence Practices)
這代表一種對工藝的極致追求,反映在日常開發流程的每個環節。這是一種嚴謹、追求完美的匠人精神,內容包括:
● 測試驅動開發(TDD):透過先寫測試再寫程式碼的方式,確保每個功能都經過驗證,從源頭提升程式碼品質與健壯性。
● 持續整合與部署(CI / CD):建立自動化的測試與部署流程,讓程式碼變更能快速、可靠地發佈,減少人為錯誤。
● 程式碼審查(Code Review):積極參與團隊的程式碼審查,不僅能找出潛在問題,更是一個知識分享與互相學習的過程。這代表工程師不只為自己,也為團隊的整體品質負責。
[ 閱讀更多 黃光彩 的專欄文章 ]
總之,在軟體工程的世界裡,真正的價值不僅來自功能的實現,更來自工程師對技術的品味與工藝的堅持。
(本文授權非營利轉載,請註明出處:CIO Taiwan)