Many folks are happy to tell you that full stack developers no longer exist.
They aren’t wrong, but they also aren’t really right, either. Because when it comes to finding one, it all comes down to getting the right skillset for the right job. The trick is bringing one in with the specialty skills you need.
A History of Web Generalists
Using the label "full stack developer" to describe a web skillset has taken on a connotation similar to the stigma the title "webmaster" went through a decade ago. I still think calling someone a webmaster is fitting for certain people and organizations, because there’s a distinct place in our industry for skilled web generalists.
I also think it's the predecessor to what we now think of as a full stack developer.
In its simplest form, both roles refer to people who have a functionally useful understanding of what it takes to bring a website or tool from concept to delivery. And both have been under fire for roughly the same reason: complexity. In the case of webmasters, the complexity came in the form of an evolving industry that discovered specializations like user experience design, information architecture, content strategy, and more. For full stack, it came from the ecosystem. What defined "The Stack" five years ago was much more straightforward than it is today. Which means “full stack” can take on a number of flavors depending on what’s considered to define a given stack. (More on that later.)
For all of that change, full stack developers still represent a very distinct, and even more important type of member of an organization’s infrastructure. The only thing that changes between company environments is how their skills are leveraged.
The key skillset full stacks have is the advantage of being a person who is able to float between groups and communicate needs and expectations in the vernacular of many different parties. They should have strong communication skills and excellent organizational skills. They understand how conventions translate both in the technical world, but also the working environment.
I want to show you how a full stack developer would fit into two different environments, and what to look for to get the most out of the relationship.
The Full Stack Role in a Small Company
If you are a smaller shop or company, it's likely that you don’t have the resources for in-house web talent full time. You may outsource most of your design and hosting and bring in talent as needed. If you do have some staff, they might be responsible for other operations as well or only be strong in one particular area. For you, the full stack developer is the person who will come in and help you plan, execute, and maintain an entire site or tool.
Smaller environments are places where full stack developers resemble the old form webmaster and you’ll be able to count on the skills they bring to the table. For this reason, you need to understand your existing stack well enough to bring on a developer that most closely aligns with your infrastructure.
If your organization is built around a fairly basic LAMP stack (Linux, Apache, MySQL, and PHP/Perl/Python), that gives you a good idea of the keywords you need to focus in on. If, however, you’re built around RoR (Ruby on Rails), you’ll be looking at Ruby and Rails (obviously), maybe Nginx instead of Apache as a web server, but also very likely some specialized technologies like AngularJS and NodeJS, as those tend to come into play frequently with that infrastructure (Aside, they can factor into other stacks well beyond Ruby on Rails too, this is just for the sake of the example).
These are just a couple of several types of stacks that you might use, and only scrape the surface in the number of ways technology can mix and match to form a technology stack.
The most important point is to understand that if you don’t know the technologies that define your stack, you need to investigate and answer that question before bringing someone in.If you hire a LAMP expert, but actually have a MEAN (MongoDB, ExpressJS, AngularJS, and NodeJS) based stack, you’ll be slowed down by the needs of the person to transition skills over.
If You're a Big Player
There was a period a couple years ago where Facebook allegedly tried to focus primarily on hiring full stack developers for their development staff. The belief was that if you could build a team where everyone knew everything (or at least enough of everything), it left you incredibly agile and flexible.
But, as I mentioned, “the stack” has grown considerably more complex, and as a result, trying to employ that approach can become extremely expensive due to the specialized nature of people you’d be trying to draw in. In Facebook’s case, their stack became extremely specialized as they created the HipHop Virtual Machine, which runs a compiled version of PHP. You can’t hire employees off the shelf when your infrastructure is proprietary. This is precisely why the modern approach to web development and governance focuses on teams or individuals that work together in their specializations.
Despite this, full stack developers still have an important role they can play for these organizations. Instead of functioning more like a webmaster, they begin to function more like a project manager, lending their cross discipline skills to help coordinate and execute a project. They are able to float between teams along your project timeline, maintain an eye on the pulse, and fill in as necessary. Another comparison might be a general contractor on a construction project.
The full stack developer in this environment might write less code, and execute fewer command-line actions, but their broad skillset is key to keeping a project running smoothly. They also become a critical communication point for company stakeholders, as they can provide a singular point of communication for the status of your project.
It’s Not a Fantasy World
Hiring a full stack developer can be extremely valuable for an organization, but the prospect can be equally daunting due to the complexity involved. Get help with the hiring if you aren’t comfortable with it yourself—our staff would love to help you out.
Webmasters, full stack developers, web generalists, full stack integrators, whatever you want to call them, they don’t rise and fall.
They aren’t a myth.
The name may change and how they play into an organization or team may shift, but the value they bring to the table remains constant.