I became a full-stack developer somewhat by accident... How did that happen?
After my contract with a previous employer ended, I decided to look for a job in various places (by the way, LinkedIn is a wonderful place for this; people can really come together to help others, for which I am very grateful).
The recruitment processes varied, but as a rule, I was looking for a Senior Frontend Developer position. After all, I had been honing my skills in front-end development since the beginning of my career, and that was the direction I was aiming for in my interviews. There were many of them, and during this process, I came across an opening at my current company (Lumenalta, formerly Clevertech). There, I encountered a small surprise in the recruitment process—the tasks for my position consisted of two parts.
One was a typical front-end React task, while the other was a task in... Node.js.
I thought, "Okay, why not? Maybe it's just part of the recruitment process."
I completed everything, and it went really well—so well that I got the job. In the next step, I received an offer, and the job description read...
Senior Full-stack Developer
I thought to myself, "No way, how? I applied for a front-end role..." But did I? I checked the link I had applied through and it turned out there was no mistake. I had indeed applied for that very position. And that's how I became the Full-stack Developer I am today.
So much for the introduction :)
Let's now move on to the topic of the article, which is the path of a front-end developer and their evolution, using myself as an example.
Even though I completed my undergraduate studies (Engineer's degree) in Computer Science at the West Pomeranian University of Technology, I didn't (unfortunately) become an ace in algorithms, design patterns, memory management, or other pressing issues that were emphasized during my studies.
A Passion for UI/UX and Creating Websites
I have always been excited about building websites. I created my first site back in middle school for a computer science project, so this subject has been close to my heart for many years.
As an additional asset, I was and still am passionate about UI and UX (although back when I was learning web design in Adobe Photoshop and later Sketch, the topic of UX was still in its infancy).
This is definitely helpful in the work of a front-end developer, who is, in a way, an artist and a creator, and should have that "feel" for the subject, for colors, for font sizes, for the space between elements, etc.
All of this contributed to my front-end arsenal and brought me joy then, as it still does today, with every new project I create.
Beginnings in Front-end
My journey began with creating typical cut-ups from Photoshop PSDs (the years 2014-15 were dominated by Photoshop and website mockups created in it).
These were also times when there weren't as many possibilities when it came to CSS and JavaScript (back then, it was mostly jQuery), but it was enough for websites that needed an image carousel, a gallery, a contact form, and navigation.
The next step towards more advanced website management, allowing non-technical people to modify content in the future, was integration with a CMS (at that time, it was a proprietary CMS of the company I worked for, Squiz Matrix). It certainly taught me some fundamentals of how such systems should (and should not) be created :)
The Evolution of Front-end and the Arrival of React
Further stages of my career involved increasingly complex projects that shifted from websites to web applications. This meant dynamically operating on data and reacting to changes—and that's where React entered the scene. It was a huge change in my front-end mindset because it turned out that it wasn't just about buttons and links, but about entire business logic and full-fledged applications that allowed for purchasing products, making calls via VoIP, editing videos, manipulating data on a map, and more.
Full-stack - New Challenges
The next step in my career was either lead front-end developer or full-stack developer... You already know from the introduction how that turned out :)
What are my observations after working in this role for almost two years?
On the one hand, it's a completely different ball game because besides thinking about database architecture, modeling data correctly, creating optimal queries, and handling errors, I have the impression that it's actually a completion of the knowledge a modern front-end developer should have. This is especially true for the more advanced ones who have performed these operations many times and understand the principles behind many of the mechanisms used here.
Backend - Differences and Advantages
How is it different? It's certainly a bit less visual, but the web still offers a plethora of tools for testing. Speaking of testing...
Testing
I'll be honest, without pulling any punches: before I started my job as a full-stack developer, I treated this topic somewhat neglectfully, and testing was heavily ignored by me. In the case of the back-end, integration tests have saved my neck many times, preventing disasters on the environments where we deploy the application. So yes, testing is very important, although I still believe that the front-end is best tested with E2E tests.
DevOps
What else goes hand in hand with the back-end? DevOps matters.
I have the impression that for the server-side part, it's worth thinking about environment orchestration, Dockerization, and preparing builds for specific environments. Docker is a wonderful tool, and I only really started to delve into it when I landed my current role.
Thanks to Docker, we are able to work on different operating systems, using Docker and its images as the environment we actually operate on.
This is a field I am exploring deeply and plan to expand my knowledge in this area to include GCS, Azure, AWS, Kubernetes... There's quite a bit :)
What's a Plus: Front-end Pendolino vs. Backend TLK
One difference that is a plus for the back-end is that I have the impression it is a somewhat more hermetic environment. The front-end develops devilishly fast, and what was a standard yesterday might be outdated and unusable today. The entry barrier is higher, but the knowledge lasts longer.
In the case of the front-end, it's a bit more difficult because every project has a different framework, and with it, different assumptions. Everything changes very dynamically; sometimes it's a typical evolution, and other times it's a revolution that turns everything upside down.
Well, whoever thinks they know everything is a fool, so I am constantly learning and trying to stay up-to-date. However, my advice for front-end developers is:
- Master the fundamentals, because when you're working in JavaScript, it's worth knowing the basics and seeing if you really need additional tools (JS is now so developed that many things can be written without extra libraries).
- Do market research and check which technologies are hot right now. Don't focus on everything; choose what you would like to do, what technologies are used for those types of projects, and go in that direction.
- Don't try to grasp everything at once; it's impossible, and sometimes you also need to live a little :)
In Summary
A front-end developer who becomes a full-stack developer naturally expands their skills to include those related to the back-end. This covers database architecture, data modeling, testing, and DevOps. The back-end becomes a complement to the front-end developer's knowledge, giving them a broader perspective and a deeper understanding of the dependencies between these two fields.
Full-stack is a natural development path for advanced front-end developers who want to broaden their horizons and create cohesive web applications. This requires not only technical skills but also soft skills, such as communication, collaboration, and problem-solving.
For those who want to take on this challenge, full-stack offers many benefits. It allows for:
- A complete understanding of the web application development process: from the user interface to the business logic and database.
- The ability to create applications independently: without having to rely on other developers to build the back-end.
- Greater opportunities on the job market: full-stack developers are highly sought after by companies.
If you are a front-end developer who wants to grow, full-stack might be the right path for you. Remember, however, that it requires hard work and dedication. Keep learning, follow trends, and develop your skills, and you will gain the necessary qualifications to become a valuable full-stack developer.