mtdvio/every-programmer-should-know
mtdvio/every-programmer-should-know has 100,623 GitHub stars and 8,777 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-08 13:59 UTC. Last push 2025-12-29.
Comment ces chiffres sont mesurés
Une collection de sujets (principalement) techniques que tout développeur logiciel devrait connaître
Progression mesurée des étoiles
- in 24h
- +1
- in 7 days
- Historique en cours
- in 15 days
- Historique en cours
- in 1 month
- Historique en cours
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
OriginalMeasure your Software Developer level against a cross-industry benchmark in 10 minutes!
Take a FREE quiz and get instant results - no email submission required
Created by this repo author
Every Programmer Should Know :thinking:
A collection of (mostly) technical things every software developer should know.
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:
:star: it and share with a friendly developer!
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
- :movie_camera: Map of Computer Science
- :movie_camera: 40 Key Computer Science Concepts Explained In Layman’s Terms
- :page_facing_up: Computer Science Roadmap
- :page_facing_up: Community-driven Roadmaps for Developers
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
- Big O Cheatsheet
- :book: Computer Science Distilled
- :book: Grokking Algorithms
- :book: Introduction to Algorithms
- Algorithms Visualization
- Algorithms for Competitive Programming
Data Structures
- 📖 Hello Algo
- :movie_camera: UC Berkeley, Data Structures Course
- Foundations of Data Structures - EDX
- Data Structures - Coursera
- Mathematics for Computer Science - Eric Lehman
Numbers
- :book: How to Count
- :page_facing_up: Floating Point Guide
- :page_facing_up: What Every Computer Scientist Should Know About Floating-Point Arithmetic
- :page_facing_up: Basic Number Theory Every Programmer Should Know...
Strings
- :page_facing_up: Unicode and Character Sets
- Homoglyphs
- Unicode Common Locale Data Repository
- :movie_camera: ASCII
- :movie_camera: UTF-8
Latency
Time
- :page_facing_up: Some notes about time
- :movie_camera: The Problem with Timezones
Memory
- :page_facing_up: What every Programmer should know about memory
Distributed Systems
- :book: Understanding Distributed Systems
- :book: Designing Data-Intensive Applications
- :scroll: Designs, Lessons and Advice from Building Large Distributed Systems
- :scroll: Time, Clocks and the Ordering of Events in a Distributed System
- :page_facing_up: There is No Now
- :page_facing_up: Jepsen: how different databases behave under partition
- :scroll: Fallacies of Distributed Computing Explained
Machine Learning
RegExp
- :link: RegexHQ
- :link: Learn regex the easy way
- :link: Regex Crossword
Security
- :book: Security Programming
- :page_facing_up: Rolling Your Own Crypto
- :page_facing_up: Cryptographic Right Answers
- :page_facing_up: An Open Letter to Developers Everywhere (About Cryptography)
- :book: Foundations of Security: What Every Programmer Needs to Know
- :page_facing_up: OWASP Top 10 - The "gold standard" for web application vulnerabilities.
- :page_facing_up: Portswigger Academy - Practical Labs for learning about web application security.
- :page_facing_up: Web Application Exploits and Defenses
- :page_facing_up: Hashing, Encryption and Encoding
UX/Usability
- :book: Don't Make Me Think: A Common Sense Approach to Web Usability
- :movie_camera: Inventing on Principle
SEO
- :page_facing_up: What Every Programmer Should Know About SEO
Architecture
- :scroll: A Field Guide to Boxology
- :scroll: Out of the Tar Pit
- :scroll: No Silver Bullet — Essence and Accidents of Software Engineering
- :movie_camera: Growing a Language
- :movie_camera: CQRS and Event Sourcing
- :book: Practical Object Oriented Design in Ruby
- :movie_camera: Evolutionary Software Architectures
- System Design: A Primer
- :page_facing_up: How JavaScript works: part-1, 2, 3, 4
- :movie_camera: Entity-Component-System Architecture with Unity by example
Code Design
- :page_facing_up: Programming Principles Wiki
Engineering Philosophy
- :movie_camera: Category Theory in Life
- :movie_camera: Simple Made Easy
- :page_facing_up: Speed In Software Development
- :movie_camera: #NoEstimates
- :movie_camera: The Myth of the Genius Programmer
- :movie_camera: Making Badass Developers
- :page_facing_up: The Ten Rules of a Zen Programmer
- :page_facing_up: The mythical 10x programmer
- :page_facing_up: The Debugging Mindset
- :movie_camera: The Future of Programming
- :page_facing_up: The Good Software Development Manifesto
- :movie_camera: All the Little Things
- :page_facing_up: Teach Yourself Programming in Ten Years
Practices
- :book: Working Effectively with Legacy Code
- :book: The Art of Readable Code: Simple and Practical Techniques for Writing Better Code
- :book: Code Complete
- :book: Clean Code: A Handbook of Agile Software Craftsmanship
- :book: Test Driven Development: By Example
- :white_check_mark: Going To Production Checklist
- :book: Release It!
- :book: Professor Frisby's Mostly Adequate Guide to Functional Programming
- :book: SICP: Structure and Interpretation of Computer Programs
- :page_facing_up: Thirteen Ways of Looking at a Turtle
- :scroll: Programming Paradigms for Dummies: What Every Programmer Should Know
- Learn X in Y Minutes Learn the basics of a language in a highly condensed way.
- Hyperpolyglot Compare commonly used features of more or less similar languages side-by-side. Helps you to jump Python<->Ruby, Ocaml<->Haskell, etc.
- :page_facing_up: Pomodoro for Programmers
- :book: Site Reliability Engineering
Career
- :moneybag: Levels FYI
Salary stats for various tech companies. Better than Glassdoor. - :page_facing_up: 10 Things Every Programmer Should Know For Their First Job
- :page_facing_up: How Much Do Software Engineers Really Make in Each City?
- :page_facing_up: Software Engineers Tenure in San Francisco
- Software Engineering 101
- :book: The Passionate Programmer
- :book: Soft Skills: The software developer's life manual
- :book: The Complete Software Developer's Career Guide
- :book: Programming Beyond Practices: Be More Than Just a Code Monkey
- A list of European Investors
- :page_facing_up: Ten Rules for Negotiating a Job Offer
- :page_facing_up: How To Interview As a Developer Candidate
- :page_facing_up: How To Get a Tech Job Abroad Faster
- :book: How To Be A STAR Engineer
- 📈 TL;DR; Stock Options
- 📄 The Open Guide to Equity Compensation
- :page_facing_up: Equity 101 for Startup Employees
- :book: Cracking the Coding Interview: 189 Programming Questions and Solutions
- :fire: Everything you need to know to get the job
- :book: Tech Interview Handbook
- :page_facing_up: Teach Yourself Programming in Ten Years
- :page_facing_up: What you should know as a founder of a software company
- :movie_camera: Code Interview Prep & Programming Questions | Pramp
- :book: 97 things every programmer should know
- :movie_camera: A Philosophy of Software Design | John Ousterhout | Talks at Google
Fine-tune Your Resume
- :hammer: CV Compiler
Open Source
- :globe_with_meridians: Learn how to use Git and GitHub
Remote Work
- :globe_with_meridians: Remotive.io: Startups hiring remotely
- :globe_with_meridians: Remote Work List for Developers
- :zap: NomadList
- :book: The Ultimate Guide to Remote Work
- :house: Awesome Remote Job
Problem Solving
- :book: The Art and Craft of Problem Solving
- :book: How to Solve It: A New Aspect of Mathematical Method
Soft Skills
- :book: Difficult Conversations
- :book: Crucial Conversations
- :book: How to Win Friends and Influence People
Mental Health
- Awesome Mental Health
A curated list of awesome articles, websites and resources about mental health in the software industry.
Papers on Programming
- :heart: Papers We Love
- :newspaper: The Morning Paper
- 📜 What Every Programmer Should Know About Memory
- 📜 Go To Statement Considered Harmful
- :newspaper: Arxiv
- :newspaper: Sci-hub
Free Books on Programming
- :books: Free Programming Books
Services :zap:
- 🤖 Abstract API's
- Free For Dev
- Public APIs
- The Noun Project
- Without Coding
- Simpleicons
- Learn Anything
- repl.it
Licenses
- Choose An Open Source License
- Well-explained Software licenses in TLDR version
- How open source licenses work and how to add them to your projects
Where To Look For Further Info
Coding Practice Sites :zap:
- :link: CodeForces
- :link: CodeChef
- :link: Coderbyte
- :link: CodinGame
- :link: Cs Academy
- :link: HackerRank
- :link: Spoj
- :link: HackerEarth
- :link: TopCoder
- :link: Codewars
- :link: Exercism
- :link: CodeSignal
- :link: Project Euler
- :link: LeetCode
- :link: Firecode.io
- :link: InterviewBit
- :link: uCoder
- :link: LintCode
- :link: CodeCombat
- :link: InterviewCake
- :link: At Coder
- :link: Codility
- :link: ICPC Problem Archive
- :link: Codemia
- :link: LabEx
- :link: Codebattle
Learning through entertainment:
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.
What is Platform Engineering?
- Microsoft Learn: What is platform engineering?
A comprehensive overview of the practice, its goals, and core capabilities. - Atlassian: What is Platform Engineering?
A great explanation of the roles and responsibilities of a platform team.
- Microsoft Learn: What is platform engineering?
Internal Developer Platform (IDP)
- internaldeveloperplatform.org: What is an IDP?
A foundational resource explaining the concept of an IDP as the core product of a platform team. - Atlassian: Internal Developer Platform Guide
A deep dive into the benefits and best practices for building an IDP.
- internaldeveloperplatform.org: What is an IDP?
Golden Paths (Paved Roads)
- Spotify Engineering: How we use Golden Paths to solve fragmentation
The original concept from Spotify, explaining how they use "opinionated and supported paths" to guide developers. - Red Hat: What is a Golden Path for software development?
- A clear article on how Golden Paths provide templates and standardized workflows to increase efficiency.
- Spotify Engineering: How we use Golden Paths to solve fragmentation
Explorer des projets similaires
codecrafters-io/build-your-own-x
Maîtrisez la programmation en recréant de zéro vos technologies préférées.
560,994 étoilespublic-apis/public-apis
Une liste collective d'API gratuites
497,247 étoilesmorluto/rea
Rétro-ingénierie de n'importe quoi avec des agents, du comportement des applications jusqu'aux binaires natifs.
443,007 étoilesopenclaw/openclaw
L'IA qui fait vraiment les choses. Tout système d'exploitation, toute plateforme. À la manière du homard. 🦞
394,189 étoiles