
Photo by Desola Lanre-Ologun on Unsplash
Did you know that anyone in a Scrum team can be called a “developer”?
…developers, researchers, analysts, scientists, and other specialists do the work. We use the word “developers” in Scrum not to exclude, but to simplify. If you get value from Scrum, consider yourself included— The official Scrum Guides
We will, however, discuss this title in a more focused and traditional context in the following sections. Just bear in mind the strong association between the term “developer” and “agile” due not only to the agile movement but the nature of software development itself.
The most assumed meaning of “full-stack” in “full-stack developer” is the notion of an all-powerful developer who knows from many things to everything.
That is true
Developers are agile and are limited only by their brain’s capacity.
A full-stack developer, from my perspective, is even more agile in their learning capacity. They can learn to develop frontend, backend, database, DevOps, and even perform some security tasks if they are given some time to learn. Their strengths are the willingness to learn and the ability to quickly catch the foundation and essence of new technologies to start creating value early.
A full-stack developer offers a combination of skills that meet the needs of many non-trivial software development projects. Indeed the salary of a full-stack developer often carries a premium for that unique value added. But the company that hires them should consider themselves profited in return for that bargain.
To some extents
All most everything has a limit. Perhaps Time has no end, but the lifespan of a human does. And so is the number of hours a full-stack developer can spend learning new stacks. And so is the project’s expected delivery date.
There is a limit to how much time a developer can learn new skills or sharpen existing techniques. A full-stack developer can get pretty good at a few technologies but he or she cannot automatically become an expert at them all. If a company needs a fancy UI, decorated banners, responsive images, and an immersive user experience, the company betters hire a UI specialist. If a project plans to build a powerful, resilient, scalable platform, the project better has on its team backend specialists and system architects. For sensitive data and top-rated security protection, full-stack developers must not play the role of security experts.
Should you become one?
I think you should. Not only because of the good pay but also because it resonates with why you become a developer.
Let me share my own journey. I started working in 2007 when the term “full-stack” was not popular and “programmer” was still listed in people’s resumes and job boards. I dipped my hands in everything, UI, backend, database, and even some DBA tasks and security fixes. Being able to work in them all gave me a pretty good understanding of the entire system architecture from a high-level view as well as detailed component-level design. I quickly rose to a tech lead position just 3 years after joining as a fresh graduate.
Furthermore, I think you should strive to reach expert level in at least 1 area because that will give you even more options in your career and let you maximize your potential.
I have known many such full-stack-cum-specialist developers. Some chose frontend because of their background in UI development. Many of them knew and used JavaScript to develop interactive web applications. When NodeJS arrive, they were able to apply their skills to the backend world. Others, like me, trained in Java or .NET, started out writing code for backend applications and services and gradually picked up frontend skills and knowledge over the year.
How do you become one?
That’s a topic for a future article. Stay tuned.