結論先講

好的全端工程師不是「前端後端都會一點」的人。是有一邊夠深,另一邊能獨立作戰的人。如果兩邊都只碰到表面,你不是全端工程師,你是「什麼都不精的工程師」。

市場上很多「全端」職缺其實是在找「能同時做兩個人工作的人」。你需要分清楚哪些是真正的全端角色,哪些只是人力不足的偽裝。


1. T-shaped Skills:什麼該深,什麼該廣

T 型人才的概念很簡單:橫槓是廣度,直槓是深度。

前端 | 後端 | DB | DevOps | Design | PM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  ← 廣度(都了解)
     |
     |      ← 深度(某一個很強)
     |
     |

為什麼要這樣:

只有廣度只有深度T 型
什麼都能做,但做不好做得很深,但只能做一種事一個方向做得深,其他能配合
被取代性高碰到跨領域問題就卡住能獨立完成功能,也能深入解問題
面試問深了就答不出來跨組溝通有障礙跟各種角色都能對話

深度的標準:

你的「深」要到什麼程度?至少要能:

  • 做架構決策(不是只能用,是能選擇和設計)
  • 解非 trivial 的 bug(不是 Google 就能找到答案的那種)
  • Code review 時能指出設計層面的問題
  • 面試時能回答「為什麼」而不只是「怎麼做」

2. 全端不是半端:常見的陷阱

陷阱一:什麼都學,什麼都不精

看到新框架就學、新語言就碰,GitHub 上有一堆 hello world 專案,但沒有一個做到產品等級。

你不需要會 React + Vue + Svelte + Angular。你需要把 React 學到能做架構決策,然後了解其他框架的哲學。

陷阱二:後端只會 CRUD

前端出身的全端,後端能力常常停留在:

  • 會寫 Express/Django 的 route
  • 會用 ORM 做基本查詢
  • 不知道 N+1 query 是什麼
  • 沒處理過 race condition
  • API 錯誤一律回 500

這不叫「會後端」,這叫「能讓 API 跑起來」。

陷阱三:前端只會套 UI 框架

後端出身的全端,前端能力常常停留在:

  • 會用 Material UI / Ant Design 拼頁面
  • 不知道 CSS specificity 怎麼算
  • 響應式設計靠 @media 硬寫
  • 效能?那是什麼?
  • 「IE 不支援?那就不支援。」

這不叫「會前端」,這叫「能讓頁面出來」。


3. 該從哪邊開始:Frontend-first vs Backend-first

兩條路都可以走,但路徑不太一樣。

Frontend-first 路線

優勢:

  • 能快速做出有視覺的東西,成就感高
  • Next.js / Nuxt 這類全端框架降低了後端門檻
  • 對用戶體驗有直覺

需要補強的:

階段學什麼目標
第一步Node.js + Express/Fastify能寫基本 REST API
第二步SQL + ORM(Prisma/Drizzle)能設計 schema、寫 migration
第三步Auth(JWT、session)能實作登入系統
第四步佈署(Docker + cloud)能把 full-stack app 部署上線
進階Cache、queue、security能處理 production 等級的問題

Backend-first 路線

優勢:

  • 對系統架構和資料流有清楚的思考
  • 安全意識比較好
  • 對 API 設計有經驗

需要補強的:

階段學什麼目標
第一步HTML/CSS 基礎不靠框架能排版
第二步JavaScript 深入Event loop、Promise、ES Module
第三步React/Vue(選一個)能做 SPA,理解 component 思維
第四步狀態管理 + 路由能做完整的前端應用
進階效能、a11y、testing能做出 production 等級的前端

4. 什麼時候全端有意義

全端不是在所有情況下都是最佳選擇。

適合全端的場景

場景為什麼適合
早期新創(< 10 人)人少,一個人要能從頭做到尾
內部工具不需要極致的前端體驗或後端效能
MVP / POC快速驗證,不需要分工太細
小型 side project自己就是整個團隊
快速原型需要快速迭代,減少溝通成本

不適合全端的場景

場景為什麼不適合
大型產品團隊前後端都需要深入,半端的人反而拖慢速度
高效能需求前端需要極致的動畫/互動,後端需要極致的吞吐量
嚴格的安全需求金融、醫療,需要專精的安全知識
複雜的基礎設施需要專門的 Infra/DevOps 人才

5. 該偏哪邊:看團隊和產品

如果你已經決定走全端,你的「深」應該偏哪邊?

看團隊組成:

  • 團隊裡前端多 → 你往後端深入,價值更大
  • 團隊裡後端多 → 你往前端深入,成為橋樑
  • 都差不多 → 看你的興趣和天賦

看產品性質:

  • 2B SaaS → 前端複雜度高(表格、dashboard、複雜互動),偏前端
  • 2C 電商 → 前後端都重要,看團隊
  • 資料平台 → 後端和資料處理複雜度高,偏後端
  • 內容網站 → 前端和 SEO 重要,偏前端

看市場趨勢:

  • 前端全端(Next.js/Nuxt):門檻降低,競爭者多
  • 後端全端(Rails/Django + 基本前端):比較少人,但需求穩定
  • 偏前端的全端在台灣市場需求比較大(因為很多公司不想請兩個人)

6. 「一人團隊」的迷思

很多新創在找的「全端」其實是想用一個人的薪水請兩個人。

一人團隊的現實:

  • 你會同時處理前端 bug、後端 API、資料庫 migration、部署問題
  • 你沒有人可以 code review
  • 你沒有人可以討論架構
  • 你的技術債只有你自己知道
  • 你出去度假時沒人能接你的工作

如果你選擇當一人團隊:

要做的為什麼
嚴格限制技術棧不要每個 service 用不同語言
選成熟的全端框架Next.js、Rails、Django(有 convention 的框架)
自動化一切CI/CD、自動測試、自動部署
寫文件給未來的自己三個月後你會忘記為什麼這樣寫
用 managed service不要自己管資料庫、不要自己管 K8s
設定監控和告警你睡覺的時候誰看系統?

面試時怎麼評估全端職缺:

問這些問題來判斷是真正的全端還是偽裝:

  • 「團隊裡有其他工程師嗎?」
  • 「前後端的比例大概是?」
  • 「有 DevOps 或 SRE 嗎?」
  • 「我會需要處理部署和基礎設施嗎?」
  • 「code review 是怎麼進行的?」

如果答案是「你一個人搞定所有事」,那不是全端工程師,那是 CTO + 開發 + 運維 + QA,而且只拿一份薪水。


全端工程師能力檢核表

能力初級全端資深全端
前端能用框架做 CRUD能做效能優化、能處理複雜狀態
後端能寫 REST API能設計 API、處理並發、做安全防護
資料庫能用 ORM 查詢能設計 schema、優化查詢、做 migration
部署能用 Vercel/Railway能設定 Docker + CI/CD
架構照著做能自己決定技術棧和架構
溝通能回報進度能跟 PM/設計師討論 trade-off

FAQ

Q1: 全端工程師薪水比較高嗎?

不一定。在台灣,專精前端或後端的 Senior 往往比全端 Senior 薪水高。因為專精的人在大公司更有價值。但在新創和小公司,全端的需求和待遇比較好,因為一個人能做更多事。

Q2: 全端工程師面試會考什麼?

通常會分開考前端和後端,但不會每個都考到 Senior 等級。大概是一邊 Mid-level、一邊 Junior+ 的標準。系統設計會考簡單的全端架構(「設計一個短網址服務」之類的)。

Q3: 全端適合走管理路線嗎?

很適合。因為你理解前後端,溝通成本低,做技術決策時能考慮到全局。很多 Tech Lead 和 Engineering Manager 都是全端背景。

Q4: 要不要學 mobile(React Native / Flutter)?

除非你的產品需要,否則不用。Web + API 已經夠廣了。加上 mobile 你就是在挑戰人類的極限。如果真要碰,React Native 對 React 開發者是最小的跳躍。

Q5: Next.js 算全端框架嗎?用 Next.js 就是全端工程師嗎?

Next.js 是全端框架,但用 Next.js 不等於你是全端工程師。如果你只是用 API Routes 寫簡單的 CRUD,你的後端能力還是 Junior。全端的「後端」要能處理 auth、資料庫設計、錯誤處理、安全等面向。


系列導航