Becoming Truly ‘Full-Stack’ is Unrealistic, But You Should Try

By Tim Evko

Web development is a field of many titles. You can be a front end developer, a user experience designer, a software engineer, or a backend developer. If that’s too broad, you can call yourself a JavaScript guru, Bootstrap developer, or Node rockstar. There’s really no limit to the number of diverse (and sometimes odd) job titles floating around our industry. Why do so many different job titles exist? They exist because there’s very little limit to what you can do when building for the web. Traditionally there’s been a clear line between front and back end development. Yet both of those categories have various sub-communities of their own. A front-end developer can specialize in writing CSS or working with JavaScript based UI frameworks, while a backend developer can specialize in Ruby development or session handling. This leads to a question that’s caused a lot of debate within the web development community. If you want to be successful in your field, what should you specialize in? Should you specialize at all? Should you try to be a full-stack developer who excels in both front and back end environments, or should you try to be really good at one thing?

What Are Employers Asking For

I think the real question is if one type of developer is more hireable than the other. With that in mind, it’d make sense to take a step back and try to look at what employers are currently looking for.

As the capabilities of the web grow, employers are expecting developers to be proficient in more technologies and frameworks. This is because websites are becoming more dynamic and interactive as the line between native applications and browser based web applications continues to blur. At the agency I work at, more clients are asking for websites that have the capabilities of a modern web app, instead of a simple static site.

For those who are looking for mostly static websites, the need for a web developer is continuing to decrease. In fact, there are several companies whose business model caters to the static site market, enabling customers to create their own websites without writing a single line of code. WordPress.com, Squarespace, and Wix, all promise websites at very low costs, with each platform containing a shallow learning curve and a simple UI. No coding skills required.

While I don’t believe these sites are putting web developers out of business, I do think they reduce the value of simple HTML, CSS, and Javascript skills, and I think employers are starting to understand this. They’re beginning to look for more well rounded and experienced developers who have an understanding of the entire stack, from styling a dropdown menu to deploying a server.

While I don’t believe true full-stack development is very practical, or even possible, I do believe web developers who have a general understanding of the entire stack are more likely to be hired over those who do not. This doesn’t mean that you have to know everything there is to know about web development. Instead, I think there should be a list of systems and technologies that every developer should be open to learning more about, seeking to level up when he or she has the time.

The List

Javascript Jabber recently released a podcast dedicated to this very topic. They go over a large amount of technologies that a competitive web developer should have an understanding of. I’ve aggregated some of the most common skills below.

  • HTML, CSS, Javascript
  • A backend language
  • Version control
  • Command line usage
  • Node/Ruby Tooling
  • Preprocessors
  • Client Side MVC frameworks
  • Popular tools and frameworks like Angular, Laravel, Rails, etc.
  • An understanding of database systems
  • An understanding of server environments
  • Website deployment strategies
  • How to create and use a REST API
  • Responsive web development
  • Accessibility
  • Code testing

    Here’s another great list put together by Louis Lazaris. Although it’s a few years old, many of the technologies listed are still very much in use today.

Dont Panic

While going through these lists of technologies, you should begin to realize that you have, at the very least, heard of most of them. Additionally, no one expects you to be an expert in every single web development tool or technology. Instead, we should all be open to learning more about web development as a whole, adding to our knowledge of new tools and technologies whenever possible.

It’s also important to remember that a moderate level of specialization is good. A web developer can be great at complex CSS layouts, while still understanding how to write JavaScript that adds new functionality to an application. Several companies and agencies (mine included) work by having one developer write code for the front end, while another writes code for the server. Such a team-based workflow functions best when every developer has a moderate understanding of what the other is doing.


Centering your career around a particular tool or technology can be bad when it prevents you from growing your skillset. As the capabilities of the web grow, it makes more sense for web developers to have an understanding of the entire stack. We still have the freedom to be better in certain areas, but as layout becomes cheaper and interactivity in greater demand, simple font-end skills will be expected and application development skills will be desired. It may be unsettling to hear that employers are seeking full-stack over specialization. Andy Shora sums up that sentiment very well.

Truthfully, no one expects you to code an entire app from front to back, start to finish, all on your own. You shouldn’t work for someone who is asking you to do that. If you can do five to 10 things very well, and are willing to learn and jump into the other 100+ you aren’t as familiar with, you’re a commodity in high demand.

  • BadAss

    To start off, I’m against this notion and whole concept of “Full Stack Developer” – whatever that is – as it contradicts and moves in opposite direction to the course of history and the introduction of “Division of Labor” by the capitalist economic system espoused by us for a long time now.

    This supposed model of “jack of all trades” – and not to mention master of none – plaguing the mentality of some people in the web developers community is destined to fail as it’s against the natural order of things in human societies and as well as unpractical for all stakeholders involved.

    No one would excel at every single area of the web development “production line”. It’s almost impossible and if some self-proclaimed “wizards” state to the contrary, they’re most likely faking it and only excelling at keeping their weaknesses hidden from their employers and/or clients.

    Also, I’d like to point out that some “old fashioned” strains of front end web developers are still in demand as they possess excellent visual design skills that are indispensable to the end product being manufactured ,and despite the proliferation in recent years of those ready made templates, cookie cutter visual solutions and other magic resources targeted at our fellow programmers to learn “design” in a very systematic and structured way. Designers can still find work and be paid well and their role and contribution to the success of the organization or projects are becoming more and more apparent and clear for entrepreneurs and managers alike.

    To sum it up, I think this trend is not going to last at all and I expect a backlash in the making as the market matures and vision becomes less cloudy, but I’d like to say that having a general knowledge and basic understanding of other related fields to your job – on the condition of not committing yourself or promising to deepen your knowledge or gain hands-on experience distracting or sidetracking you from your original job – is always a good thing whether in this field or any other one.

    The point with web development though is it’s inherently a teamwork driven career and good communications between team members do wonders and goes a long way in alleviating silos induced problems within the organization and attaining success at the end.

    That’s all from me now. All feedback is welcome :)

  • http://timevko.com Tim

    I think the conclusion of my article sums it all up very nicely

    Truthfully, no one expects you to code an entire app from front to back, start to finish, all on your own. You shouldn’t work for someone who is asking you to do that. If you can do five to 10 things very well, and are willing to learn and jump into the other 100+ you aren’t as familiar with, you’re a commodity in high demand.

  • hidran arias

    I work in project where there are more than 30 back end programmers. Almost all of them good javascript programmers, all of them knows about css and html but few of them master css .

    Being a lead architect I try to keep up to date in every field and I’m able to develop a whole app both back end and front end and also everything related to databases, logs, linux scripts e, but only few of us, at most 5, are able to do it.
    When we hire a new person, we don’t ask him to be a master of all trades but to have a good knowledge of everything related to web app.
    These are the skills we ask and it is very hard to find people with them:

    1) php5 programmer ( we don’t ask for a specific framework but being able to program from the ground up
    in plain php)

    2) SQL standard ( we use ORACLE but any other dialect is accepted)

    3) javascript ( we don’t ask for a specific framework or library eventhough we use EXTJS and SENCHATOUCH)

    4) html, html5

    5) css

    1) and 3) is a must, the other ones a plus.

    What we don’t accept is a front end developer waiting for a back end feature to finish and being idle in the meantime nor a back end programmer waiting for our DBA to write and oracle function or a query.

    Being mainly business web apps developed in EXTJS as front end library and php/oracle/linux as back end,
    we’d rather hire people with an average knowledge of the above skills, and eager to learn new ones, than
    a web designer who doesn’t want anything to do with back end and viceversa for a back end developer.

    Maybe for a web agency is different but that’s the way it works better for us. We have internal training courses and everyone of us follows the ones we are not strong at.

    • http://timevko.com Tim

      Thanks for the insight, that’s really interesting! What sort of project/industry are you a part of?

      • hidran arias

        I’ts one of the biggest php project in Europe ( Turin, Italy) in the Automotive industry.
        It is world wide and used by more than 50 000 dealers as CRM tool, Sales, Order management, Car configurator, Leads management ect and
        connects through web services to different providers such as SAP.

        • http://www.codepunker.com Daniel Gheorghe

          In Europe (not including U.K.) devs are expected to know php (or another back-end language) + JavaScript + html and CSS. I have 8 boys on my team and they all handle those pretty well.

          P.S. We work for the U.S. mainly and we did face challenges when partnering with web dev companies from California for example, which expect a different work flow.

  • http://viii.in/ Vinay Raghu

    Full stack developers are a rare commodity. It’s hard for someone to be good at everything. However, it is appreciable that someone can invest equal amount of effort in every aspect of web app development. I had a recent argument with a friend over generalists such as this vs specialists. My opinion is that being a generalist should never be a company-policy or expectation. If you can do that, great. But it should never be a standard expectation of developers. I wrote a more detailed article about this for those interested http://viii.in/t-shaped-developers/

  • http://kenverhaegen.be/ Ken Verhaegen

    Glad I read this article, I’m reassured that I have great stack of skills I can use to do in many kinds of jobs.
    Now… would someone be willing to occupy my time with work? I’m searching… :D

  • Harry Pujols

    This is not only unrealistic, but ludicrous. Whoever says the core front-end developer skills are just not enough, don’t understand the role.

    “While I don’t believe these sites (WordPress.com, Squarespace, and Wix) are putting web developers out of business, I do think they reduce the value of simple HTML, CSS, and Javascript skill”.

    That’s bull. Ten years ago people were saying the same thing when Dreamweaver, Frontpage and GoLive were supposed to “reduce the value” of simple HTML, CSS, and Javascript skills. Let me remind you, HTML, CSS, and Javascript are constantly changing, and unfortunately, many people have not moved on to using IE10 +. CSS now does things that were in JavaScript territory, like animations. Let’s not even go to CSS pre-processors that have variables, loops, conditionals and includes, like any server-side language. I bet many people working on server side don’t have to worry about questions like,

    What CSS pre-processor language to use (Sass, Stylus, LESS), and what framework of that language (Compass, Bourbon) should I use?
    Should I even use a pre-processor, and if so, what other pre-processors? Coffeescript? Jade, Swig or Liquid?
    How do I compile these pre-processors, minimize this CSS, JavaScript and concatenate files for fewer requests? Do I use Grunt or Gulp? If so, can I fix a Gruntfile/Gulpfile to perform these tasks?
    Do I even generate static HTML or use a framework like Angular or Backbone, or template files in Mustache or Handlebars?
    Should I use icon fonts, image sprites or SVGs to display the icons?
    Should I gracefully degrade to older browsers?
    How this menu/table should look like on a tablet and/or a phone?

    I am just scratching the surface here. The point is, a front-end developer already has A LOT on his plate, and dismissing the skills of HTML, CSS and JavaScript as “just that” obviously means the person doesn’t understand the role.

    Any good front-end developer should stay away from people who asks you to be a jack-of-all-trades. They clearly don’t know what they’re doing.

  • http://ø.axat.ch Daniel Ly

    It depends. If you are self-employed and finance your projects yourself, it is a huge boon to be a jack of all trades. I can solder, write assembler, do design, do databases, do frontend, write contracts, do the bookkeeping, and so on. Of course I am not an expert everywhere, but I am good enough to be able to lead a team and not get lost. Or you work for a mom and pop shop and they are grateful for your experience. This is not paid well, however.

    On the other side, if you work for a huge company, they don’t need your broad experience. As I said already, it depends.

  • Amit Kolambikar

    Sadly Junior developers/freshers are also expected to know the entire stack :/

    • Simon Forsman

      That is not that strange, anyone who is even remotely interested in software development will have a basic grasp of the full stack, including desktop and mobile + a whole set of skills employers normally don’t ask for (such as experience modding games, writing shell scripts, word/excel macros, robotics, etc)

      If someone calls themselves a “front-end” or “back-end” developer i would expect them to have mastered that field, i would not expect them to be a junior who just sucks more at the other fields.



Learn Coding Online
Learn Web Development

Start learning web development and design for free with SitePoint Premium!

Instant Website Review

Use Woorank to analyze and optimize your website to improve your website to improve your ranking!

Run a review to see how your site can improve across 70+ metrics!

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