Why you might need more than just full stack developers

by Bas — 4 minutes

When I started growing towards more of a full stack developer, coming from Java / back-end development, I thought it was the way to go.

Having the whole stack in one single developer?! What's not to like?

I changed my mind.

I still love the fact that as a full stack developer you get to work on Stories that touch the data store all the way up to what the user will get to see and back again. It's just that, now, I think that in a serious cross-functional team you can really benefit from back-end and front-end specialists, together with full stack developers.

And I wanted to share my insights on why I came to think that.

Towards full stack development

So, first of all, I started out as a Java developer doing mostly back-end related work. Well, I started out building computers with my dad in the living room, coding in QBasic and building the most hideous websites in Frontpage, Dreamweaver and HTML/CSS later on :) But that's besides the point.

In my professional start as a developer I started out at the back-end with the occasional edits in frameworks like SmartGWT and GWT (and even Java Swing!). It wasn't until frameworks started to emerge such as KnockoutJs and Angular, and we started using it on projects, that I came into real contact with Javascript (frameworks) and started to learn...and have fun.

Being an all-round full stack developer in a cross-functional team felt like the way to go

I've always had a lot of passion for the projects I've worked on (which is one of the reasons I miss working on projects now and then). And apart from getting a great feeling from learning so much more when the whole stack is involved, one of the things that I really like is that you can truly feel like a one-man-army for the product you're working on. You can start on a Story and see it all the way through. You don't have to wait for the back-end code or the front-end code to finish.

You can sprint.

While maintaining a high level of code quality of course ;)

Why having front-end (and back-end) specialists on your team might be a must-have

When the front-end world took off so to say, and the number of front-end frameworks and tools quickly grew and became more complex (not even considering that the stack has grown towards UX and its tools and frameworks as well), I noticed how hard it became to keep up with both back-end and front-end development.

Working together with a specialist front-end developer on one of the last projects I worked on as a developer (almost 4 years ago), sharing his insights and knowledge (with the latest developments in mind) during Stand-ups, Story Refinements and Pull Requests, it dawned on me that I would never be able to become and stay an experienced and up-to-date developer in both front-end and back-end. Even though I like to move around the complete stack and am passionate about learning more on both front-end and back-end development...

As a full stack developer I can rubber duck, spar, discuss with the front-end developer and implement and change whatever comes my way (mostly). The realization is that I might need that front-end developer to show me the best way to go now and then. Keeping up with frameworks, tools, best practices and concepts especially when either starting a new project or deciding on a (technical) direction is crucial.

In closing

Don't get me wrong. If I were to start working on a project again, I would very much like to do so as a full stack developer and be able to implement Stories from start to finish.

But it would also have my wholehearted preference, to have a senior front-end in the team to write and review (!) front-end code and inject the team and codebase with the latest and greatest (stable) developments of their specializations.

Not just for me as a full stack developer to learn from, verify with and lean on. Without that front-end specialist, you wouldn't be able to take advantage of front-end technological developments and evolved best practices as a team, as a product and as a company. With that front-end specialist you can, and you will build more qualitative (front-end) software and deliver products fast(er) for it.