Swapna Kumar Panda
Swapna Kumar Panda

@swapnakpanda

23 Tweets 24 reads Oct 15, 2022
💎 Roadmap for Back-end Developers
Language → Java/PHP/JavaScript*

DSA

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?
➅ 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
➋ 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.
➋.➀ 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. format.
➋.➁ How to choose a language?
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
➋.➃ Examples of popular languages for back-end
❯ Java
❯ C#
❯ PHP
❯ Python
❯ JavaScript
❯ Golang
❯ Rust
❯ Ruby
❯ C++
➌ Data Structures and Algorithms
As a back-end developer, you will be working on writing business logic.
❯ Practice writing simple to complex algorithms
❯ Understand which data structure will fit a use case
❯ Improve problem solving skills
➍ 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
❍ 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
✧ 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.
➍.➀ 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
➍.➁ Examples of popular frameworks
➤ Java
✧ Spring
✧ Jakarta EE
➤ C#
✧ .NET
➤ PHP
✧ Laravel
➤ Python
✧ Django
➤ JavaScript
✧ Express.js
* This is just a sample list.
➎ 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 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
➏ 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, possess these skills in database
❯ Create/Manage a Schema (Optional)
❯ Add/Manage Data
❯ Run queries
❯ Integrate database with application
To work on a relational database, check this roadmap
➐ Integrations
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
* These are advanced and optional
➑ Other skills (advanced)
The skills 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 on 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.
Hey 👋
I am a Tech Writer, Educator, and Mentor from India 🇮🇳, here sharing
✰ Tutorials
✰ Tricks
✰ Career Tips
✰ Cheat Sheets
✰ Interview Questions
✰ Roadmaps
on
➠ Web Development
➠ Data Structures and Algorithms
➠ Databases
Thanks for reading. 🙏

Loading suggestions...