Is Hiring a Full Stack Developer Worth It?

By Josh Althuser

full stack developer

Full stack developers are somewhat mythical figures in the tech world.

Most developers spend their entire career specializing in one specific layer of the stack – yet full stack developers can, apparently, do it all? Where are these technological geniuses? And are they truly that talented?

The answer to the first question, of course, is in the world, like everybody else. But the answer to the second question – are they truly that talented? – is more complicated.

Full Stack Developers Do Exist

Full stack developers do, in fact, exist. However, you have to be careful when assessing the skills of a full stack developer. Being a good full stack engineer is not about familiarity; it’s about an intuitive and deep understanding of both front-end and back-end best practices and paradigms.

Of course, full stack developers are capable of coding for every layer in the stack, and if they’re talented, they’ll do a good and thorough job of it. That requires a substantial amount of skill and a larger amount of experience.

That being said, however, a full stack developer’s work on the front-end will never compare to that of a front-end specialist, and that holds true for every layer of the stack. A full stack developer who is an expert in every layer of the stack is incredibly rare – the kind of genius you meet once in a lifetime. Granted, they exist, but they likely won’t be the full stack developer you’re hiring.

Full Stack Developers Aren’t a Solo Act

And so, a full stack developer is less about expertise and more about breadth and knowing how the different elements of development interact with each other and come together to form a product.

This has its pros and cons. In Peter Yared’s article The Rise and Fall of the Full Stack Developer, he points out how development has gotten far more complicated in recent years, and that a full stack engineer won’t cut it anymore. Given the complications of development, an expert is required at each layer in the process.

The flaw in Yared’s piece, however, is that he takes for granted a common misconception surrounding the full stack developer – that you don’t need a team if you hire a full stack developer.

This statement isn’t entirely false, but it only applies to young startups that are on a tight budget and building a minimum viable product. For that specific scenario, a full stack developer is a great choice. But once the product grows and becomes more complicated, a full stack developer will need support from a team of developers with expertise in specific areas.

In all fairness, Yared does address this in the closing paragraphs and phrases it succinctly:

it is critical to have at least one person with at least a functional understanding of each of the composite parts who is also capable of connecting various tiers and working with each expert so that a feature can actually be delivered.

And here’s where we get to the meat of the full stack developer’s role in modern development.

The T-shaped Developer

When thinking of a full stack developer, it’s useful to consider Mike Loukides' description of a “T-shaped developer”.

The T-shape describes a general full stack engineer’s skills. These developers are typically highly skilled in one or two areas (the vertical line), but they then have a broad reach of knowledge and understanding of different areas of development (the horizontal). And it’s this broad knowledge that makes the full stack developer such an important part of the team.

Projects and Poor Communication

It’s no secret that many projects fail because of poor communication – whether it causes delays, budget increases, or a poorer final product.

Often, bad communication can be caused by a lack of understanding between different development teams. Say, back-end developers want to build a framework ideal for their databases, but the framework creates new difficulties for the designers.

These problems come up when specialists don’t understand what the other layers of the stack need to be functional and successful.

Full Stack Devs to the Rescue

Here’s where a full stack developer can be a key player in your development team. Full stack developers understand most of the processes going on in the app’s development and also have a thorough understanding of the business and audience the project is for.

As a result, full stack developers work better with a team because they know what tools the other team members are working with and what they need to accomplish. This ability to be a cross-functional team member makes full stack engineers great additions to agile development teams.

Not only do full stack developers work better with a team, but in many ways developers who understand the full stack are going to build better applications because the parts they build will function better within the context of the whole.

Another benefit of having a full stack developer on your team is that they’re a good fit for positions in project management. With a working knowledge of so many parts of development, full stack engineers can effectively manage a team of developers and make sure their components are progressing at a reasonable rate, and that they’ll function within the context of a whole.

Conclusion

So, should you hire a full stack developer? If you’re a young startup trying to build your product, or a larger business who needs a team member to create cohesion and communication channels among your developers and their code, then the answer is Yes.

  • I agree with you 100%. It’s sad to see big companies that don’t understand this and fail when trying to deliver quality products.

  • I am a full stack developer.. I can code and design. Not just in web but native mobile applications too (Android and iOS). The best thing being a full stack dev is that you can create your idea quickly without relying on other people.

    • Awesome keithics.

      Would you mind pointing us to examples of your work? :)

      • send me an email.. keith — at — webninjamobile — dot — com or see my CV , http://freelance.ph/

        • Suzanne Lewis

          I am getting a salary of more than 3900 dollars each week , that is awesome. Over a year ago I was in a horrible condition , jobless and Bank account with only few bucks . Thank one of my friends showed me a way where I was able to gather my self and making average of 85 d/h. So it can change your life as it has changed mine.

          coolmath.CO.NF

          wer…

  • Shivan Lane

    I am a full stack developer. I disagree with your premise that only startups need full stack developers to be something like a team product communicator. Small established companies who want a web presence AND need their front end to talk to their back end are better off with a full stack developer.
    You are correct that things have gotten complicated. They have gotten unnecessarily complicated. I read requirements for jobs and I think, now they are just making stuff up.
    let me give you an example:
    If you know how to program, meaning the fundamentals of data structures and algorithms, chances are you were taught them in whatever was the “language du jour”. For me it was C++ and then years later, Java. My strongest language is Perl though because that is what the company I worked for at the time was using. So given my background, experience and skills I can actually program in several languages.
    Perl -> PHP -> Python
    C -> C++ -> C# -> Java
    Unless you are the first programmer they have had, which is unlikely, you will be working with legacy code. That legacy code will be whatever that first programmer knew best. So you have a choice, continue on with that language or re-write it. 99% of the time you will at least use what is there and likely just continue on.
    Yes Full Stack developers do not have the extreme depth that you speak of, however, we are more flexible and usually bring to the table much more than someone who has devoted their lives to just one language. That is more like working on an assembly line to me.
    Languages fall in and out of favor, just like hemlines go up and down. I am so thankful we live in an exciting time where some magazine doesn’t dictate how I dress and I am not married to just one language.

  • Although I consider myself a Full-Stack Designer, I strongly relate to this article.

    One thing I hadn’t realized is that we, the “Full Stacks” have in common is what Yared says:

    “…capable of connecting various tiers and working with each expert so that a feature can actually be delivered.”

    However, it’s been my experience that all the companies I’ve interviewed at and worked for have absolutely no clue about this, not even dedicated web shops.

    Now I have a solid argument when the moment comes :]

    Great article Josh +1

  • Jay

    I like the discussion.
    When many of the clients I deal with ask for a Full Stack Developer, what they often want is a Swiss Army Knife of skills and experience that will be cheaper than a team. The kind of unicorn they want doesn’t come cheap, if one could be found.
    Perhaps we might work towards a discussion of better definitions. I hired a “web developer” that couldn’t spell “CSS!” When I think FSD, I think more architect than developer. Your mileage may vary.
    I would love to see a description of skills with some sort of quantification. Some methods of describing these kinds of terms already exist, but there’s not as much consistency as one might hope. Makes hiring and pay rates fraught with peril.

  • Jay

    I like the discussion.
    When many of the clients I deal with ask for a Full Stack Developer, what they often want is a Swiss Army Knife of skills and experience that will be cheaper than a team. The kind of unicorn they want doesn’t come cheap, if one could be found.
    Perhaps we might work towards a discussion of better definitions. I hired a “web developer” that couldn’t spell “CSS!” When I think FSD, I think more architect than developer. Your mileage may vary.
    I would love to see a description of skills with some sort of quantification. Some methods of describing these kinds of terms already exist, but there’s not as much consistency as one might hope. Makes hiring and pay rates fraught with peril.

  • Raivo Laanemets

    Larger companies want specializing roles and then hope to manage
    and communicate them somehow. This brings lots of bureaucracy and
    overhead. I quit this working style many years ago and now working as an
    happy full-stack freelancer for small and startup businesses.

  • Grigore

    I’m amazed to hear that FSDs are appreciated anywhere… In my world (Europe), being a FSD is bad, very bad.
    1st of all, nobody believes such thing exists. Frontend developers, by default, are considered to be more junior than backend developers, then Windows developers are more senior than web ones. Really. If you, by accident, leave any trace in your CV about the fact that you’ve been doing any web graphics, that’s it, you’re a junior.

    A big part of the problem is that here the market is full of juniors and lame developers who have nothing in their CV so, in order to stand out, they present themselves as “focused”, “specialized” on A or B. Not both. And, of course, the recruitment agent (cause no company hires directly) and the project manager, not having much contact with the IT area except a quick-n-dirty obtained diploma, won’t ever believe a FSD can exist. Because of that, the lame but “focused” developer wins.

    These companies here are hiring and paying big money for stuff like “change manager”, “scrum master” and “architect to manage the team” (cause they don’t know what an architect is), these guys have no clue about IT but they are in the position to hire.

    Another thing not helping FSDs here is that your experience is only quantified in years. Nobody understands that, after optimizing the Oracle queries of the billing solution of T-Mobile, you’re way more qualified on Oracle than the “focused” guy who’s been sleeping for 8 years in his Oracle admin or support job. So the “focused” guy wins again.

    But I’m glad FSDs are appreciated anywhere else.

    • Leonardo Lima Ribeiro

      best analysis ever!

  • Binayakumar Jha

    Yes, a full stack developer certainly adds the extra salt. This well matters in the quality and overall return on the investment. I will advocate for hiring a full stack developer.

Recommended
Sponsors
Get the latest in Front-end, once a week, for free.