CommunityProductivity & Collaborationgithub.com

gulmezbugra/think-like-programmer

Use when a programmer asks what to learn, or wants books, talks, papers, courses, career/interview resources or coding-practice sites on software fundamentals.

What is think-like-programmer?

think-like-programmer is a Claude Code agent skill that use when a programmer asks what to learn, or wants books, talks, papers, courses, career/interview resources or coding-practice sites on software fundamentals.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gulmezbugra/think-like-programmer/tree/HEAD/think-like-programmer

Installed? Explore more Productivity & Collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Think Like a Programmer

A curated catalog of (mostly) technical resources every software developer should know, regardless of skill level or tech stack. Based on the community list at https://github.com/mtdvio/every-programmer-should-know by Alexey Migutsky and contributors, licensed CC BY 4.0. The original is openly "highly opinionated, not backed by science" and in no particular order.

When to use

  • "What should I learn next / what should every developer know about X?"
  • Requests for a book, talk, paper, course or article on a fundamentals topic.
  • Explaining a concept (floating point, timezones, Unicode, memory, CAP/distributed clocks, crypto) and wanting to point to the canonical reading.
  • Career questions: interviews, offer negotiation, equity, remote work, resume.
  • "Where can I practice coding / prepare for interviews?"

How to use

  1. Match the question to one or more sections of the catalog below.
  2. Recommend 2-4 resources, not the whole section. For each, give one line on why it fits and its format (book / video / article / paper / course / site).
  3. Adjust for level: beginners get visual or gentle resources first (Grokking Algorithms, Hello Algo, Learn X in Y Minutes); experienced developers get the deeper or classic material (Introduction to Algorithms, DDIA, Lamport, Out of the Tar Pit).
  4. If the topic is not in the catalog, say so plainly and answer from general knowledge; do not force an unrelated link.
  5. Some links are old and may have moved or died. If web access is available and a link matters, check it before relying on it; otherwise mention that the link may be outdated.
  6. Reply in the user's language; keep resource titles in their original form.
  7. Remind people when helpful that nobody needs to know all of this by heart — it is a map, not a checklist.

Suggested paths (combinations from the catalog)

  • New to CS: Map of Computer Science → Computer Science Roadmap → Grokking Algorithms → Big O Cheatsheet → Floating Point Guide → Unicode and Character Sets.
  • Backend / distributed systems: Latency Numbers → Understanding Distributed Systems → Designing Data-Intensive Applications → Fallacies of Distributed Computing → Time, Clocks and the Ordering of Events → Jepsen.
  • Writing better code: The Art of Readable Code → Clean Code / Code Complete → Working Effectively with Legacy Code → Out of the Tar Pit → Simple Made Easy.
  • Interview prep: Tech Interview Handbook → Cracking the Coding Interview → LeetCode / Codility → How To Interview As a Developer Candidate → Ten Rules for Negotiating a Job Offer.
  • Security basics: OWASP Top 10 → Portswigger Academy → Hashing, Encryption and Encoding → Cryptographic Right Answers → Rolling Your Own Crypto (why not to).

Catalog

Introduction

Falsehoods

Algorithms

Data Structures

Numbers

Strings

Latency

Time

Memory

Distributed Systems

Machine Learning

RegExp

Security

UX / Usability

SEO

Architecture

Code Design

Engineering Philosophy

Practices

Career

Open Source

Remote Work

Problem Solving

Soft Skills

Mental Health

Papers on Programming

Free Books

Services and Tools

Where to Look for Further Info

Coding Practice Sites

Learning Through Games

Platform Engineering

A discipline grown out of DevOps and SRE: building self-service tools and workflows (often an Internal Developer Platform) to reduce developers' cognitive load and streamline the path to production.

Related Skills