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

Published 26.11.2020

Author Hrittik Roy

Tags

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.

Python

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:

Django

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

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

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.

Node.js

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.

PHP

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

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

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.

Join 100+ cloud native enthusiasts

and stay in the loop on modern software development.

Sign up to receive exclusive content around cloud native software development right into your inbox.

We don’t spam! Read our privacy policy for more info.

More stories from our blog

How To Install Docker on Ubuntu 20.04?

How To Install Docker on Ubuntu 20.04?

Docker is an open-source tool that makes managing application processes in containers much easier. Containers allow you to run your programmes in separate processes with their own resources. Containers are comparable to virtual machines, except they're more portable,...

Answer to Everything isn’t 42, it’s Family

Answer to Everything isn’t 42, it’s Family

We’re experiencing digitisation. An era where every person has a voice, and it doesn’t matter if he’s wise. There’s more motivation circulating the vast stretches of the internet than it’s required. This would be good in a theoretical world, but if you seek the truth,...

What’s new in Gitlab 14? 🦊

What’s new in Gitlab 14? 🦊

GitLab 14 is out and fans must be thrilled to know about all the new features along with all the fixes and removals. In this post, we will go through the many changes and improvements, bug fixes, and some remarkable deprecations. We will see all of that here. So,...

k8s vs k3s: The Comprehensive Difference

k8s vs k3s: The Comprehensive Difference

Kubernetes is undoubtedly a champion in the container orchestration world. But currently, we see that K3s or a lightweight Kubernetes distribution which is light, efficient and fast with a drastically small footprint levelling up. Businesses nowadays scratch their...

What’s new in Fluentbit v1.8.1?

What’s new in Fluentbit v1.8.1?

Fluentbit is a lightweight and fast data processor and forwarder for Linux, BSD and OSX. And, for Fluentbit fans, there is good news as they have released their new update with lots of new features and fixes. We will have a look at all of them below. New Metrics...

What’s new in Envoy v1.19.0?

What’s new in Envoy v1.19.0?

Envoyproxy introduced its new version, 1.19.0, recently, and it came with many changes and improvements from the previous ones. We can see more stability in this version, along with specific bug fixes. So, without waiting any further, let’s see what the new version...

What’s new in Vitess 10?

What’s new in Vitess 10?

Vitess 10 is released with many excellent features and also many bug fixes that were bothering the user base. We are going to see all the features and exciting announcements. So, Let's roll! Major Themes in Vitess In this release, we can see that Vitess Maintainers...

What’s new in Contour 1.17.0?

What’s new in Contour 1.17.0?

Contour 1.17.0 is out with a layer seven HTTP reverse proxy for Kubernetes clusters. The new version has arrived with many new features and several fixes, which will make the functioning of the ingress controller smoother. More activities within the community came...

What’s new in Prometheus 2.28?

What’s new in Prometheus 2.28?

Prometheus 2.28 is out. If you don't know, Prometheus is an excellent open-source system monitoring and alerting toolkit. Let's have a look at those features and have a look at the changelog. Displaying Trace Examplers in the Graphic Interface From the previous...

GPT-J: GPT-3 Democratized

GPT-J: GPT-3 Democratized

GPT-J is the open source cousin of GPT-3 that everyone can use. The open source transformer is all about democratizing transformers and with 6b parameters it’s the largest transformer available. Read more here

Interested in what we do? Looking for help? Wanna talk about software strategy?