Unicorns Are Pretty and All, But Do You Really Want to Become One?
Many view the highly sought-after full-stack developer as an impossible mythical creature.
Join the DZone community and get the full member experience.
Join For FreeAs a recent article in InfoWorld explains, “A full-stack developer is a jack of all trades and a highly sought-after job candidate.” But what does this term mean exactly, and do you really want to become one? Let’s discuss.
Turns out, the very concept of a full-stack developer is a bit of a heated topic. Perhaps Andy Shora defined it best in his “well-balanced article/controversial rant about the term” (mind you, he was writing in 2014):
“At the level of a senior full-stack engineer, we're perhaps talking about architecting a modular Backbone/AngularJS front-end whilst optimising content delivery and tweaking hardware- accelerated layers in CSS, followed by implementing an async non-blocking backend (which also pre-renders templates on the server), and pushing to an AWS cluster which has been built with security and scaleability in mind. Not to mention design. Designing UI responsively and mobile-first is essential, utilising a CSS pre-processor to save time. And remember to setup Nagios for monitoring."
It's no wonder so many developers consider this an almost impossible feat. “While such a person may be out there somewhere,” wrote Jeremy Wiggins in his piece “The Myth of the Full-Stack Unicorn Developer,” “they will be so hard to hire that they might as well be imaginary.”
The reason for this? “You’d need to hire them away from wherever they were currently working,” Wiggins explains. “Unicorns are rare, so companies will work hard to keep them … [so you’d] need to be willing to pay the high salaries these experts can demand. The result is a long time spent on a hiring process to acquire one person at a very high price.”
But according to a recent report, while full-stack software developer is by far the fastest growing job title in the United States, it’s average salary doesn’t seem to reflect this demand. At $77,900 per year, its median compensation pales in comparison to the likes of your average data science manager ($147,000) or cloud solutions architect ($125,000).
So, what gives? Andy Shora, again, has some ideas: “Smaller companies and startups NEED full-stack developers,” he explains. “Developers are often forced to acquire new skills when the resources simply aren't available.”
This could certainly explain the dip in average compensation, BUT (and this does indeed come with a gigantic one), the chances of finding a good one are slim to none, at least according to Shora, since “the real multi-skilled developers are often lost in a sea of douchebags, claiming they know it all.”
Or maybe this isn’t really what’s going on after all. Rather than scrounging for the proverbial savant in the engineering haystack, perhaps these companies are operating with a more “realistic” definition in mind, like this one from so-called full-stack coding bootcamp Codeup:
“A full-stack developer is simply someone who is familiar with all layers in computer software development. These developers aren’t experts at everything; they simply have a functional knowledge and ability to take a concept and turn it into a finished product. Such gurus make building software much easier as they understand how everything works from top to bottom and can anticipate problems accordingly.”
This doesn’t seem to apply to all companies – I literally just came across a posting on Indeed.com seeking a “superstar” full-stack developer who has mastered C#, T-SQL, and JavaScript in no more than 5 years of professional experience, all while (of course) maintaining “above average software development speed.” Oh, and Azure experience is a plus. (In their defense, they are offering much more than the average full-stack salary.)
For a lot of budding startups, though, employing the more realistic generalists seems like a reasonable first approach. As Shora himself acknowledges, generally knowing your way around the entire development stack is kind of what the job is all about.
“Sure, I've got some broad skills like a lot of developers,” he explains. “However, I'd like to think being a front-end developer now assumes some knowledge of UX, design, and how data is modelled and served on the backend.”
But maybe, as Wiggins points out, employers would be better served fostering a DevOps culture instead, where individual subject matter experts can work together. “By relying on a smart team who knows how to share workloads and collaborate, [they] would be able to tackle all the tasks they wanted this unicorn to do.”
What do you guys think? Like Shora, I, too, would like to be bombarded with comments, though perhaps not as aggressively as the bloodthirsty mob of full-stack devs he assumed would be devouring him alive on Hacker News.
Opinions expressed by DZone contributors are their own.
Comments