What is Back End?
All mobile apps and websites are made of two parts: Front End and Back End.
When you log in to a website with your username and password and the site remembers you every time, that is the work of a Back-End developer.
Storing all the data, controlling who can access which information, and many other things that users never see — all of these are done by the Back-End developer.
Who is a Back-End Developer?
A Back-End Developer is the person who gives “life” to a software or website.
For example, when you want to sign up on a website and you wait for a verification code to be sent to your phone, it is the Back-End developer who makes that SMS get sent to you.
Who will be more successful in Back-End development?
If you have the traits below, you will probably do better in Back-End programming:
- Someone who enjoys dealing with complex problems
- Someone who likes solving puzzles
- Someone who is careful and detail-oriented
- Someone who isn’t interested in things like colors or visual layout
- Someone who is a natural strategist
- Someone who thinks about different scenarios before doing something
- Someone who likes the “mystery” behind systems and wants to know what happens behind the scenes
- Someone who prefers backstage roles if helping with a TV show
- Someone who doesn’t care about being seen, but wants to build the foundations that others rely on
But don’t worry if you don’t have all these traits.
These are not strict rules. If you feel interested in Back-End development, try it!
I cannot tell you, “You are not good for Back-End.” Only you can discover that by trying.
How is the job market for Back-End development?
To understand how big the Back-End job market is, you can simply go to job-search websites and search for the term “Back End.”
You will quickly see how many companies are looking for Back-End developers and how much demand there is in this field.
How can you become a Back-End developer?
I have prepared a roadmap for you, and it includes everything you need to learn.
This roadmap is designed with a strong focus on the job market.
That means I have tried to include only the skills that are really necessary for getting your first job.
Of course, there are many more things you can learn in Back-End development, but this roadmap covers the most important ones you need to start working and earning money.
| Title | Subcategories | Junior | Mid-level | Senior |
|---|---|---|---|---|
| Internet & Networking Basics | Beginner | Intermediate | Expert | |
| OS & Terminal | Linux Basics | Beginner | Intermediate | Expert |
| Bash & Shell Scripting | Beginner | Expert | ||
| Programming Language | Python Fundamentals | Intermediate | Expert | Expert |
| OOP & Advanced Python | Beginner | Intermediate | Expert | |
| Algorithms & Data Structures | Language Oriented Algorithms | Beginner | Intermediate | Expert |
| Problem Solving & Data Structures | Intermediate | Expert | ||
| Package & Env Management | pip & Virtualenv | Beginner | Intermediate | Expert |
| Poetry / Pipenv | Beginner | Expert | ||
| Databases | Relational DB & SQL | Beginner | Intermediate | Expert |
| NoSQL (MongoDB, …) | Beginner | Expert | ||
| ORM (Django ORM / SQLAlchemy) | Beginner | Intermediate | Expert | |
| Python Web Frameworks | Django | Beginner | Intermediate | Expert |
| Flask | Beginner | Intermediate | Expert | |
| FastAPI | Beginner | Expert | ||
| API Design & Integration | REST | Beginner | Intermediate | Expert |
| GraphQL | Beginner | Expert | ||
| WebSocket | Beginner | Expert | ||
| Authentication & Authorization | Beginner | Expert | Expert | |
| Security (OWASP, Best Practices) | Beginner | Intermediate | Expert | |
| Testing | unittest / pytest | Beginner | Intermediate | Expert |
| Integration & API Tests | Intermediate | Expert | ||
| Caching & Message Queues | Redis | Beginner | Intermediate | Expert |
| RabbitMQ / Kafka | Beginner | Expert | ||
| Architecture & Patterns | Design Patterns | Intermediate | Expert | |
| Microservices / Clean Architecture | Beginner | Expert | ||
| Version Control & CI/CD | Git | Beginner | Intermediate | Expert |
| Github / GitLab | Beginner | Intermediate | Expert | |
| CI/CD (Github Actions, GitLab CI) | Intermediate | Expert | ||
| Containers & Orchestration | Docker | Beginner | Intermediate | Expert |
| Kubernetes | Beginner | Expert | ||
| Deployment & Cloud | VPS & Web Servers (Nginx, Gunicorn) | Beginner | Intermediate | Expert |
| Cloud Providers (AWS / GCP / Azure) | Beginner | Expert | ||
| Logging & Monitoring (ELK, Prometheus, …) | Beginner | Expert | ||