π€
Every Programmer Should Know A collection of (mostly) technical things every software developer should know.
Highly opinionated
Comes in no particular order
U like it?
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! πͺ
Algorithms
Numbers
π Floating Point Guide- π Basic Number Theory Every Programmer Should Know...
π Falsehoods Programmers Believe About Phone Numbers
Strings
- Big List of Naughty Strings
π Unicode and Character Sets- Homoglyphs
- Unicode Common Locale Data Repository
- Falsehoods Programmers Believe About Names
Latency
Addresses
Time
π Falsehoods programmers believe about timeπ More falsehoods programmers believe about time; βwisdom of the crowdβ editionπ Some notes about time- π Falsehoods programmers believe about time and time zones
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