Here’s an uncomfortable truth: developers hate the term “full-stack”. HR and management love it—at the time of writing, about 20% of the jobs on Stack Overflow are seeking somebody full-stack, and I’m sure you’ve seen it in enough job ads that you reflexively roll your eyes all the way back into your skull at it. In developer circles, it’s almost an epithet: you can spend the job interview bragging that of course, I’m full stack, yep, every single one of ‘em, with butter and maple syrup too, but as soon as you’re around the water cooler with your colleagues it’s suddenly a bit embarrassing. Oh yeah I do a lot of work with Mongo but I do some JS on the side, you know what it’s like, I dabble a bit I guess. Oh yeah I mean, a markup of course but who doesn’t?
I’m not as evangelically against full-stack as many developers, but I think its hour has long passed. Ten years ago, a very talented person could be full-stack: HTML, CSS, JS, PHP, a bit of Unix know-how, MySQL, and boom, you were done. It was hardly the full picture, but it was enough to call yourself “full-stack” on your CV and not feel like a liar. It’s not that any of the technologies were ever simple or easy, but they were simple enough that you could develop a T-shaped skillset and broadly be able to manage everything in a given stack. A very, very good developer could become an expert at all of them. It would take a lot of time, but it was possible.
Now? It’s a whole different world. It was never easy, but now it’s madness. Servers aren’t an Apache box somewhere in the office, they’ve distributed networks of Kubernetes clusters consisting of hundreds or even thousands of containers that exist in the cloud which is—even though we’ve become thoroughly used to it at this point—super weird conceptually, and requires its own distinct skill set and experience. MongoDB is very different from SQLite, and they’re both totally different from Redis which is different. Kubernetes monitoring is way more smart and efficient compared to full-stack.
Look, if you expect somebody to do that and craft PWAs using increasingly-complex JavaScript and do all your graphic design and walk your dogs, then you’re going to be disappointed. I’m not saying we go back to strict silos or anything, but it has become obvious to developer that “full stack” (much like Agile) is a word that might’ve used to mean something but is now just a warning sign on a job ad that says you’re going to be doing more work than it’s reasonable for one person to do.
A great modern developer has a T-shaped skillset, and there’s nothing wrong with that; I would be worried if the server specialist knew nothing about databases, and if they understand principles of frontend design it helps them to make more motivated decisions and helps them communicate with the frontend team. Expecting a developer to understand what’s going on around them is perfectly reasonable and helps us break down silo walls, but expecting them to specialise in everything is a recipe for mediocre work across the board. It’s too much: even the best developer in the world just doesn’t have the time.
We are seeking an experienced full-stack developer for our new startup. You’ll need to manage our cloud service infrastructure and a number of pieces of legacy software while also handling testing and brand image management.
If you’re a manager or HR person feeling a little disheartened about all this, hang on, because here’s where I turn it around. You don’t want full stack developers: you want full stack teams. That’s the approach that we’re going to need to start adopting in the new decade, because our systems are only going to get more complicated and our developers are only going to get more overwhelmed if we expect them to be able to cover the same areas as we did in 2012.
That’s not to say Front End or Back End don’t exist anymore—it’s not mad to imagine one developer handling servers and databases together, though it’s harder than it used to be. It’s not mad to imagine a JS developer who can write markup, either: most can. But even HTML and CSS are much stranger beasts than they were ten years ago, and as time marches on we may see them needing to split off into their own specialisations.
I’m getting a bit lost in the weeds here, but I hope it all supports the same idea: our technology is getting more and more advanced, and it’s no longer reasonable to expect one person to be able to do it all. Whether it was ever reasonable is a more difficult question that has probably ruined at least one workplace friendship, but it’s neither here nor there—we’re in the now, and right now, full stack is dead, and we need to let it rest.
If you’re a developer looking for work, then CodeClouds have got excellent developer jobs available in Kolkata, India. They’re a highly reputable web development firm with over 250 developers across four continents, and I suggest you check them out today.