A collection of (mostly) technical things every software developer should know in 2023.
☝️ These are resources I can recommend to every programmer regardless of their skill level or tech stack.
Every Programmer Needs to Know This in 2023 |
Programming is the process in which the computer uses a certain programming language to write program codes to solve a certain problem, and finally get the result. Under the background of the information age, the application of computers appears to be very important.
Talents who are proficient in computers are still scarce for the huge market demand. Therefore, the prospects of the computer industry are very impressive, but there are also many people who know nothing about programming.
State, where do you start programming?
1-Introduction:
2-Falsehoods:
- Awesome Falsehoods 💊 Curated list of falsehoods programmers believe in. Check for things you do not know about Strings, Addresses, Names, Numbers, Emails, Timezones Dates and more.
3-Algorithms:
4-Data Structures:
- 🎥 UC Berkeley, Data Structures Course
- Foundations of Data Structures - EDX
- Data Structures - Coursera
- Mathematics for Computer Science - Eric Lehman
5-Numbers:
- 📖 How to Count
- 📄 Floating-Point Guide
- 📄 What Every Computer Scientist Should Know About Floating-Point Arithmetic
- 📄 Basic Number Theory Every Programmer Should Know...
6-Strings:
7-Latency:
8-Time:
9-Memory:
10-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 the partition
- 📜 Fallacies of Distributed Computing Explained
11-RegExp:
12-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
- 📄 Hashing, Encryption and Encoding
13-UX/Usability:
- 📖 Don't Make Me Think: A Common Sense Approach to Web Usability
- 🎥 Inventing on Principle
14-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
- 🎥 Entity-Component-System Architecture with Unity by example
15-Engineering Philosophy:
- 🎥 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
16-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
- 📖 Site Reliability Engineering
17-Career:
- 💰 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
18-Fine-tune Your Resume:
19-Open Source:
20-Remote Work:
- 🌐 Remotive.io: Startups hiring remotely
- 🌐 Remote Work List for Developers
- ⚡️ NomadList
- 📖 The Ultimate Guide to Remote Work
- 🏠 Awesome Remote Job
21-Problem Solving:
22-Soft Skills:
23-Mental Health:
- Awesome Mental Health
A curated list of awesome articles, websites and resources about mental health in the software industry.
24-Papers on Programming:
- ❤️ Papers We Love
- 📰 The Morning Paper
- 📜 What Every Programmer Should Know About Memory
- 📜 Go To Statement Considered Harmful
25-Free Books on Programming:
26-Services :
27-Licenses:
- 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
- 🔗 under
- 🔗 LintCode
- 🔗 CodeCombat
- 🔗 InterviewCake
- 🔗 At Coder
- 🔗 Codility
Tags:
Articles