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
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
π 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
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
Papers on Programming
β€οΈ Papers We Love- π° The Morning Paper