So you want to become a full-stack-developer? Here are the capabilities you actually need!

So you want to become a full-stack-developer? Here are the capabilities you actually need!

"Full Stack DevOps" is a title thrown around by many recruiters and job postings with big salary labels. Then you click into it and swim in a sea of acronyms. You may not be entirely sure if it's really a bad joke or if the recruiter is trying to cover all existing programming languages and cloud service providers.

That leads to the question: What exactly do I need to become a highly effective full-stack-developer?

Start with the basics: Cloud computing

We all know what cloud computing is, but at the same time we don't know. Cloud computing can be one of those mysterious, vague technical functions that seem more complex than they really are. Cloud computing essentially means knowing how to do things with at least one of the major cloud service providers. AWS is the largest and most popular in the market, followed by Microsoft Azure and then Google Cloud. There are also other providers like Digital Ocean and IBM Cloud.

Although the way their services are provided can be different, the key concepts such as regions, availability zones, data centers, virtualization, VMs, and networks are essentially the same.

They coding stuff: HTML5, CSS3 and JavaScript

You need the basic trio: HTML, CSS and JavaScript. If you want to be a full stack developer, there is no way around it. You don't have to be a genius in front-end design to be a full-stack developer, but you still need enough knowledge of HTML, CSS and JavaScript to create interfaces.

Cloud-native applications

It's one thing to deploy a simple app on AWS. However, it is another to use AWS Inside-Out correctly.

(Tip: It does not have to be AWS - it could be any cloud provider such as Google Cloud and Microsoft Azure. AWS is listed here because it is the largest and therefore it is probably easier to get a full-stack job if you have AWS experience).

Cloud-applications with Node.js and React

As with HTML, CSS and JavaScript, you won't be able to escape Node.js and React. It's everywhere and almost every job requirement. But there's more to it than just creating a simple CRUD app with the Node.js and React coupling.

Container, Kubernetes and OpenShift

Containers deal with the process of automatically deploying apps. Only manually uploading your app to the cloud doesn't make you a real full-stack developer. If you did that, it would be like claiming you know how to code after watching a 15-minute video on YouTube.

The three most important things you need to know and be familiar with are Docker, Kubernetes, and OpenShift. Why these three things? Because they are the most popular orchestration services/methods currently used across the entire industry.

Python-basics for data science

Python is not a fad. Sooner or later, as you become a full-stack developer with DevOps skills, you will encounter Python in some form - if not in AI programming, then for data science purposes or microservice scripting.

You will also need a compiled language. Python is the easiest to learn and use. In fact, Python is a fun language because it is both compiled and interpreted.

Django-application-development with SQL and databases

Put simply, Django is web-based Python. You don't need Django for full stack devops, but it's an example of something you might need because you need at least one other backend programming language that uses a database.

Having only Node.js is not harmful – but JavaScript is not a really compiled language. It is an interpreted language that behaves and works differently. It is good to have a compiled language as part of your complete resume.

Microservices, Serverless, OpenShift

These are not just buzzwords. In app development, we typically learn how to construct monoliths. However, microservices and serverless are changing the landscape for cloud-based environments.

OpenShift is a container orchestration tool – you must be familiar with OpenShift to automate the deployment of all the microservices you (or someone else on your team) creates.

An effective full-stack-portfolio

If you are new to the software development scene, you will need a portfolio of sorts. Rather than create several individual pieces that hardly showcase your skills, bring everything together into one larger project.

It is important to create a halo effect around your application when pitching it against other developers for the same job. Think of it this way: who would you hire? Person A who has 12 simple projects that anyone could do, or person B who has one large project that shows depth and skill? So make something great!

This is only a guide. There are 101 different ways to market yourself as a full stack developer. However, these skills give you the depth and breadth you need to become a highly effective full stack developer. Anyone can put an app in the cloud nowadays. But if you master these skills, you can stand out from the crowd.

This might also interest you