I ask because I think people use the terms "front-end developer," "back-end developer," "full-stack developer," "Java developer," etc. in different ways.
Sometimes an "XYZ developer" term seems to describe the skill set possessed by a developer, and other times it is used to describe the specialization area of a developer.
When talking about skill sets, the term "full-stack" makes some sense to me: it emphasizes that a developer has learned a little about a lot and is comfortable diving deeper anywhere, including new territory.
But when talking about focus areas or areas of specialization, I think the term "full-stack" can be confusing: it seems to say "I'm good at everything," but a) that's not true, and b) every tech stack is different.
Also, the terms "front-end" and "back-end" refer to different things depending on if we're talking about web development or not.
Personally, the only modifier I tend to use with the terms "developer" and "engineer" is "software." Anything more feels like I'm putting myself in a box, and it might be hard to get out of later on.
"I'm a software engineer with ___ experience using ___ technologies, and I want to learn more about ___ by working on ___." More verbose, perhaps, but also a more accurate characterization of myself.
I think you've hit the nail on the head. Web Devs too quickly silo themselves into front or back-end and limit themselves to understanding only part of the product they're working on.
So often I've seen features implemented in the wrong place in the stack. Not because the Dev was bad, because they didn't want to learn a language on the "other side" of the stack.
This should be more than doable for an average Dev (being multilingual is, after all, a thing) but for some reason the REST API seems to represent a cultural divide between the front-enders and back-enders and us full-stack Devs are viewed suspiciously by both.
SOLID, TDD, Agile, all apply to both "sides" of the stack. It's certainly possible to be a good Dev on both sides - so long as you don't measure being a good dev as simply someone who can remember all the native functions in that language.
One of the fun games to play with people who call themselves full-stack devs is to see just how "full" their stack is. So often it's just a bit of JS and PHP.
I think that while they do exist, they all tend to have a specialty and, more importantly, relatively important shortcomings. I've yet to meet an actual full-stack that doesn't suck at one part of the stack, be it CSS, server configuration, DevOps, whatever.
Myself included. I suck at doing responsive layouts.
This is not so uncommon. There are a lot of people who can program the client all the way to Assembly. The question is, is this an efficient way to work in a project?
If your team and project scopes are small, hiring "full-stacks" make sense. There simply wouldn't be enough work for a full-time front-end developer in many places.
However, I've also seen places hiring a full-stack in hopes or getting rid of the need for an actual front-end developer for their product. Or hiring front-end devs who can use Firebase in hopes they won't need a back-end.
This rarely works, and when it does, it does quite poorly.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Full Stack Devs really exist.
What is a full stack dev? A "jack of all trades"?
I ask because I think people use the terms "front-end developer," "back-end developer," "full-stack developer," "Java developer," etc. in different ways.
Sometimes an "XYZ developer" term seems to describe the skill set possessed by a developer, and other times it is used to describe the specialization area of a developer.
When talking about skill sets, the term "full-stack" makes some sense to me: it emphasizes that a developer has learned a little about a lot and is comfortable diving deeper anywhere, including new territory.
But when talking about focus areas or areas of specialization, I think the term "full-stack" can be confusing: it seems to say "I'm good at everything," but a) that's not true, and b) every tech stack is different.
Also, the terms "front-end" and "back-end" refer to different things depending on if we're talking about web development or not.
Personally, the only modifier I tend to use with the terms "developer" and "engineer" is "software." Anything more feels like I'm putting myself in a box, and it might be hard to get out of later on.
"I'm a software engineer with ___ experience using ___ technologies, and I want to learn more about ___ by working on ___." More verbose, perhaps, but also a more accurate characterization of myself.
I think you've hit the nail on the head. Web Devs too quickly silo themselves into front or back-end and limit themselves to understanding only part of the product they're working on.
So often I've seen features implemented in the wrong place in the stack. Not because the Dev was bad, because they didn't want to learn a language on the "other side" of the stack.
This should be more than doable for an average Dev (being multilingual is, after all, a thing) but for some reason the REST API seems to represent a cultural divide between the front-enders and back-enders and us full-stack Devs are viewed suspiciously by both.
SOLID, TDD, Agile, all apply to both "sides" of the stack. It's certainly possible to be a good Dev on both sides - so long as you don't measure being a good dev as simply someone who can remember all the native functions in that language.
Yes, we exist. I design, write markup, styles, and handle back-end code and design database models.
But can you solder? 😜
One of the fun games to play with people who call themselves full-stack devs is to see just how "full" their stack is. So often it's just a bit of JS and PHP.
I can solder 😂😂
Exactly, I have also seen bad examples of full stack. But that doesn't change the fact.
I think that while they do exist, they all tend to have a specialty and, more importantly, relatively important shortcomings. I've yet to meet an actual full-stack that doesn't suck at one part of the stack, be it CSS, server configuration, DevOps, whatever.
Myself included. I suck at doing responsive layouts.
This is not so uncommon. There are a lot of people who can program the client all the way to Assembly. The question is, is this an efficient way to work in a project?
Depends.
If your team and project scopes are small, hiring "full-stacks" make sense. There simply wouldn't be enough work for a full-time front-end developer in many places.
However, I've also seen places hiring a full-stack in hopes or getting rid of the need for an actual front-end developer for their product. Or hiring front-end devs who can use Firebase in hopes they won't need a back-end.
This rarely works, and when it does, it does quite poorly.