The Evolving Meaning of "Full Stack Developer"
Is it just me, or is the term "Full Stack Developer" becoming more and more meaningless?
I've been working as a developer for over 10 years, and it seems the only prerequisite for being a "Full Stack Developer" is that you dabble in both frontend and backend development, it doesn't matter if you're a junior or senior developer, and it doesn't matter if you're proficient in both.
Roadmap.sh actually does a good job of illustrating, a lot of the knowledge necessary to be a "Full Stack Developer", though it is heavily biased towards Web/JavaScript development, which is a good example of the problem, even though I'm sure it's a useful resource for newcomers. But look at the bottom, "DevOps", oh here we go....
DevOps, DevOps, DevOps
Another term that keeps popping up is "DevOps" or "DevOps Engineer". I mean, in reality, DevOps was supposed to be a methodology, not a role, but I guess that's what happens when you hit the mainstream, you can't control the terminology.
From my perspective, writing code is far from the most difficult part of being a developer. Therefore, "Full Stack Developer" is largely meaningless, as it shouldn't be required to spell out, that you can work on both the backend and the frontend. It should be expected that any developer can contribute to the whole "stack", and if they can't, that might be a symptom of lack of experience.
Some people have 10 years of experience, others have the same 1 year of experience 10 times.
I hereby dub it the "10x1Exp Engineer".
But following the previous logic, should we include "DevOps" in the term "Full Stack Developer" when you also possess that knowledge?
"Full Stack DevOps Engineer"
But let us be honest, DevOps is usually slang for On-Premise, and the real next boss is "Cloud".....
The Cloud Hype
I mean, the hype is mostly gone, but it wasn't long ago that "Cloud Developer" was the new hotness. Now it has to be "Cloud Native", and don't worry, that will sneak into titles before long too.
Well, assuming you also have knowlegde of "Cloud", then let's add that to the title as well.
"Full Stack Cloud Native DevOps Engineer"
The AI Buzzwords
Urgh... I'm not even sure I can recall all of the ridiculous titles, but newer titles like "Prompt Engineer", "AI Engineer", and "Generative AI XYZ" are flooding the market. People need to stand out, and an easy way to do that is to make up new titles, I get it, but I don't have to like it.
If you're not using an AI-coding assitant, how do you even have a job? Let us make sure to add to our title, that we familiar with AI-coding assistants.
"AI-Empowered Full Stack Cloud Native DevOps Engineer"
Introducing the "Complete Stack Developer"
So even before a lot of these newer titles, I've always joked that I am a "Complete Stack Developer", as I've been around quite a few "stacks".
During my studies, we did Java GUI development, Web development, and Android development. I was lucky that at my first real job, I got to wear so many hats, as that was just what was "required". We were a small team of 4-5 people, and we had to cover all areas. That meant that at times, I was doing a lot of frontend work, then some Android, then backend, then administering servers, then provisioning infrastructure in the cloud, then setting up IoT devices. I mean, it never ends, there is always something new to learn or do.
At some point, calling yourself a "Full Stack Developer" just seems ridiculous, as would calling yourself a backend or frontend developer. It completely fails to encompass the whole picture.
In my opinion, "Software Engineer" should suffice, (unless you're in Canada, then you need to figure something else out), we're first and foremost problem solvers, and for the time being we're using software to solve them.
I've decided that if we're all playing stupid games, perhaps I should just call myself a "Complete Stack Developer", and perhaps then people, will pause and think, before they try to fit you into a tiny box.