最近和同事聊到一個有趣的觀察:在IT架構中,開發團隊與網路團隊常常在同一個專案中合作,卻有著完全不同的思維模式與關注重點。

「網路思維」:重視架構的每一層細節
對網路工程師來說,一個架構如果「疊床架屋」、封裝層層,或經過多次轉發,就會被視為設計不良。他們會糾結於:

  • 資料包到底經過幾層NAT或Proxy?
  • 是不是用了不必要的Tunnel?
  • 為什麼這裡不是L2而是L3?為什麼要轉來轉去?
  • 封包轉送效率、路由選擇是否最優?
  • 整體網路架構是否乾淨、可預測、可debug?
    這樣的思維源於網路工作的本質——要保證傳輸的可靠性、可觀察性與性能,而這些常常仰賴簡潔、清楚的拓撲結構與協定行為。
    「開發思維」:只在意通不通
    相比之下,開發團隊的關注點通常是:
  • 使用者操作有卡頓嗎?
  • API能不能正確回應?
  • 系統會不會timeout?
  • 有沒有資料遺失或錯誤?

對開發者來說,只要request進得來、response出得去、系統不報錯,那架構背後轉幾次、封幾層、內部有多複雜,其實沒那麼重要。簡單講:「會痛就改,不痛就不管」,這是很務實的做法。

為什麼會有這種差異?
這背後其實反映了兩個團隊的「職責焦點」不同:

  • 網路團隊 需要設計能夠支持長期維運的穩定基礎架構,對於「隱性風險」特別敏感。
  • 開發團隊 則被KPI與使用者體驗驅動,更關注「短期可交付結果」與「可快速修改的彈性」。

簡單講:網路工程師追求「技術整潔度」,開發者更重視「交付速度」與「用戶體感」。

結語:互補而非對立
雖然看似矛盾,但其實這兩種思維是互補的。一個好的系統既要讓使用者感受流暢,也要在底層穩定可靠。開發者需要理解一些網路原理,避免「痛點」太晚發現;網路工程師也可以多關注實際應用的需求,讓設計更貼近業務優先級。
在跨團隊合作中,理解彼此的出發點與擔憂,是推進系統整合與改進的第一步。