結論先講
好的全端工程師不是「前端後端都會一點」的人。是有一邊夠深,另一邊能獨立作戰的人。如果兩邊都只碰到表面,你不是全端工程師,你是「什麼都不精的工程師」。
市場上很多「全端」職缺其實是在找「能同時做兩個人工作的人」。你需要分清楚哪些是真正的全端角色,哪些只是人力不足的偽裝。
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、資料庫設計、錯誤處理、安全等面向。
系列導航
- [01] 好的前端工程師需要什麼能力?
- [02] 好的後端工程師需要什麼能力?
- [03] DevOps 工程師需要什麼能力?
- [04] 好的全端工程師:廣度和深度怎麼平衡? ← 你在這裡
- [05] 好的 Tech Lead 需要什麼?
- [06] Junior 和 Senior 的真正差距