🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

實作2週・需求定義4個月。AI時代的開發中深感「上游工程的價值」

前言

本文將總結一個使用 AWS × dbt × Snowflake 進行數據基礎建設項目的經驗,
需求定義到設計花了4個月,實作僅用2週
這讓我深感「這樣的平衡正常嗎?」的學習與體會。

本篇內容將重點放在上游工程的價值、設計的重要性、以及在AI時代作為工程師所需的能力
而非技術性的小技巧。

在實作階段,AI(ChatGPT / Codex)以驚人的速度推進,然而上游工程卻……
「我們可以聊聊嗎?」本來是這樣說的,但轉眼間已經過了4個月。

通過這段經歷,我深刻體會到,
「專案在撰寫代碼前幾乎已然確定」
這是一個雖然平常但卻重要的事實。


1. 專案概述

在此次專案中,我負責了基於 AWS、dbt 及 Snowflake 的數據基礎設施的設計與實作。

我的角色包括:

  • 需求定義
  • 基本設計
  • 詳細設計
  • 實作(使用AI輔助代碼生成)
  • 單元測試(UT)製作
  • 工作執行與配置管理

整個流程我都全程參與在內。

在這裡,我將重點放在「為何上游工程花的時間比實作多」的感悟上。


2. 上游工程比想像中更困難的原因

在本次專案中,需求定義到設計耗費了超過4個月,
而實作則在2週內結束。

僅從時間數字上看,
可能會有人問「是不是在偷懶實作?」其實恰恰相反,上游工程實在太困難才是事實。

● 認知的差距:一旦確定的方針有可能被推翻

每週會議中,前提條件經常改變,
而且不同的相關人員對事物的解釋也不盡相同。

最具代表性的例子是,
原本因為日程原因暫時擱置的 OTF(實時資訊流)採用方針再度被推翻的瞬間

「咦,又要回去?剛才才放棄過不是嗎?」
在電腦前我默默在心中吐槽,
但在上游工程中,這种“前提的擺動”是常態。

● 資訊的差距:雖然有資料,但卻沒有“真相”

雖然有資料,但卻不知道哪個是最新的;
甚至出現了舊資料反而更正確的反轉現象。

就像是
「有地圖卻都無法指向當前的位置」
的狀態。

參與之後,我首先進行了資料的結構化和更新,
從建立「至少這裡是正確的」的資料起步。

在上游工程中,「正確的資訊在哪裡?」的整理,便能推進專案。

● 距離的差距:多個團隊間的心理及物理距離

當有工程、架構、基礎設施和運營等多個團隊協作時,
決策延遲和認知不一致的情況是無法避免的。

在關鍵時期,我與最緊密的團隊每日進行短會議,
努力透過“縮短距離的方式”克服這個挑戰。

● 讓人意識到的事

需求定義和設計階段的困難,比起代碼更在於
「認知、資訊與距離的溝通量」所決定。

我再次深刻體會到這一點的重要性。


3. 設計文件最注重的是「為誰編寫文檔?」

● 基本設計:統一客戶的認知是目的

在基本設計階段,我提高了抽象度,重點關注客戶真正想知道的

  • 能做什麼
  • 會有什麼好處
  • 運營將如何改變

我特別重視這些問題。

在技術細節上更不如關注
「這樣進行沒有問題嗎?」
的確認階段。

● 詳細設計:「只依靠這些信息能否實作?」

為了讓開發者不會迷惑,
我徹底清晰了

  • 前提條件
  • 例外情況
  • 處理流程(圖表+文字)
  • 具體的入出力例子

我要時刻問自己:
「如果是我來實作,這樣能做到嗎?」
並且在撰寫時不斷檢視。

這一點在後述的“AI實作”中也十分有效。


4. ChatGPT最活躍的階段是“實作”

在此專案中,我感到最驚豔的就是
單元測試(UT)實作的效率化

從傳統的感覺來看,

  • 實作:1
  • UT:3

大約是這樣的工時,但此次則是
體感降到1/10左右。

● 用註解傳達意圖 → AI快速生成測試

在將函式交給AI之前,把其分割為一個職責,
用註解區塊清晰表達「這個函式想要達成什麼」。

這樣一來,ChatGPT好像在說
「我明白了,你想要這樣的東西,是吧?」
便生成了UT。

相反地,若是傳遞模糊的需求,
則可能出現
「我把所有都一起處理了!!」
這樣的巨大 main 函式誕生,需格外注意。

● 測試代碼的修改幾乎為零

即使出現了規範變更或重構,
只需傳達差異,AI便自動調整UT。

實作 → AI調整UT → 繼續進行
這樣的流程讓我純粹感受到「這就是未來」。


5. 自己的優勢是「整理模糊之處,推進項目」

在本次專案中,我強烈感受到自己
「善於整理混沌並推進」的角色。

  • 整理需求
  • 明確不明之點
  • 作為團隊間的橋樑
  • 理清不斷迴圈的討論部分的結構

在這些雖然平凡但重要的環節中,
我多次有能夠確實推進專案的體會。

我再次意識到,這與技術力別無二致的價值。


6. 結語:上游工程無疑具有“價值”

這次的經歷讓我強烈感受到,
上游工程的確是提升工程師市場價值的階段。

整理需求、統一認知、消除模糊,
將其轉化為可實作的形態。

實作部分由AI來加速。
因此,
「實作前的思考時間」才是人類的價值所在。

當然,上游工程是困難的。
也曾有一天我在想「這真的能完成嗎?」

然而,那份困難的背後,
卻有著在實作中無法體會的趣味。

希望這篇文章能成為某人挑戰上游的契機。


原文出處:https://qiita.com/shota_hanawa/items/e242d826570e4292e388


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝17   💬10   ❤️5
434
🥈
我愛JS
📝2   💬8   ❤️4
92
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付