DEV Community

Discussion on: I’m sorry, but this “Full Stack” meme makes me really mad/sad

Collapse
 
geekychristine profile image
Christine Martino • Edited

I think the best rationale for a “full stack dev” is that the healthiest teams are full of empathetic people who are willing to put themselves in the shoes of any member of their team (regardless of where they specialize) so they can learn about the challenges of their teammates.

I want to believe this so hard. I am technically “full stack” in this very sense, choosing to explore the backend as a means of greater appreciation and understanding, and to improve my own skillset.

However, developers (or rather, people) with that attitude have been sadly rare in my experience, both working with many, and also interviewing (hundreds) of “Full Stack” developers. There are diamonds, yes, but I have to sift through a LOT of cruft to find them.

I find more often than not the title comes with “ignorant arrogance”, not the humility and curiosity I hope for, and the meme feels painfully accurate to me. To clarify, most Full Stack developers I’ve interacted with were usually .NET Developers who know how to npm install Angular with Bootstrap and call themselves “Full Stack”. So the less detailed part of the horse is in essence a Backend developer choosing some automagical frontend framework just to get a project done.

And that’s not a bad thing — for prototypes, small projects and startups, maybe. But personally, I’m a UX advocate, so ignoring something like accessibility is lazy and unacceptable in a production application IMHO.

But when I have deeper conversations about the frontend, it often exposes how very little they understand and respect the responsibilities of a frontend developer, because they assume the role is simply HTML markup and “making it look nice” with CSS (funny how most FS devs I know despise or avoid CSS altogether, despite being one of the most important parts of FE Development).

Many conversations had an uncomfortable tone that suggest “That’s so easy — I can totally do your job”, yet they struggle when tasked with improving accessibility, or optimizing performance beyond minification, or explaining how a browser actually works.

Personally I’d like to do away with the term altogether, because the “stack” is becoming more and more ambiguous these days when you consider DevOps, Serverless, etc.

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

Thank you for sharing that perspective. I think you perfectly explained why empathy is important (regardless of the title).

Having done backend and UI about equally, I think they both have unique challenges. And like you said, if you don’t recognize or understand that CSS is hard or that state management in UI development is hard... then you probably won’t be a very compassionate coworker. So yes, I can imagine that it’s hard to scan for candidates that express that understanding or at least that desire to understand.

But hey, I think that the fact that you’re interviewing for those qualities will only help to build more empathetic teams. So thank you! :)

Collapse
 
geekychristine profile image
Christine Martino • Edited

One additional anecdote I would like to share about the Full Stack title in general: I do worry that the title is not viable and potentially harmful to one’s career in the long run. I observed first-hand a Fortune 50 company attempt to make all their developers “full stack” with little to no success, but a TON of employee burnout, unrealistic expectations from stakeholders and managers, and a shameful amount of turnover. It’s too nebulous a term that many people have their own expectations of what it means, and then suddenly, your job description and responsibilities grow, without a clear foothold to negotiate appropriate compensation because “well, everyone is full-stack here.”

Better to specialize in one area, have a clearer career path for advancement, and a more sane work-life balance IMO! What’s the advancement path look like for a “Full Stack” developer? They risk being stuck at mid-level more so than those that specialize in an area.

Correction: It’s likely more lucrative and viable a career path for contractors who can negotiate their own rates more easily than a full-time employee could.

Thread Thread
 
cubiclebuddha profile image
Cubicle Buddha

It’s a good counterpoint. Like it’s definitely something to consider. But this article isn’t about convincing a company about how it should run it’s business. It’s about giving developers freedom to become a generalist if that’s what they like (I know I do). Like seriously, if a company asks me to be only front-end or back-end, I refuse the position because I know that it won’t make me happy enough to stay motivated. But I understand that some developers have the opposite career goals. It takes all kinds of people, and a good company should understand that necessity to have diverse skill sets (specialist, generalist, etc). I’ve had to argue my value as a generalist many times, but once people observe what I add to a team, they start to get it: I’m someone who has enough range of knowledge that I can help bring a team together and ensure that a feature is delivered cohesively. Meanwhile, a generalist can also help remind the specialists on the team that each person’s job is hard and deserves appreciation (if they’ve forgotten).

Side note: full stack is much more possible when the whole stack is JS (ie NodeJS) backend. It’s a little unrealistic if it’s Ruby or Python on the backend and JS in the front end since they look so different. The context switching gets really tiresome (and I’ve experienced that first hand). That’s why I really admire the JS stack.