What Is the Every Programmer Should Know Repository? A Curated Knowledge Base for Developers

The Every Programmer Should Know repository is a curated, community‑driven collection of essential resources covering algorithms, system design, security, and career skills, maintained as a single Markdown document in the mtdvio/every‑programmer‑should‑know GitHub repository.

This opinionated knowledge base aggregates high‑quality articles, books, tutorials, and tools into one browsable reference. It serves as a language‑agnostic starting point for developers at any level who want to deepen their understanding of computer science fundamentals and professional practices.

Repository Structure and Key Files

Unlike typical open‑source projects, the Every Programmer Should Know repository contains no executable code, build scripts, or runtime dependencies. Its architecture is a static documentation site composed entirely of Markdown files.

The repository centers on three primary files:

  • README.md – The core knowledge base located at the repository root. It contains the full curated list organized into topical sections, an introductory banner, licensing notice, and usage guidelines.
  • CONTRIBUTING.md – The contribution guidelines that specify formatting rules, the pull‑request workflow, and quality standards for new submissions.
  • LICENSE – The Creative Commons Attribution 4.0 International license, permitting free reuse and modification with proper attribution.

Because the project lives entirely within these Markdown files, it remains trivially portable and easy to fork, search, or embed into personal knowledge management systems.

How the Knowledge Base Is Organized

The README.md file in mtdvio/every-programmer-should-know divides resources into logical sections that follow a consistent formatting pattern: an emoji indicating content type, a descriptive title, and a hyperlink to the external source.

Key topical sections include:

  • Algorithms, Data Structures, Numbers, and Strings – Classic textbooks, cheat sheets, and interactive visualizers for computer science fundamentals.
  • Latency, Time, and Memory – Performance‑related numbers every developer should internalize, including latency cost references and optimization guides.
  • Distributed Systems – Curated books and conference talks covering consistency models, partition tolerance, and distributed design patterns.
  • Security – Resources ranging from the OWASP Top 10 to cryptography primers and secure‑coding checklists.
  • Falsehoods – Collections of common misconceptions (e.g., about time zones, string handling, and human names) that lead to production bugs.
  • Career, Soft Skills, and Mental Health – Salary data, interview preparation guides, negotiation tactics, and well‑being advice.

Each entry is vetted by maintainers to ensure the list remains concise and high‑signal rather than exhaustive.

How to Use the Every Programmer Should Know Repository

Browsing Offline Locally

Clone the repository to gain offline access to the full resource list, searchable with any text editor:

git clone https://github.com/mtdvio/every-programmer-should-know.git
cd every-programmer-should-know

# Open in VS Code

code README.md

# Or view in terminal with a markdown reader

mdless README.md

Tracking Personal Learning Progress

Copy relevant bullet points from README.md into your own task manager or notes to create a personal checklist:

- [ ] Read *Computer Science Distilled* (Algorithms section)
- [ ] Watch "Latency Numbers Every Programmer Should Know" video
- [ ] Complete OWASP Top 10 hands‑on labs (Security section)
- [ ] Review salary negotiation guide (Career section)

Adding New Resources

To contribute a new article or tool, follow the workflow defined in CONTRIBUTING.md:


# 1. Fork the repository via GitHub web interface

# 2. Clone your fork

git clone https://github.com/<your-username>/every-programmer-should-know.git
cd every-programmer-should-know

# 3. Edit README.md to add your resource under the correct section

# Format: - 📄 [Descriptive Title](https://example.com/article)

# 4. Commit and push

git add README.md
git commit -m "Add article on zero-copy networking to Networking section"
git push origin main

# 5. Open a Pull Request against mtdvio/every-programmer-should-know

The maintainers review submissions against style guidelines to preserve consistency across the document.

Licensing and Redistribution

The content in the Every Programmer Should Know repository is released under the CC‑BY‑4.0 license. You are free to copy, redistribute, and adapt the material for any purpose, including commercial use, provided you give appropriate credit to the original authors and link to the license. This permissive licensing encourages educational institutions and corporate training programs to incorporate the knowledge base into their curricula.

Summary

  • The Every Programmer Should Know repository (mtdvio/every-programmer-should-know) is a curated, static Markdown knowledge base with no executable code.
  • The project centers on README.md, which organizes vetted resources into sections like Algorithms, Security, Distributed Systems, and Career.
  • Users can clone the repository for offline browsing, fork it to create personal study checklists, or submit pull requests via the workflow defined in CONTRIBUTING.md.
  • Content is licensed under CC‑BY‑4.0, allowing free reuse with attribution for educational or commercial purposes.

Frequently Asked Questions

Is the Every Programmer Should Know repository a programming library or framework?

No. The repository contains no source code, dependencies, or build scripts. It is a documentation‑only project that aggregates external links to articles, books, and videos. The "architecture" consists entirely of Markdown files, making it a static reference rather than a software library.

How are resources selected for inclusion in the list?

Resources are curated through community contributions and maintainer review. The CONTRIBUTING.md file establishes formatting standards and quality criteria. Submissions are accepted via GitHub Pull Requests, where maintainers verify that links are active, descriptions are accurate, and content aligns with the repository’s goal of covering essential knowledge every developer should possess.

Can I use the Every Programmer Should Know list for commercial training or educational courses?

Yes. The repository is licensed under Creative Commons Attribution 4.0 International (CC‑BY‑4.0), which permits commercial use, distribution, and adaptation. You must provide appropriate credit to the mtdvio/every-programmer-should-know project and indicate if changes were made, but no other restrictions apply.

How often is the Every Programmer Should Know repository updated?

Update frequency depends on community contributions. Because it is an open‑source project with a straightforward pull‑request workflow, new resources are added continuously as developers discover valuable content. The README.md file evolves through merged contributions rather than scheduled releases.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →