Community生產力與協作github.com

gulmezbugra/think-like-programmer

當程式設計師詢問該學什麼,或想要關於軟體基礎的書籍、演講、論文、課程、職業/面試資源或程式練習網站時使用。

think-like-programmer 是什麼?

這是一個精心策劃的技術資源目錄,涵蓋每位軟體開發者都應了解的知識,無論其技能水平或技術棧為何。此技能基於社群清單「every-programmer-should-know」(CC BY 4.0 授權),內容涵蓋演算法、資料結構、分散式系統、安全性、程式碼設計、工程哲學、實務及職涯發展等廣泛主題。它支援 Claude Code、Cursor、Codex 等 AI 代理平台,透過將使用者問題與目錄中的特定章節匹配,推薦 2 到 4 個經過挑選的資源。此技能會根據使用者程度調整推薦:初學者獲得視覺化或較溫和的資源(如《Grokking Algorithms》),而經驗豐富的開發者則獲得較深入或經典的資料(如《Introduction to Algorithms》或《Designing Data-Intensive Applications》)。它還提供建議的學習路徑(例如「後端/分散式系統」或「面試準備」),協助使用者有效導覽目錄。所產生的回覆會依據使用者語言進行本地化,同時保留資源標題的原始形式,並提醒使用者此目錄是地圖而非核對清單。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gulmezbugra/think-like-programmer/tree/HEAD/think-like-programmer

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

像程式設計師一樣思考

一份精心策劃的(主要是)技術資源目錄,每位軟體開發者都應了解,無論其技能水平或技術棧為何。基於 Alexey Migutsky 和貢獻者於 https://github.com/mtdvio/every-programmer-should-know 的社群清單,採用 CC BY 4.0 授權。原始清單公開聲明是「高度主觀的,未經科學驗證」,且沒有特定順序。

使用時機

  • 「我接下來該學什麼 / 每位開發者對 X 應該知道什麼?」
  • 要求提供基礎主題的書籍、演講、論文、課程或文章。
  • 解釋一個概念(浮點數、時區、Unicode、記憶體、CAP/分散式時鐘、密碼學)並希望指出權威讀物。
  • 職涯問題:面試、 offer 協商、股權、遠端工作、履歷。
  • 「我可以在哪裡練習程式設計 / 準備面試?」

使用方式

  1. 將問題與下方目錄中的一個或多個章節進行匹配。
  2. 推薦 2-4 個資源,而非整個章節。針對每個資源,用一句話說明為何適合,並指出其格式(書籍 / 影片 / 文章 / 論文 / 課程 / 網站)。
  3. 根據程度調整:初學者優先獲得視覺化或溫和的資源(《Grokking Algorithms》、《Hello Algo》、《Learn X in Y Minutes》);經驗豐富的開發者則獲得較深入或經典的材料(《Introduction to Algorithms》、《DDIA》、Lamport、《Out of the Tar Pit》)。
  4. 如果目錄中沒有該主題,請如實說明並根據一般知識回答;不要強行提供不相關的連結。
  5. 某些連結可能較老舊,可能已失效或移動。如果可以存取網路且某個連結很重要,請在使用前檢查它;否則請註明該連結可能已過時。
  6. 以使用者語言回覆;資源標題保留其原始形式。
  7. 在適當時候提醒人們,沒有人需要全部牢記在心——它是一張地圖,而非核對清單。

建議路徑(來自目錄的組合)

  • 剛開始學 CS: Map of Computer Science → Computer Science Roadmap → Grokking Algorithms → Big O Cheatsheet → Floating Point Guide → Unicode and Character Sets。
  • 後端 / 分散式系統: Latency Numbers → Understanding Distributed Systems → Designing Data-Intensive Applications → Fallacies of Distributed Computing → Time, Clocks and the Ordering of Events → Jepsen。
  • 寫出更好的程式碼: The Art of Readable Code → Clean Code / Code Complete → Working Effectively with Legacy Code → Out of the Tar Pit → Simple Made Easy。
  • 面試準備: Tech Interview Handbook → Cracking the Coding Interview → LeetCode / Codility → How To Interview As a Developer Candidate → Ten Rules for Negotiating a Job Offer。
  • 安全基礎: OWASP Top 10 → Portswigger Academy → Hashing, Encryption and Encoding → Cryptographic Right Answers → Rolling Your Own Crypto (why not to)。

目錄

簡介

常見謬誤

演算法

資料結構

數字

字串

延遲

時間

記憶體

分散式系統

機器學習

正規表達式

安全性

使用者體驗 / 易用性

搜尋引擎最佳化

架構

程式碼設計

工程哲學

實務

職涯

相關技能