explaingit

mtdvio/every-programmer-should-know

98,948Audience · developerComplexity · 1/5MaintainedLicenseSetup · easy

TLDR

A curated reading list of books, articles, videos, and courses on essential programming topics, algorithms, systems, security, and more, organized by subject for developers to learn from.

Mindmap

mindmap
  root((repo))
    What it does
      Curated reading list
      Links to resources
      Organized by topic
    Topics covered
      Algorithms
      Data structures
      Distributed systems
      Security
      Machine learning
    Resource types
      Books
      Articles
      Videos
      Papers
    How to use
      Browse by interest
      Fill knowledge gaps
      Share with teammates
    Audience
      Any experience level
      Software developers

Things people build with this

USE CASE 1

Find a recommended book or article on a specific topic like floating-point arithmetic or distributed systems when you want to deepen your knowledge.

USE CASE 2

Share curated learning resources with a new team member or junior developer to help them build foundational programming knowledge.

USE CASE 3

Browse the list when preparing for a system design interview or tackling an unfamiliar problem domain.

Getting it running

Difficulty · easy Time to first run · 5min
Use and share freely with attribution under Creative Commons; you can modify and distribute as long as you credit the original author.

In plain English

This is a curated reading list aimed at software developers of any experience level. It collects books, articles, videos, and online courses on topics that the author considers worth knowing for anyone who writes code, organized into broad categories such as algorithms, data structures, distributed systems, security, regular expressions, memory, latency, time, machine learning, architecture, and user experience. The repository itself is not software you install or run; it is a long markdown document of links to external resources, each tagged with an icon indicating whether it is a book, video, article, or paper. The idea is to use it as a reference shelf rather than a course you follow start to finish. The README is highly opinionated and the author notes it is not backed by science, ordered randomly, and that you do not need to know everything on the list to be a programmer. Someone might browse it when they want to fill a gap, find a respected resource on a topic like floating-point arithmetic or distributed-system fallacies, or share starting points with a teammate. Because the project is a collection of links rather than code, there is no traditional tech stack; it is distributed under a Creative Commons attribution licence and accepts contributions through pull requests.

Copy-paste prompts

Prompt 1
I want to learn about distributed systems. What are the top resources from the 'every-programmer-should-know' list on this topic?
Prompt 2
Help me find articles and books on memory management and latency optimization from this curated developer reading list.
Prompt 3
Which papers or videos in this collection cover security best practices that I should review before building a web application?
Prompt 4
I'm weak on algorithms. What does the 'every-programmer-should-know' list recommend as starting points for learning this topic?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.