The Full-Stack Developer’s Roadmap Part 1: Backend

The Full-Stack Developer’s Roadmap Part 2: Backend

by | 26.11.2020 | Personal Development, Engineering

As you complete the Full-Stack Developer’s Roadmap (here’s part 1, btw) you might be curious about how your front-end stores and manipulates the user input – facilitating output. These facilitations are done at a server; therefore the developers are called “server-side” or back-end developers. The following article focuses on a roadmap which will help you to navigate the journey of a back-end/full-stack developer without fatigue.

Since there is a lot of variation, most people often get confused about where to start or what language/ technology to pick. I understand that for a newcomer it’s natural to be overwhelmed with so many options. I personally, however, suggest it may be a better option to pick one server-side language* and master that rather than wandering. Let’s go over the options.


Developers love Python, and new developers are rushing to learn the language each day. Python is used everywhere, ranging from AI to web development. You can write a lot of code to build a web application from scratch or take the smart route and use a framework. The easier approach is safe and fast. Convinced to use a framework? Then here goes your Python framework:


A high-level, full-featured framework which will help you to build secure and maintainable web applications. Django is very popular and used by companies like Instagram, Spotify, Dropbox to name a few. The drawback is you have to do the things in the “Django” way (following specific procedures to implement something), and so it’s very opinionated. Don’t worry, learn the way around and you can build an application which will have authentication and a complete admin panel for your data prebuilt. Open Source is awesome! Learn more here.


Flask is a light and more explicit framework than Django. The microframework used to build things fast with a tiny amount of code. It’s popular, and developers use it all the time but if you need to build something with a lot of requests per second, Flask won’t be an ideal choice. Besides that, the ease and control flask provides is far better than the counterparts. Learn more here.


FastApi is a newer, light and explicit python framework with more native functionality than Flask. The inbuilt functionalities help developers to ship code faster with fewer bugs. FastApi supports asynchronous programming, i.e. allowing a unit of work run separately than the main thread. Don’t forget about the automatically generated JSON (schema) with the descriptions of all your API which comes handy when you are working on a team where you don’t have time to generate documentation. If you’re more curious regarding the framework, you can learn more here.

The Global Interpreter Lock(GIL) in Python acts as a disadvantage with regards to speed, but a lot of them have addressed and optimised this – still, it won’t act as a problem for our newbie developer or creating your dream startup.


If you’re wondering regarding the * in server-side language above, it’s nothing to worry about. I’m not attaching any hidden t&c in this article. The * is here because one of the most popular options available is a technology and not a language. Node.js is a JavaScript runtime which is built on Chrome’s v8 engine. Millions of people use node and to come clear and honest – I have a soft spot for the runtime. Node.js is extremely fast, asynchronous (allows processing after transmission of data is finished) alongside being single-threaded. The runtime is so widely used that we have popular full-stacks like MEAN, MERN built – it seems like people love to use the same language (i.e. javascript) at the front- and the back-end. The learning curve is shallow (doesn’t take long) as you have worked already with javascript while developing the front-end. You don’t have to learn a new language for back-end – keeping things simple and easy. The runtime is said to be extremely fast and light so companies like Walmart and LinkedIn have migrated their stacks to Node.js and found 20x improvement. More companies are following the lead, and so opportunities surrounding Node.js are increasing exponentially.

Post its migration from Ruby on Rails to Node.js, LinkedIn’s development team gained performance momentum from node.js advantages. They cut down from 30 servers to 3. They also found resource delegation and utilisation more efficient, for they were now able to shift their focus from troubleshooting to application development. — SIMFORM

At this point of time Node.js may look perfect but absorb the belief with a pinch of salt. Node.js is not suitable for high CPU based computational tasks but apart from this it looks close to perfect. Express, the most popular node back-end framework, provides many built-in solutions – helping developers create their back-end with minimal opiniation. It’s super easy to use and understand and besides has 47k stars on GitHub. So, if you’re having issues – developers at StackOverflow are waiting with the solutions. Want to know more about Node.js? Click here.


Freelancers all around the world work with PHP. The language produces applications that can be deployed fast and very easily. This acts as a benefit to freelancers. It’s rightly said time is money. WordPress is built on top of PHP, and so a lot of internet runs on it. Laravel, a snappy framework can make your life easier as a freelancer. .But, I would like to mention that if you want to get a job in a big company – PHP won’t be of so useful to you. Companies have moved to snappier language a long ago ☹

Learn PHP here !


Ruby is a general-purpose, high-level programming language. It is used to build standard libraries, servers, system utilities alongside web application – with the ruby on rails framework. Rails is popular for the minuscule development time compared to other frameworks. Don’t confuse ‘minuscule development time’ with the application taking less time to carry out its operations – rails is slow here. Even if companies like Airbnb, GitHub, Bloomberg are still using Rails: a lot (e.g. LinkedIn, GoDaddy ) have shifted their stacks to something better (like node).

This, however, doesn’t mean there are not a lot of opportunities with Rails. There are a lot of jobs popping every day for Rails. But, in 2020, it’s not recommended to pursue Rails as a beginner; it’s a better choice to look towards the present and future technologies. If you got a click with rails, you should pursue that. I’m no one to say you shouldn’t – people are doing great with rails and you can too. Learn more about your rails roadmap here.


Golang, a compiled language made by Google, has efficient concurrency, which makes efficient use of I/O and multiple CPU. The language has a fast-growing community and a framework like structure within itself which makes a good language to start with. Rest API’s are easily built with golang. Revel, a back-end framework for the compiled language makes the development with golang simpler and faster. If you want a minimalistic web framework, you have Gin Gonic. A lot of startups are using golang, and there are more specialised frameworks which will help you to utilise the full potential of your newly learnt language.

Go is increasing in popularity and it’s predicted a lot of new opportunities around the language will appear. It’s projected to be one of the most popular languages of this decade. So, why wait? Learn Golang here.

Final Thoughts

The options might be overwhelming for you even if a lot of alternatives have been scrapped away. It’s natural for a human being to wander in hope for the best solution (happens with me too). But, back-end development is a way to solve problems and create impact. While starting this journey, you can pick anything(except PHP) and your world is not going to be different. It would be best if you focus on your problem-solving skills and master one language*. Different projects need different specialized and optimized languages for a specific task. That’s why API’s are there. If you need to jump to some other project specific back-end technology, whatever you have learnt can be transferred to another language and framework very easily.


The DevOps Awareness Program

Subscribe to the newsletter

Join 100+ cloud native ethusiasts


Join the community Slack

Discuss all things Kubernetes, DevOps and Cloud Native

Related articles6

How to clean up disk space occupied by Docker images?

How to clean up disk space occupied by Docker images?

Docker has revolutionised containers even if they weren't the first to walk the path of containerisation. The ease and agility docker provide makes it the preferred engine to explore for any beginner or enterprise looking towards containers. The one problem most of...

Parsing Packages with Porter

Parsing Packages with Porter

Porter works as a containerized tool that helps users to package the elements of any existing application or codebase along with client tools, configuration resources and deployment logic in a single bundle. This bundle can be further moved, exported, shared and distributed with just simple commands.

eBPF – The Next Frontier In Linux (Introduction)

eBPF – The Next Frontier In Linux (Introduction)

The three great giants of the operating system even today are well regarded as Linux, Windows and Mac OS. But when it comes to creating all purpose and open source applications, Linux still takes the reign as a crucial piece of a developer’s toolkit. However, you...

Falco: A Beginner’s Guide

Falco: A Beginner’s Guide

Falco shines through in resolving these issues by detecting and alerting any behaviour that makes Linux system calls. This system of alerting rules is made possible with the use of Sysdig’s filtering expressions to detect potentially suspicious activity. Users can also specify alerts for specific calls, arguments related to the calls and through the properties of the calling process.

Why DevOps Engineers Love Fluentd?

Why DevOps Engineers Love Fluentd?

Fluentd’s main operational forte lies in the exchange of communication and platforming for creating pipelines where log data can be easily transferred from log generators (such as a host or application) to their preferred destinations (data sinks such as Elasticsearch).

Operating On OpenTracing: A Beginner’s Guide

Operating On OpenTracing: A Beginner’s Guide

OpenTracing is a largely ignored variant of the more popular distributed tracing technique, commonly used in microservice architectures. Users may be familiar with the culture of using distributed tracing for profiling and monitoring applications. For the newcomers,...