I consider myself to be a full-stack developer. That is, I feel competent in both front-end and back-end development.

This used to be easy; back-end development consisted of ASP or PHP, you could write your HTML and CSS in Notepad (using tables for layout) and it wasn’t too hard to keep on top of new developments in either arena. Life was easy.

Now things are less simple.

So different..

As a back-end .NET developer, there are literally thousands of libraries and frameworks I could use when starting a new project. Do I use Web API, MVC or NancyFX as my web framework? If I need to connect to a database, do I use Entity Framework, Simple.Data, LINQ to SQL?

Things aren’t any easier on the front-end either. Do I need a heavy library such as jQuery or can I write most of it myself and pull in some smaller libraries when I need them? There are thousands of these too.

What about actually building and deploying the code? Do I just write Razor and normal HTML, or should I use a templating engine like Jekyll? Should I write vanilla CSS or use Sass? Do I need to build all of this using something like grunt?

Keeping on top of the tooling for both disciplines is almost overwhelming.

.. yet so similar

Despite the fact that there are so many things to learn in each discipline, they seem to be getting more similar as days go on!

CSS can now be written in a pseudo-object-orientated manner and compiled with a CSS pre-compiler like Less or Sass. Not too dissimilar to a compiled ‘back-end’ language.

Javascript developers can now write ‘full-stack’ applications purely in their language of choice using NodeJS. If they like, they can write type-safe code using CoffeeScript or TypeScript. Hell, ECMAScript6 even has classes and inheritance!

The future of ‘full-stack’ development

Of course, somebody who spends 40+ hours a week writing pure CSS and HTML is likely to be more skilled than somebody who only spends 50% of their time on front-end work.

Likewise, a front-end developer who dabbles in PHP when working on Wordpress themes is unlikely to know all of the nuances of the langage that a full-time PHP ‘back-end’ dev can take advantage of.

That said, I don’t think the role of the full-stack developer is dead, or even dying. In-fact, I think we are likely to see the two disciplines become more unified as we realise we actually have a lot in common.

As time goes on, it wouldn’t surprise me to see more and more front and back-end developers writing ‘full stack developer’ on their CVs.

Do you agree? Let me know on Twitter…