Join our community for professional Software Developers and get more control over your life and career!
Every Programmer Should Know
A collection of (mostly) technical things every software developer should know.
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!
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
🎥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
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
Fine-tune Your Resume
🌐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 on Programming
❤️Papers We Love 📰The Morning Paper 📜What Every Programmer Should Know About Memory 📜Go To Statement Considered Harmful 📰Arxiv 📰Sci-hub
Free Books on Programming
⚡ 🤖Abstract API's
- Free For Dev
- Public APIs
- The Noun Project
- Without Coding
- Learn Anything
- 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
Where To Look For Further Info
Coding Practice Sites
⚡ 🔗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