---
# System prepended metadata

title: '[Youtube] Web Developete - It took me 10+ years to realize what I’ll tell you in 8 minutes'
tags: [Youtube]

---

# Intro

* 自我介紹：Pete，13+ 年專職開發，指導過許多初學者
* 目標：節省新手多年摸索時間，給卡關與自我懷疑者實用重點

# 1. 你不需要全都會

* 不必背熟整個語言，重點是理解模式與概念
* 能有效搜尋、推理、在壓力下保持冷靜才是關鍵
* 查基本語法很正常，資深開發也常用 Google

# 2. 先學「如何學」

* 只看教學影片無法建立獨立產出能力
* 學語言要「開口說」，學程式要「動手碼」
* 原則：看教學 1 小時 → 純實作 4 小時
* 允許卡關、查資料、把東西弄壞再修

# 3. 完美主義是陷阱

* 追求完美會拖延與消耗動能（如為命名糾結）
* 先完成、先上線，再迭代改善
* 可運行的「醜」程式，比從未發布的「美」程式更有價值

# 4. 你永遠不會「準備好」

* 等到有把握才開始＝永遠不開始
* 自信來自實作與交付，而非等待
* 從小步開始；答應機會、邊做邊查也行

# 5. 真本事是解題力

* 核心是把需求拆成可實作的小塊與持續調試
* 像偵探：提問、追線索、建立假設再驗證
* 少背語法，多理解「為什麼這樣寫」

# 6. 沒人關心你的程式碼，他們只在乎成果

* 用戶/客戶要的是功能可用、體驗流暢
* 架構與抽象是手段，不是目的
* 像水管：重點是水要流；價值優先於炫技

# 7. 倦怠是真實的

* 長時間硬撐不是實力，會摧毀學習與產出
* 設定界線、規律休息、維持可持續節奏
* 把大腦當電池管理，保留能量比盲目加班重要

# 8 協作與溝通

* 明確化需求與驗收條件，將模糊字詞轉成可量測指標
* 提前暴露風險與阻塞點，附帶替代方案與影響範圍
* PR 說明聚焦變更目的、影響面、回滾方式與測試重點
* 會議輸出行動清單、負責人、期限與追蹤方式
* 對話以案例與數據支撐，不用主觀形容詞

# 9 文件與可維運

* 文件只寫「他人明天會用到」的內容：啟動、部署、設定、常見故障
* 用最小可行 Runbook：症狀→診斷步驟→修復→預防
* 以範例驅動說明：命令、輸入輸出、錯誤碼對照
* 版本化文件並與程式碼同倉更新
* 把架構決策記錄為 ADR，包含背景、取捨、拒絕的方案

# 10 測試與可觀測性

* 先測核心路徑與邊界條件，再補次要案例
* 以可觀測性三件套：日誌、指標、追蹤，建立問題定位最短路徑
* 針對易壞處加契約測試與防腐層
* 對外部依賴以測試替身與可靠性模式（重試、退避、斷路器）
* 以閾值告警替代「憑感覺」，避免噪音與告警疲勞

# 11 版本控制與流程

* 小步提交：一次只做一件事並寫清楚意圖
* 使用功能分支與特性旗標，允許未完成功能安全上線
* PR 小而頻繁，寧可多個小變更也不要一次巨型變更
* Rebase 保持線性歷史；重大變更保留合併記錄與說明
* 針對 Hotfix 規範提交流程與回溯策略

# 12 架構與取捨

* 以當前需求與可預見成長曲線選擇最簡架構
* 優先資料流清晰與邊界隔離，再談框架與花式模式
* 設計可替換點：介面化外部依賴、資料庫存取、訊息層
* 以延遲綁定取代超前抽象，避免架構債
* 用延展性指標驗證：新增一功能需改動的檔案數與模組數

# 13 複雜度控管

* 先移除需求與分支再寫程式，能不做就不做
* 偏好純函式與局部狀態，減少共享可變狀態
* 建立「九個以內」的模組/函式規模上限，超過即拆分
* 為核心路徑設定循環複雜度與函式行數閾值
* 用表驅動與資料驅動替代巢狀條件

# 14 估時與範圍管理

* 先列前置條件與未知項，再估工時並加緩衝
* 將需求切成獨立可交付里程碑，逐段驗收
* 發現新風險時即時調整範圍或時程並同步利害關係人
* 用完成定義（DoD）避免「永遠快好了」
* 記錄實際花費與偏差原因，作為下一輪校準依據

# 15 除錯紀律

* 先可重現再修，寫出最小重現步驟
* 二分法定位：縮小時間、模組、輸入空間
* 加診斷日誌以事件時間線呈現，標註相同請求的追蹤 ID
* 危險修補前先寫防倒退測試
* 事後回顧保留「根因、探測、修復、預防」四件事

# 16 安全與隱私

* 預設輸入皆不可信，統一在邊界做驗證與清洗
* 憑證與金鑰用密管而非環境變數裸存
* 最小權限原則套用到帳號、服務、資料表與網路
* 日誌脫敏與存留政策明確，避免洩露個資與秘密
* 依威脅模型加防線：速率限制、CSRF、CSP、內容驗證

# 17 效能優化原則

* 沒有量測不優化，先建立基準與目標
* 以 80/20 原則找熱點，優化最貴的前幾條路徑
* 先策略後技術：快取、批次、併發、靠近資料
* 監控四指標：延遲、吞吐、錯誤率、資源使用
* 每次優化都要附影響數據與回退計畫

# 18 工具化與自動化

* 把重複步驟轉為腳本或 Makefile/Taskfile
* 本地一鍵啟動：種子資料、假服務、觀測工具一起起
* CI 檢查固定化：Lint、格式化、測試、型別、鏡像掃描
* 範本專案與 Snippet 輸出團隊最佳實踐
* 定期清理腳手架與依賴，減少隱性維護成本

# 19 作品集與職涯輸出

* 以真實問題與可量測成果呈現：改善延遲、降低錯誤率、提升轉換
* 每個專案附架構圖、決策取捨、指標前後對比與學到的教訓
* 公開最小重現與 Demo，降低審閱門檻
* 一頁式履歷聚焦最近與最相關輸出，移除無關噪音
* 維護技術文章與講稿存檔，作為能力證據鏈

# 20 代碼審查與知識共享

* 審查標準化：正確性、風險、可讀性、觀測點、回滾策略
* 提出具體改動建議與範例，避免抽象批評
* 以「問句」促進對齊：目的、假設、替代方案
* 定期做變更讀書會（變更導覽），擴散關鍵決策背景
* 把審查常見問題沉澱為規範與範本

# Recap

* 不用全知
* 學會學習
* 完成勝於完美
* 先做再說
* 解題優先於語法
* 結果重於炫技
* 保護能量，避免倦怠
