Traditionally, web and app development processes involved teams of backend, frontend, and database specialists working together to create a product. Today, the trend is changing in favour of multidisciplinary professionals – full stack developers who can perform different roles in a team. Godel supports the trend – the company offers employees the opportunity to undergo theoretical and practical training to become universal specialists. We spoke to full stack developers, Tatsiana Toustsik, Nikita Makeyeu, and Krzysztof Jodlowiec about how the process of transitioning to a full stack position occurs, what are the benefits for customers and the specialists themselves.

What is the superpower of a full stack?

Versatility is the strong point of full stack developers; they must have deep knowledge of everything related to product development. Creating a user interface, coding, building databases, editing images, adding animations – this is what a multidisciplinary professional should understand.

“We position ourselves as technical specialists, and a technical specialist is not something narrowly focused, it is a person who can do everything. It is much more profitable for customers to hire one full stack developer who will do both the back and the front of the site than to attract frontend and backend developers separately. With versatile skills, a multidisciplinary specialist adapts to various development ecosystems faster.” says Tatsiana Toustsik.

When there are full stack specialists in the team, there is no downtime in development, since the developers become interchangeable. If, for example, the frontend developer goes on vacation, the process does not stop – he or she is easily replaced by a colleague who has grown into a full stack from the backend. Thanks to this, a full stack developer is positioned as a top professional in the global IT market.

How to become a full stack developer at Godel

Retraining of developers occurs in several stages. At first, the guys fill in theoretical gaps and complete practical tasks – consultations help with more experienced colleagues. Then they join projects, applying the acquired knowledge in real processes.

“A backend developer, preferably at least middle +, takes a ticket that contains both front end and back end this way he becomes responsible for the entire feature at once, and can “touch” everything entirely. Working on tasks, the guys adopt knowledge from more experienced colleagues through full requests, exchanging best practices. And so, ticket by ticket, having a good programming background behind them, backend developers study the nuances of the frontend,” explains Tatsiana.

On average, training takes about six months: developers take Mastery for three months, and another three – to polish their knowledge of the backend and solve frontend tasks on internal projects.

“While I was on the bench, I was offered training in Azure DevOps and AWS. I was given a month to study each of them. Having completed courses in front end and DevOps while on the bench, I received the status of full stack, but without experience. You become a full-fledged multidisciplinary professional when you start gaining knowledge on a specific project,” says Senior .NET Software Engineer Nikita Makeyeu. “On the project, I was able to try myself in the role of frontend. My movement to full stack began with simple tasks they did not slow down the development, and in the meantime, I watched how things worked, watched how experienced colleagues did it. The code reviews helped me to understand the processes as well – I could send my solutions to guys who know the front end: they made edits. This was a good stage of training. Thus, I gradually gained experience, and got my hand in: I made mistakes, figured it out, corrected the mistakes and did not repeat them anymore. As a result, after six months, frontend work stopped scaring me, and there were no problems switching from the backend to the frontend.”

“I think it was a 100% positive experience. I got the chance to first start working on an internal project involving front-end. That helped me a lot with the transition from back-end to full-stack. I think it’s quite important to get experience on an actual project instead of simple tasks. But apart from that, talent managers also provided roadmaps, materials and tasks to help with studying on my own. This helped a lot too – theory helped me fill the knowledge gaps I had from just practicing on an internal project. The whole experience made me a better and more versatile programmer. About the experience I think I enjoyed the most the part where I learned new tools and could start using them to build more complex solutions,” comments .NET Software Engineer Krzysztof Jodlowiec.

The training is not easy: the frontend and backend differ from each other in mindset. On the backend side, there are many abstractions, everything is formalised, and on the frontend side, it is the opposite: few abstractions and everything is not formalised.

“You need to restructure your thinking and develop a sense of beauty. The site should not only work but also look good – we work with this understanding, too,” says Tatsiana.

“The most challenging aspect of learning frontend was learning the ‘hacks’ or methods to solve some problems. Learning the overall ideas and design patterns was quite straightforward, but learning how to implement them was a bit harder,” says Krzysztof.

Is the game worth the candle for a developer?

By becoming a full stack, a developer gains new experience, and the ability to independently solve tasks and not waste extra time on communication. Development goes faster because each team member understands the entire workflow of the project.

Tasks become more diverse: extract information from a database, create a new design for a registration form or conduct load testing – all this can be done by a full stack developer. If you are interested in switching to different tasks, and learning new technologies and approaches to programming, full stack is what you should strive for.