gitwtfhub

wtf is every-programmer-should-know?

mtdvio/every-programmer-should-know — explained in plain English

Analysis updated 2026-06-20

98,886Audience · developerComplexity · 1/5LicenseSetup · easy

TL;DR

A curated list of books, articles, videos, and courses on topics every software developer should know, from algorithms and data structures to distributed systems, security, and architecture.

Mindmap

mindmap
  root((every-programmer))
    Topics covered
      Algorithms
      Distributed systems
      Security
      Architecture
    Resource formats
      Books
      Articles
      Videos
      Courses
    Use cases
      Self-study
      Team onboarding
      Interview prep
    Audience
      Junior devs
      Senior devs
      CS students

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Discover well-regarded books and articles to fill a specific knowledge gap, like distributed systems or floating-point arithmetic.

REASON 2

Share a curated set of starting-point resources with a junior team member who wants to level up their fundamentals.

REASON 3

Use as a self-study checklist to identify which foundational CS topics you haven't explored yet.

How it stacks up

mtdvio/every-programmer-should-knowopenai/whisperneovim/neovim
Stars98,88699,00699,406
LanguagePythonVim Script
Setup difficultyeasymoderatemoderate
Complexity1/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min
Creative Commons attribution licence, free to share and adapt as long as you credit the original author.

Wtf does this do

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.

Yoink these prompts

Prompt 1
I'm a self-taught developer and want to deepen my understanding of how computers handle memory and latency. Which resources from every-programmer-should-know should I start with?
Prompt 2
I'm preparing for a senior engineering interview. Which books and articles in this list cover system design and distributed systems best?
Prompt 3
Which resources in every-programmer-should-know would help me understand floating-point arithmetic and why my decimal calculations are wrong?
Prompt 4
I want to learn about security fundamentals as a developer. What does every-programmer-should-know recommend I read first?

Frequently asked questions

wtf is every-programmer-should-know?

A curated list of books, articles, videos, and courses on topics every software developer should know, from algorithms and data structures to distributed systems, security, and architecture.

What license does every-programmer-should-know use?

Creative Commons attribution licence, free to share and adapt as long as you credit the original author.

How hard is every-programmer-should-know to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is every-programmer-should-know for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.