In my experience, “full-stack developers” always translates to “programmers who can do frontend code because they have to and it’s ‘easy’.” It’s never the other way around.
I find this interesting example of how we tend to see the issues from our own context. In my experience as a backend engineer, “full-stack developer” translates to “programmers who can do some backend code if you make them.” Likely we’re both right: he sees the knowledge gaps of full-stack developers from his context as a frontend, while I see the gaps from my context as a backend.
“Full-stack” generally means “jack of all trades” with the implication that follows.
I prefer the term “versatile” for somebody who is comfortable going outside their normal area of expertise but doesn’t claim to be equally good at all the things.
I like to say “software developer” and, when forced, “quick learner”
Obviously I’m better at things I do every day, but when people say “I’m an X developer” and tie to one language/stack/domain it makes me wonder if they can even handle new situation within their “X”…
I’m more forgiving of specialization in domains (infrastructure, UI, embedded, etc) than languages or (even worse) specific frameworks. I understand that many people will have strong interest in some domains over others but there’s no justification for a professional software developer to stick to only one language (and definitely not ust one framework) for more than a few years - obviously it takes a few years to become competent in one and it’s actually counterproductive to just keep getting cursory exposure to new languages/frameworks very frequently without taking the time to actually become proficient in any of them.
I find this interesting example of how we tend to see the issues from our own context. In my experience as a backend engineer, “full-stack developer” translates to “programmers who can do some backend code if you make them.” Likely we’re both right: he sees the knowledge gaps of full-stack developers from his context as a frontend, while I see the gaps from my context as a backend.
“Full-stack” generally means “jack of all trades” with the implication that follows.
I prefer the term “versatile” for somebody who is comfortable going outside their normal area of expertise but doesn’t claim to be equally good at all the things.
I like to say “software developer” and, when forced, “quick learner”
Obviously I’m better at things I do every day, but when people say “I’m an X developer” and tie to one language/stack/domain it makes me wonder if they can even handle new situation within their “X”…
I’m more forgiving of specialization in domains (infrastructure, UI, embedded, etc) than languages or (even worse) specific frameworks. I understand that many people will have strong interest in some domains over others but there’s no justification for a professional software developer to stick to only one language (and definitely not ust one framework) for more than a few years - obviously it takes a few years to become competent in one and it’s actually counterproductive to just keep getting cursory exposure to new languages/frameworks very frequently without taking the time to actually become proficient in any of them.