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! ๐ช
P.P.S. Contributions are welcomed!
- 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.
- ๐ฅ UC Berkeley, Data Structures Course
- Foundations of Data Structures - EDX
- Data Structures - Coursera
- Mathematics for Computer Science - Eric Lehman
- ๐ How to Count
- ๐ Floating Point Guide
- ๐ What Every Computer Scientist Should Know About Floating-Point Arithmetic
- ๐ Basic Number Theory Every Programmer Should Know...
- ๐ 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
- ๐ Security Programming
- ๐ Rolling Your Own Crypto
- ๐ Foundations of Security: What Every Programmer Needs to Know
- OWASP Top 10
- Web Application Exploits and Defenses
- ๐ 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
- System Design: A Primer
- ๐ Working Effectively with Legacy Code
- ๐ [Clean Code: A Handbook of Agile Software Craftsmanship] (https://www.goodreads.com/book/show/3735293-clean-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
- 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. - ๐ Pomodoro for Programmers
- ๐ 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
- ๐ The Complete Software Developer's Career Guide
- ๐ 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: 189 Programming Questions and Solutions
- ๐ฅ Everything you need to know to get the job
- ๐ Tech Interview Handbook
- ๐ Remote Work List for Developers
- โก NomadList
- ๐ The Ultimate Guide to Remote Work
- ๐ Awesome Remote Job
- ๐ฅ Simple Made Easy
- ๐ Speed In Software Development
- ๐ฅ The Myth of the Genius Programmer
- ๐ฅ Making Badass Developers
- ๐ The Ten Rules of a Zen Programmer
- ๐ The mythical 10x programmer
- ๐ The Debugging Mindset
- ๐ Difficult Conversations
- ๐ Crucial Conversations
- ๐ How to Win Friends and Influence People
- ๐ CodeForces
- ๐ CodeChef
- ๐ CodinGame
- ๐ Cs Academy
- ๐ HackerRank
- ๐ Spoj
- ๐ HackerEarth
- ๐ TopCoder
- ๐ Codewars
- ๐ Exercism
- ๐ CodeFights
- ๐ Project Euler
- ๐ LeetCode
- ๐ InterviewBit