Education
Technology
programming
Development
JavaScript
Software Development
Python
database
API
Linux
GIT
Backend Development
PHP
Java
REST
GraphQL
Spring
Django
MySQL
MongoDB
💎 Back-end Development Roadmap
Language → Java/C#/PHP/
↓ Python/JavaScript*
Framework → Spring/Django*
↓
API → REST/GraphQL*
↓
Database → MySQL/MongoDB*
↓
Others → Linux/Git*
Details inside.
⇩
Language → Java/C#/PHP/
↓ Python/JavaScript*
Framework → Spring/Django*
↓
API → REST/GraphQL*
↓
Database → MySQL/MongoDB*
↓
Others → Linux/Git*
Details inside.
⇩
➊ Know basics
⬘ Before you start building your skills in the back-end, gain knowledge of these
➀ What is Back-End?
➁ What is being developed?
➂ Where does a back-end application run?
➃ Who will use the back end?
➄ How do other applications communicate?
⬘ Before you start building your skills in the back-end, gain knowledge of these
➀ What is Back-End?
➁ What is being developed?
➂ Where does a back-end application run?
➃ Who will use the back end?
➄ How do other applications communicate?
➅ What data is sent back from the back-end?
➆ What are the dependencies of a back-end?
⬙ These are some prerequisite
➤ HTTP
➤ DNS
➤ Basic OS Terminal Commands
➤ Git Usage
or any other repositories
➆ What are the dependencies of a back-end?
⬙ These are some prerequisite
➤ HTTP
➤ DNS
➤ Basic OS Terminal Commands
➤ Git Usage
or any other repositories
➋ Language
✧ You will find in this roadmap that one language won't be sufficient in the back-end development.
✧ But, there will definitely be only one primary language. And, you have to build skills in that.
✧ You will find in this roadmap that one language won't be sufficient in the back-end development.
✧ But, there will definitely be only one primary language. And, you have to build skills in that.
⬘ Why are multiple languages needed?
➤ An application is developed using one language.
➤ To fetch data from a database, you may have to write SQL or something similar.
➤ A back-end system typically returns data of XML, JSON, HTML, etc.
➤ An application is developed using one language.
➤ To fetch data from a database, you may have to write SQL or something similar.
➤ A back-end system typically returns data of XML, JSON, HTML, etc.
⬙ How to choose a language?
It all depends on
➤ application requirements
➤ industry practices
➤ your prior experience
For more help, check this
It all depends on
➤ application requirements
➤ industry practices
➤ your prior experience
For more help, check this
⬗ What should you learn in a language?
➤ Language syntax
➤ Managing client connections
➤ Intercepting the request and forming a response
➤ Making connections to other systems
➤ Asynchronous programming
➤ Exception handling, sending appropriate error codes
➤ Language syntax
➤ Managing client connections
➤ Intercepting the request and forming a response
➤ Making connections to other systems
➤ Asynchronous programming
➤ Exception handling, sending appropriate error codes
⬖ Examples of popular languages
➤ Java
➤ C#
➤ PHP
➤ Python
➤ JavaScript
➤ Golang
➤ Rust
➤ Ruby
➤ C++
➤ Java
➤ C#
➤ PHP
➤ Python
➤ JavaScript
➤ Golang
➤ Rust
➤ Ruby
➤ C++
➌ Framework
⬘ Do you really need a framework?
Typically, in 95% of the cases, Yes.
⬙ Why?
Back-end applications typically do these
➤ Manage client connections
➤ Handle and intercept the incoming request
➤ AuthN & AuthZ
➤ Validate the inputs
⬘ Do you really need a framework?
Typically, in 95% of the cases, Yes.
⬙ Why?
Back-end applications typically do these
➤ Manage client connections
➤ Handle and intercept the incoming request
➤ AuthN & AuthZ
➤ Validate the inputs
➤ Make connections with other systems (e.g., a database)
➤ Make requests and receive responses from these systems
➤ Map request or response data to models (plain-old objects in a language)
➤ Perform business logic
➤ Make requests and receive responses from these systems
➤ Map request or response data to models (plain-old objects in a language)
➤ Perform business logic
✧ Apart from performing business logic, the rest are repetitive, time-consuming, and error-prone.
✧ Frameworks allow rapid application development by taking all the behind-the-scenes jobs away and helping developers concentrate on business logic.
✧ Frameworks allow rapid application development by taking all the behind-the-scenes jobs away and helping developers concentrate on business logic.
⬗ How to choose a framework?
➤ Current popularity
➤ Scalability (ability to manage large connections)
➤ Error handling
➤ Support for data formats (JSON, XML, etc.)
➤ Ease of use (how fast can you add a new feature)
➤ API types (covered next)
➤ Database communications
➤ Current popularity
➤ Scalability (ability to manage large connections)
➤ Error handling
➤ Support for data formats (JSON, XML, etc.)
➤ Ease of use (how fast can you add a new feature)
➤ API types (covered next)
➤ Database communications
⬖ Examples of popular frameworks
➤ Java
✧ Spring
✧ Jakarta EE
➤ C#
✧ .NET
➤ PHP
✧ Laravel
➤ Python
✧ Django
➤ JavaScript
✧ Express.js
➤ Java
✧ Spring
✧ Jakarta EE
➤ C#
✧ .NET
➤ PHP
✧ Laravel
➤ Python
✧ Django
➤ JavaScript
✧ Express.js
➍ API
⬘ What is an API?
API stands for Application Programming Interface. It gives a blueprint of all the requests and responses that the system can handle.
⬙ Why is an API important?
APIs help in
➤ consistency
➤ easy to enhance
➤ decoupling of systems
⬘ What is an API?
API stands for Application Programming Interface. It gives a blueprint of all the requests and responses that the system can handle.
⬙ Why is an API important?
APIs help in
➤ consistency
➤ easy to enhance
➤ decoupling of systems
⬗ What are popular API options?
➤ REST
➤ GraphQL
➤ gRPC
➤ SOAP (* a little outdated)
⬖ How to choose?
➤ Requests are stateless or stateful?
➤ Complexity of resource structure
➤ Ability to request custom data
➤ REST
➤ GraphQL
➤ gRPC
➤ SOAP (* a little outdated)
⬖ How to choose?
➤ Requests are stateless or stateful?
➤ Complexity of resource structure
➤ Ability to request custom data
➎ Database
⬘ As a back-end developer, you won't be choosing the database system. But if you are building a project for yourself, you may do so.
To know what database may be appropriate for you, check this
⬘ As a back-end developer, you won't be choosing the database system. But if you are building a project for yourself, you may do so.
To know what database may be appropriate for you, check this
⬙ As a back-end developer, possess these skills in database
➤ Create/Manage a Schema (Optional)
➤ Add/Manage Data
➤ Run queries
➤ Integrate database with application
➤ Create/Manage a Schema (Optional)
➤ Add/Manage Data
➤ Run queries
➤ Integrate database with application
➏ Integrations
Apart from the database, a back-end application may integrate with
➤ An MQ (Message Queue)
➤ A CMS (Content Management System)
➤ Email/SMS/Payment Gateways
➤ Chat Servers
➤ Streaming Servers
➤ External APIs
Apart from the database, a back-end application may integrate with
➤ An MQ (Message Queue)
➤ A CMS (Content Management System)
➤ Email/SMS/Payment Gateways
➤ Chat Servers
➤ Streaming Servers
➤ External APIs
➐ Other skills (advanced)
Skills in below are optional and can be achieved in due course
➤ Virtualization, containerization, orchestration
➤ Microservices, serverless architecture
➤ CI/CD
➤ Cloud Computing, Edge Computing
Skills in below are optional and can be achieved in due course
➤ Virtualization, containerization, orchestration
➤ Microservices, serverless architecture
➤ CI/CD
➤ Cloud Computing, Edge Computing
➑ Common Questions
➀ Do back-end developers need to know the front-end?
No. They just have to know the data to be transferred, the format of the data, etc.
➁ Can a back-end developer be a full-stack developer?
Yes. They need to practice in the front end.
➀ Do back-end developers need to know the front-end?
No. They just have to know the data to be transferred, the format of the data, etc.
➁ Can a back-end developer be a full-stack developer?
Yes. They need to practice in the front end.
🏁 Final Words
⬘ Back-end developers typically manage the brain part of the application. The backend communicates with multiple systems the way, the brain communicates with different parts of the body using nerves.
⬙ Hope this roadmap will help you. Good luck.
⬘ Back-end developers typically manage the brain part of the application. The backend communicates with multiple systems the way, the brain communicates with different parts of the body using nerves.
⬙ Hope this roadmap will help you. Good luck.
Hey 👋
I am a Tech Writer, Educator, and Mentor from India 🇮🇳, here sharing
✅ Tutorials
✅ Tricks
✅ Career Tips
✅ Cheat Sheets
✅ Practice Questions
✅ Roadmaps
on
➠ Web Development
➠ Data Structures and Algorithms
➠ Databases
Thanks for reading. 🙏
I am a Tech Writer, Educator, and Mentor from India 🇮🇳, here sharing
✅ Tutorials
✅ Tricks
✅ Career Tips
✅ Cheat Sheets
✅ Practice Questions
✅ Roadmaps
on
➠ Web Development
➠ Data Structures and Algorithms
➠ Databases
Thanks for reading. 🙏
Loading suggestions...