mtdvio

    mtdvio/every-programmer-should-know

    #277 this week

    A collection of (mostly) technical things every software developer should know about

    100.1K stars
    8.8K forks
    100.1K GitHub watchers
    Updated 7/24/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Provides a curated collection of essential technical knowledge and resources every software developer should know.
    • Offers a highly opinionated, comprehensive, and technology-agnostic guide suitable for all skill levels and tech stacks.
    • Use for self-directed learning to build a strong foundational understanding of computer science concepts and best practices.
    • Use for preparing for software engineering interviews by exploring key algorithms, data structures, and problem-solving techniques.
    • Use for improving software development career skills including coding practices, security, architecture, and remote work strategies.

    About every-programmer-should-know


    Want to become a Senior Engineer sooner?

    Join a waitlist for repo author's course


    Every Programmer Should Know :thinking:

    A collection of (mostly) technical things every software developer should know.

    :point_up: These are resources I can recommend to every programmer regardless of their skill level or tech stack

    Highly opinionated :bomb:. Not backed by science. Comes in no particular order :recycle:

    U like it? :star: it and share with a friendly developer! U don't like it? Watch the doggo :dog:

    P.S. You don't need to know all of that by heart to be a programmer. But knowing the stuff will help you become better! :muscle:

    P.P.S. Contributions are welcome!


    Introduction

    Falsehoods

    • Awesome Falsehoods 💊 Curated list of falsehoods programmers believe in. Check for things you do not know about Strings, Addresses, Names, Numbers, Emails, Timezones and Dates and more.

    Algorithms

    Data Structures

    Numbers

    Strings

    Latency

    Time

    Memory

    Distributed Systems

    RegExp

    Security

    UX/Usability

    SEO

    Architecture

    Code Design

    Engineering Philosophy

    Practices

    Career

    Fine-tune Your Resume

    Open Source

    Remote Work

    Problem Solving

    Soft Skills

    Mental Health

    • Awesome Mental Health
      A curated list of awesome articles, websites and resources about mental health in the software industry.

    Papers on Programming

    Free Books on Programming

    Services :zap:

    Licenses

    Where To Look For Further Info

    Coding Practice Sites :zap:

    Platform Engineering

    A modern discipline that evolved from DevOps and SRE principles, focused on improving developer experience and productivity by building and managing self-service tools and workflows, often through an Internal Developer Platform (IDP). The goal is to reduce cognitive load on developers and streamline the path to production.

    Discover Repositories

    Search across tracked repositories by name or description