Every Programmer Should Know π€
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 π£. Not backed by science.
Comes in no particular order β»οΈ
U like it? β it and share with a friendly developer! U don't like it? Watch the doggo πΆ
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! πͺ
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
Numbers
- π Floating Point Guide
- π What Every Computer Scientist Should Know About Floating-Point Arithmetic
- π Basic Number Theory Every Programmer Should Know...
Strings
Latency
Time
Memory
Distributed Systems
- π Designing Data-Intensive Applications
- π Designs, Lessons and Advice from Building Large Distributed Systems
- π Time, Clocks and the Ordering of Events in a Distributed System
- π There is No Now
- π Jepsen: how different databases behave under partition
- π Fallacies of Distributed Computing Explained
RegExp
Security
- π Security Programming
- π Rolling Your Own Crypto
- π Foundations of Security: What Every Programmer Needs to Know
- OWASP Top 10
SEO
Architecture
- π A Field Guide to Boxology
- π Out of the Tar Pit
- π No Silver Bullet β Essence and Accidents of Software Engineering
- π₯ Growing a Language
- π₯ CQRS and Event Sourcing
- π Practical Object Oriented Design in Ruby
- π₯ Evolutionary Software Architectures
Practices
- π Working Effectively with Legacy Code
- π Test Driven Development: By Example
- β Going To Production Checklist
- π Release It!
- π Professor Frisby's Mostly Adequate Guide to Functional Programming
- π SICP: Structure and Interpretation of Computer Programs
- π Thirteen Ways of Looking at a Turtle
- π Programming Paradigms for Dummies: What Every Programmer Should Know
Career
- π 10 Things Every Programmer Should Know For Their First Job
- π How Much Do Software Engineers Really Make in Each City?
- π Software Engineers Tenure in San Francisco
- Software Engineering 101
- π The Passionate Programmer
- π Soft Skills: The software developer's life manual
- π Programming Beyond Practices: Be More Than Just a Code Monkey
- A list of European Investors
- π Ten Rules for Negotiating a Job Offer
- π How To Interview As a Developer Candidate
- π How To Be A STAR Engineer
- π TL;DR; Stock Options
- π Equity 101 for Startup Employees
- π Cracking the Coding Interview: 150 Programming Questions and Solutions
- π₯ Everything you need to know to get the job
Engineering Philosophy
- π₯ Simple Made Easy
- π Speed In Software Development
- π₯ The Myth of the Genius Programmer
- π₯ Making Badass Developers
- π The Ten Rules of a Zen Programmer
Soft Skills
- π Difficult Conversations
- π Crucial Conversations
- π How to Win Friends and Influence People
Papers on Programming
- β€οΈ Papers We Love
- π° The Morning Paper