05-07-2021
How to be a fullstack developer? The equation for your career
By Diogo Salaberri, Technical Project Manager @ Xpand IT
[Fullstack (Fs)] In the IT market, there is a lot of talk about fullstack developers — professionals who can work on various phases of a project, and who are increasingly rare and, therefore, very valuable. In this article, I’m going to talk about becoming a fullstack developer. What are the main challenges and how can you increase your chances of working in this role?
There are a number of variables in the career of a fullstack developer. And so, I will build throughout my article an “equation to demonstrate the day-to-day challenges of a fullstack developer. Starting by dividing applications into two layers:
- Front end. This is the visual layer, where users actually interact with the application: the screens, buttons and menus, etc. There is a wide range of technologies and tools available to act on this point. Some of the most important and worth mentioning are Angular, React and Vue.
- Back end. This is where business rules are usually developed and there is a high volume of data processing happening. Here, operations such as calculations, access to the database and calls to complementary services are performed. There are also many valid back-end solutions. The most commonly used are Spring (Java) and NodeJS (JavaScript).
[Technology (Tc)]
If you are already working in the IT world, you will know that it is difficult to know multiple languages and it takes time to master them in-depth. For fullstack developers, some languages are more important than others to achieve their goal. The growth of JavaScript in our market is remarkable. And it is justified both by the number of developers who develop using this language and the amount of interactions and people who support the tech community daily. So, if the entire process can be managed using just one language, the better it is. It is no coincidence that the expression “Javascript is everywhere” is both highly pervasive and true. So, the first variable in our fullstack developer equation is the technology domain.
[Knowledge (Kn)]
Second, and not least, is knowledge. I’m talking about knowledge of concepts, not about the words reserved for a particular programming language. If you want to be able to be involved in an entire project, focus on the concepts; not just knowing everything about Angular or Spring, for example, but knowing how REST APIs work, about microservices, and how to use guards, interceptors and understand Single Page Applications.
[Mindset (Ms)]
Having defined our primary language, mastering the concepts and knowing what objectives we are going to work with, we move on to the third variable: Mindset. But what does Mindset have to do with fullstack developers, I hear you wondering? Everything!
If a developer is focused on purely creating code, putting in their IF’s and ELSE’s and submitting that code to the repository — without paying attention or feeling any curiosity about the whole project – this developer will have more difficulties becoming fullstack. It’s very important to have the right mindset to venture out and solve tasks in different parts of the application. It is almost mandatory to feel interested in the best solutions, thinking about the application as a whole, and not just one layer. Avoid the common, the “they and us”, the front-end and the back-end developers. It is important to speak as a team for each layer of the application. At the end of the day, it’s just us. A team works together to deliver a software project.
[Environment (Ev)]
Finally, the potentiating factor in this equation is a variable that is not exactly in the programmer’s hands, but is still a programmer’s choice. The environment in which they operate has the power to facilitate or complicate the choice to become a fullstack developer. If your company does not have an environment where there is a good level of trust and security, this career move can get quite complex. However, if there is, the whole equation becomes much simpler. Choose well where you spend most of the hours of your day, and opt to work in a welcoming environment, where you have the freedom and security to become a fullstack developer.
Having explained my variables and the direction of this equation, I believe it is of great importance to briefly explain how my own career evolved and how each of these variables appeared along my path towards becoming a fullstack developer.
In the beginning, everything was new, a big world to be explored straight out of college. And as you might think, I wasn’t prepared. In my first project I was a mobile developer. I started by developing an Android application but I barely knew Java, which means that I didn’t know the technology (Tc). My first step was to dive into the programming language, and study in-depth everything it could offer, even more in native Android development. Having knowledge of the tools that Java had introduced, I needed to understand how and when to apply them. That’s when I went looking for knowledge (Kn): data structures, object orientation, everything I could to understand how those words fit the problems I had in front of me. That was the awakening of my mindset (Ms): even though it was very premature, wanting to understand how things worked, how the parts connected. All of this was fundamental throughout the process.
The first project passed, along with the first company I worked for. Many other projects emerged and helped me to consolidate these three variables, largely because they depended on me. But there was another variable that took me a while to find, namely environment (Ev). At this point I was already working with Javascript, the IT world was already full of JS frameworks and the language was already in the back end, mobile, etc. It was the right bet for my career and the right time. But my mindset (Ms) still told me that something was missing, a variable in the equation was still deficient. That’s when I met Xpand IT, a company geographically distant from where I lived, which was recommended to me by friends.
Fs = [(Tc + Kn). Ms]Ev
Already in our first conversations there was positive synergy and I instinctively felt that this was the environment I had been seeking for some time. After several meetings, today I can truly say that I’ve found my right environment, that final variable to boost the result of my career equation. And I’m not saying this for the sake of it: today I’m leaving Brazil to join the Xpand IT team in Portugal. So I’m writing this article from inside an aeroplane, flying from my country to a new life.
After many variables and a bit of history, I am still playing the game of finding the perfect equation for fullstack developers. You can do it too: substitute the values, find where your Fs value is decreasing and act to improve on it. Good luck!