Join our community for professional Software Developers and get more control over your life and career!
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 welcome!
- 🎥 Map of Computer Science
- 🎥 40 Key Computer Science Concepts Explained In Layman’s Terms
- 📄 Computer Science Roadmap
- 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.
- Big O Cheatsheet
- 📖 Computer Science Distilled
- 📖 Grokking Algorithms
- 📖 Introduction to Algorithms
- Algorithms Visualization
- Algorithms for Competitive Programming
- 🎥 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...
- 📖 Understanding 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
- 📖 Security Programming
- 📄 Rolling Your Own Crypto
- 📄 Cryptographic Right Answers
- 📄 An Open Letter to Developers Everywhere (About Cryptography)
- 📖 Foundations of Security: What Every Programmer Needs to Know
- OWASP Top 10
- Web Application Exploits and Defenses
- 📄 Hashing, Encryption and Encoding
- 📜 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
- 📄 How JavaScript works: part-1, 2, 3, 4
- 🎥 Entity-Component-System Architecture with Unity by example
- 🎥 Category Theory in Life
- 🎥 Simple Made Easy
- 📄 Speed In Software Development
- 🎥 #NoEstimates
- 🎥 The Myth of the Genius Programmer
- 🎥 Making Badass Developers
- 📄 The Ten Rules of a Zen Programmer
- 📄 The mythical 10x programmer
- 📄 The Debugging Mindset
- 🎥 The Future of Programming
- 📄 The Good Software Development Manifesto
- 🎥 All the Little Things
- 📄 Teach Yourself Programming in Ten Years
- 📖 Working Effectively with Legacy Code
- 📖 The Art of Readable Code: Simple and Practical Techniques for Writing Better Code
- 📖 Code Complete
- 📖 Clean Code: A Handbook of Agile Software Craftsmanship
- 📖 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
- 📖 Site Reliability Engineering
- 💰 Levels FYI
Salary stats for various tech companies. Better than Glassdoor. - 📄 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 Get a Tech Job Abroad Faster
- 📖 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
- 📄 Teach Yourself Programming in Ten Years
- 📄 What you should know as a founder of a software company
- 🎥 Code Interview Prep & Programming Questions | Pramp
- 📖 97 things every programmer should know
- 🎥 A Philosophy of Software Design | John Ousterhout | Talks at Google
- 🌐 Remotive.io: Startups hiring remotely
- 🌐 Remote Work List for Developers
- ⚡ NomadList
- 📖 The Ultimate Guide to Remote Work
- 🏠 Awesome Remote Job
- Awesome Mental Health
A curated list of awesome articles, websites and resources about mental health in the software industry.
- ❤️ Papers We Love
- 📰 The Morning Paper
- 📜 What Every Programmer Should Know About Memory
- 📜 Go To Statement Considered Harmful
- 📰 Arxiv
- 📰 Sci-hub
- 🤖 Abstract API's
- Free For Dev
- Public APIs
- The Noun Project
- Without Coding
- Simpleicons
- Learn Anything
- repl.it
- 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
- 🔗 CodeForces
- 🔗 CodeChef
- 🔗 Coderbyte
- 🔗 CodinGame
- 🔗 Cs Academy
- 🔗 HackerRank
- 🔗 Spoj
- 🔗 HackerEarth
- 🔗 TopCoder
- 🔗 Codewars
- 🔗 Exercism
- 🔗 CodeSignal
- 🔗 Project Euler
- 🔗 LeetCode
- 🔗 Firecode.io
- 🔗 InterviewBit
- 🔗 uCoder
- 🔗 LintCode
- 🔗 CodeCombat
- 🔗 InterviewCake
- 🔗 At Coder
- 🔗 Codility
- 🔗 ICPC Problem Archive