Every Programmer Should Know
Total Page:16
File Type:pdf, Size:1020Kb
Every Programmer Should Know Github 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! Introduction Map of Computer Science 40 Key Computer Science Concepts Explained In Layman’s Terms Falsehoods 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. Algorithms Big O Cheatsheet Grokking Algorithms Algorithms Visualization Data Structures UC Berkeley, Data Structures Course Foundations of Data Structures - EDX Data Structures - Coursera Mathematics for Computer Science - Eric Lehman Numbers How to Count Floating Point Guide What Every Computer Scientist Should Know About Floating-Point Arithmetic Basic Number Theory Every Programmer Should Know... Strings Unicode and Character Sets Homoglyphs Unicode Common Locale Data Repository ASCII UTF-8 Latency Interactive Latency Infographics Latency Numbers Every Programmer Should Know Time Some notes about time Memory What every Programmer should know about 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 RegexHQ Learn regex the easy way Security 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 SEO What Every Programmer Should Know About 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 System Design: A Primer How JavaScript works: part-1, 2, 3, 4 Practices Working Effectively with Legacy Code 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 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 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 Teach Yourself Programming in Ten Years What you should know as a founder of a software company UX/Usability Don't Make Me Think: A Common Sense Approach to Web Usability Inventing on Principle Open Source An Intro to Git and GitHub for Beginners Remote Work Remote Work List for Developers ⚡️ NomadList The Ultimate Guide to Remote Work Awesome Remote 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 The mythical 10x programmer The Debugging Mindset The Future of Programming Problem Solving The Art and Craft of Problem Solving How to Solve It: A New Aspect of Mathematical Method Soft Skills Difficult Conversations Crucial Conversations How to Win Friends and Influence People Papers on Programming ❤️ Papers We Love The Morning Paper What Every Programmer Should Know About Memory Go To Statement Considered Harmful Free Books on Programming Free Programming Books Services ⚡️ Free For Dev Public APIs The Noun Project Without Coding Simpleicons Learn Anything repl.it Licenses Choose An Open Source License Well-explained Software licenses in TLDR version Where To Look For Further Info freeCodeCamp Guide GeeksForGeeks Dev.To Stack Overflow Dzone Coding Practice Sites ⚡️ CodeForces CodeChef Coderbyte CodinGame Cs Academy HackerRank Spoj HackerEarth TopCoder Codewars Exercism CodeFights Project Euler LeetCode InterviewBit uCoder LintCode CodeCombat Revision #2 Created 3 years ago by Thomas Morton Updated 3 years ago by Thomas Morton.