💎 加入 E+ 成長計畫 與超過 900+ 位工程師一同在社群成長,並獲得更多深度的軟體前後端學習資源
嗨 👋 感謝點入這篇文章,與 ExplainThis 一起回顧 2025 年的精選內容。
除了今年的精選內容,我們也寫了 《ExplainThis 2025 年度反思 & 2026 年展望》,推薦還沒讀過的讀者們可以一讀。
在 2025 年,ExplainThis 新增了超過百篇內容,以下我們分門別類,在每個類別精選 5 篇內容,總共 30 篇內容與讀者們可以一起回顧。除此之外,我們也會精選 30 個過去一年在全端雙週報收錄的外部內容,推薦讀者可以在年末一併回顧。
前端開發相關內容
- DevTools — 如何用善用設置斷點 (breakpoint) 加速 debug?
- DevTools — 如何在開發者工具上 debug 原始程式碼?
- 前端建構工具 (build tool) 是什麼? 為什麼要用?
- 前端打包工具 (bundler) 是什麼? 為什麼要用?
- 從前端開發角度了解回應式 (Reactivity)
後端開發相關內容
- 什麼是 CDN?為什麼要用 CDN?
- 一張圖搞懂 SQL JOIN
- 資料庫索引 (Database Index) 是什麼? 為什麼用 B+ tree?
- 什麼是功能旗標 (feature flags)? 為什麼要用功能旗標?
- session-based 與 token-based 的驗證,有什麼不同?
寫出好維護程式碼相關內容
- 寫出好維護的程式碼 — 什麼是軟體複雜度? 如何降低?
- 寫出好維護的程式碼 — 透過模組化設計降低軟體複雜度
- 寫出好維護的程式碼 — 高內聚
- 寫出好維護的程式碼 — 依賴注入與控制反轉
- 寫出好維護的程式碼 — 寫程式時如何做好命名 (naming)?
- 關於好維護程式碼系列,我們的 YouTube 頻道也有影片版本的,偏好影片講解的讀者,推薦前往觀看 (連結)
AI 工程相關內容
- 什麼是 AI 工程 (AI Engineering) ?
- Cursor 入門到實戰系列文
- 讓 AI 有更精確輸出的脈絡工程 (context engineering)
- Agent 實作 — 常見的工作流模式 (workflow patterns)
- 什麼是 MCP? 為什麼 MCP 這麼熱門? MCP 的好處在哪?
軟實力相關內容
職涯與求職相關內容
全端雙週報收錄內容精選
除了 ExplainThis 寫的內容外,在社群中也有其他推薦在年末重讀的內容。我們把 2025 年在全端雙週報收錄的推薦內容,一樣分門別類精選 30 篇,推薦讀者們可以在年末回顧溫習。
前端
- JavaScript 執行環境 Bun 出了《Behind The Scenes of Bun Install》一文,從系統程式 (system programming) 的角度拆解如何優化效能,非常精彩 (連結)
- 在開源界小有名氣的 TkDodo 寫了《Deriving Client State from Server State》一文 (連結),談客戶端與伺服器端的狀態管理;這兩種狀態管理的區分與設計,是資深前端工程師在面試中,很常會被問的,推薦不熟的讀者一讀
- 在 JavaScript 社群中,越來越多團隊使用 es-toolkit 這個套件(連結),來取代傳統的 lodash-es,手寫題可以看我們先前整理的。關於這類套件提供的效用函式,經常會在前端面試中出現,推薦可以一讀原始碼。先前我們也有彙整一系列前端手寫題,感興趣的讀者也推薦回顧 (連結)
- Rachel-Lee Nabors 的《The Death of Browser》分享,雖然標題有點聳動,但實際上是從技術歷史發展的角度,來看瀏覽器的演變,是相當有洞見的演講,推薦一看 (連結)
- Shopify 團隊當年選擇轉向 React Native 這個技術棧的文章,Shopify 前 CTO 進一步分享當年做這個技術決策的心路歷程。想要培養做技術決策的能力,這篇很直得一讀 (連結)
後端
- 要精通某項技術,自己動手實作是最有效的方法之一。社群中有人分享《Build Your Own Redis》系列文 (連結),一步步帶著讀者從頭寫出一個 Redis 伺服器,過程中能順便學關於網路、資料結構等知識,非常扎實。不熟 Redis 的讀者可以看我們先前寫的文回顧 (連結)
- 社群中知名的開發者 NaN 寫了一篇《Build Your Own Database》文章,一步步帶領讀者打造一個最簡易版本的鍵值對資料庫,整篇讀起來互動性十足,如果想更具體了解資料庫背後用的資料結構,推薦一讀 (連結)
- Tesla 首席工程師 Colin Breck 今年給了《Predicting the Future of Distributed Systems》演講 (連結),談他對未來分散式系統的預測,整個演講深入淺出,值得一看
- GitHub 的主任工程師 Sean Goedecke 分享了 Everything I know about good API design 一文,從實務的角度談設計 API 時要注意的事項 (連結)。先前我們也有寫過同個主題的內容,還沒讀過的讀者推薦溫習 (連結)
- Dropbox 存儲系統的設計者 James Cowling 分享在打造基礎設施系統時,驗證機制的重要性,特別是當系統規模化起來,有良好的驗證跟測試是避免出問題的重要把關 (連結)
軟體開發
- 白帽駭客 Gal Nagli 揭露 F1 網站漏洞,讓冠軍車手 Max Verstappen 的護照、住址資料輕鬆被拿到 (連結)。該漏洞是個非常基本但很容易被忽略的,推薦任何後端開發者,千萬不能缺少該有的防禦意識 (連結)
- Making Software 這個網站 (連結),在談軟體背後被抽象掉的實作,目前連載到第二篇文,但目錄上後續的內容也讓人期待。另外,不得不說這個網站做得真得很精緻,非常佩服該作者
- Phil Eaton 分享了 《In response to a developer asking about systems》 一文,談他如何學習系統相關的知識,裡面談的點非常精闢 (連結)
- Notion 推出離線版本,背後用到 CRDT 這個技術。Notion 團隊的人有跟著名的 DDIA 作者,合寫了《Peritext: A CRDT for Collaborative Rich Text Editing》一文 (連結)。關於離線 (本地優先) 的軟體設計,我們先前也有寫相關內容,推薦不熟的讀者可以溫習 (連結)
- Calculating Empires 用視覺化的方式呈現歷史上重大的科技突破,看到這個專案時,油然而生感謝前人所做的,同時感謝自己身在這個世代 (連結)
AI
- Ghostty 作者 Mitchell Hashimoto 分享了《Vibing a Non-Trivial Ghostty Feature》一文 (連結),詳細解析用 AI 代理協助開發複雜度高的功能,寫得很精彩 (備註:過程中其實很不 vibe,而是更偏向 AI 輔助)
- Zed 的 Conrad Irwin 寫了《Why LLMs Can’t Really Build Software》一文分析大型語言模型在軟體開發的侷限,也談到工程師存在的關鍵作用,非常推薦大家針對這些點加強 (連結)
- Simon Willison 寫了一篇《The lethal trifecta for AI agents》談了使用 AI 代理要注意的資訊安全問題 (連結),對這類主題感興趣的讀者,先前 ExplainThis 也寫過相關文章 (連結)
- 在社群中有人製作了一個叫 Torvalds Mode 的提示詞,很多人分享用這個提示詞請 AI 協助 code review 非常有效。假如你也想要有一個嚴格的角色督促自己寫程式,或許可以試試 (連結)
- Andrej Karpathy 給的《Software Is Changing》演講 (連結),將近 40 分鐘的內容有著滿滿的洞見。社群中有人把內容整理成摘要投影片,推薦一看 (連結)
- 前 OpenAI 研究員 Daniel Kokotajlo 的團隊發表了 AI 2027,預測接下來各領域的 AI 發展,網站做得非常精美,也回答了許多人關心的問題 (連結)
求職相關內容
- OpenAI 的 Bas van Opheusden 分享了他如何準備 AI 研究員面試,以及在準備與實際面試過程的經驗,寫得非常詳盡,推薦一讀 (連結),當中談到很多點,與我們在《軟體工程師求職全攻略》談到的內容不謀而合 (連結)
- 《becoming a compiler engineer》 (連結) 分享了找編譯器工程師的心得,包含如何準備、求職管道等等。編譯器工程師是相對小眾的求職市場,在網路上的求職資源沒有應用端工程師來得多,非常感謝原作者無私的分享 (內文有很多點,對應用端的前後端工程師也很有幫助。
- 開源程式編輯器 Zed 官方部落格的《Hired Through GitHub》 (連結),反過來是從公司的角度,談什麼樣的開源貢獻者,會讓公司想要招募進團隊,如果你也是不喜歡刷題、喜歡實作的工程師,不妨找個你自己會用、覺得有意義的開源專案,在貢獻中邊學習,說不定也會有工作自己找上門 (中文摘要連結)。
- Designtips.today 分享去年面試 GitHub、Figma、Apple 等公司設計工程師的經驗,整理得非常精彩,讀了後收穫很多 (連結)
- 社群看到很多人轉貼,一個大學生在推特上展示自己的成果,然後被 Shopify 的 COO 看到,於是開了一個原本 Shopify 沒有的實習缺給這名大學生。雖然這不是工程師的求職,但概念很相似,如果成果夠好,展示出來就有可能讓公司去開出本來不存在的職缺 (連結)
職涯
- 協助把 Vercel 打造成年經常營收超過兩億美元的 Lee Robinson 被 Cursor 挖角,在離開 Vercel 後他寫下了過去五年他學到的五件最重要的事 (連結),這些深刻的學習對於要邁向資深工程師的人來說,都是需要掌握的要點
- 37signals 的創辦人 Jason Fried 多年前寫過一篇《Give it five minutes》 的反思文 (連結),談到「在批評一件事情前,先花五分鐘多想」是改變他職涯的重要習慣,這點也是我們特別感同身受的。
- 在開源社群很活躍的 Matthias Endler 最近分享了《The Best Programmers I Know》,談到在他的開發生涯中,見過最棒的開發者有哪些共同的特質,有志成為更優秀工程師的讀者,可以比對看看自己還有哪些面向能做更好 (連結)
- 近期生成式 AI 工具普及下,許多工程師大量使用相關工具。推薦讀者們在使用時,不要忘了保持思考。《New Junior Developers Can’t Actually Code》一文有很精闢的觀察 (連結)。除了保持細節外,持續培養品味也是 AI 時代特別重要的。《Developing Taste》一文有很精闢的觀點,來談工程師可以如何培養品味 (連結)
