軟體開發全流程:SDLC、需求、系統切分、Clean Architecture、技術債與 Git 策略
需求、設計、開發、測試、部署、維運六階段的活動、產出物與迭代本質
User Story 如何產生、需求規格如何撰寫,以及 INVEST、驗收條件與優先排序方法論
Scrum 的迭代節奏與 Kanban 的持續流動,兩者差異、適用場景與 Scrumban
如何依業務能力與領域邊界切分系統、資料庫拆分策略,以及 API 粒度設計
同心圓四層、依賴反轉,以及在 .NET 解決方案中的專案結構與新增 Model 的完整步驟
SRP、OCP、LSP、ISP、DIP 五大物件導向原則,每個都有 C# 壞例子與好例子對照
如何判斷自己是否過度設計、何時該停止抽象,以及 Rule of Three 與可逆決策
技術債的定義、Fowler 四象限分類、利息的概念,以及如何追蹤與償還
Git Flow/GitHub Flow/Trunk-Based 分支策略,以及 merge、rebase、squash、semi-linear 合併方式的優缺點比較
單元、整合、系統、E2E、UAT、回歸與各種非功能測試的定義、差異、重要性與適用時機
要測哪些(測試金字塔與非功能測試)、測試報告怎麼寫,以及測試如何成為可傳承的活文件
監控與告警怎麼做、結構化日誌實務,以及語意化版本與各種版本更新的意義
SLI/SLO/SLA、錯誤預算、四大黃金訊號、事故管理與 Postmortem,以及後端工程師的 SRE 學習路線
用一個請假系統為例,串起需求、架構、開發、Code Review、CI/CD、上線到監控的完整流程