Are you a full stack developer?

(Colin Smith) #1

This is an interesting post on the Pluralsight blog talking about the rise of the full stack developer role. In a nutshell they’re basically saying that the full stack developer is a role born out of poor team communication, that it’s a bad idea and that developers would be better off specialising, e.g as DBA’s, UX experts etc.

I would personally consider myself a full stack developer, I’m involved at every level from requirements analysis to user interface development and design. It occurs to me that the UK developer job market almost insists on full stack capability in candidates and has done for some time; there are specialists positions available for DBA and UX designers for example but for the most part job requirements seem to involve DB, back end and user interface. Personally I would be very wary of specialising for fear of limiting my employment opportunities. Are you a full stacky or a specialist ?

(Daniel Hollands) #2

I’d class myself as generally full stack, but will tailor my immediate knowledge according to the role I’m working on. For example, right now I’m more of less 100% backend using Rails. I do tiny bits of HTML here and there, but it’s the exception.

Contrast that with my job in Leamington, where 99% of the work was WordPress, I was spending most of my time getting my hands dirty with HTML and CSS.

The problem with being a jack of all trades, thought, is that you’re the master of none of them.

(Michael Brett) #3

This isn’t always true:

At one point, being a good generalist was considered a noble ideal.

(Daniel Hollands) #4

I think this is the weakness in this argument. It may well have been possible to know all there was to know about a wide range of topics - but the number of things to know about has increased radically since then, and it’s damned hard to keep on top of it all.

(Michael Brett) #5

When I entered this industry, my aim was to become one of the ‘Full Stack’ crew. After a while I decided to specialise in front-end development because it seemed (at the time) more accessible to a n00b and less overwhelming. The more I learn, the more I realise it’s ALL pretty overwhelming, so why not reach for those ‘Full Stack’ stars? What’s the harm in knowing as much as you can? I can see a case for having a favoured skill that you prefer to hone, but everything is so interconnected I think specialisation might benefit from having a wide range of knowledge.

(Michael Brett) #6

I was thinking more in terms of historical outlook. I think the ‘Jack of all trades’ fallacy limits ambition (and thinking) to an extent.

(Colin Smith) #7

I totally agree with that and it’s a constant source of frustration. As you say, the amount of stuff you need to know seems to be growing exponentially so it’s only going to get harder and we’ll be spreading ourselves even more thinly.

(Andy Wootton) #8

In Agile world they talk about “generalising specialists”. You win your place in the team with a specialism and broaden to overlap by assisting people with other skills when yours isn’t needed. You can’t know everything but you can know bits of quite a few things.

(Ben Paddock) #9

Another factor to consider is team size. In small teams, it’s hard not to be full stack. I enjoy covering all different aspects of software development, maybe because I can never settle on a specialism!

(Drew Smith) #10

I think with the rise of client-side frameworks and more advanced javascript development, and also the emergence of node.js, there is less need for specificity of skills. At one point you had your dba, your back-end guy, and your HTML/CSS guy and that person doing the front-end stuff didn’t really need to know how to program as such, just how to write markup that looks good.

Now though the front-end guy needs to be a developer-y developer rather than just a markup developer, and once you build your skills in one language many of them are transferable so you are more likely to have back-end guys who end up writing some javascript and then learn to put that with HTML/CSS and you also will have front-end guys learning javascript development who then are able to transfer some of what they learned to back-end development if required.

So as the lines become a little blurred I believe it’s difficult to be a 100% pure BE or FE guy without at least having some of the skills that the other role requires.

EDIT: In addition to the above, having a sound idea of what’s involved in the opposite role is great both for appreciating the work that your colleagues do and also covering for them on occasion, either when back-end guy is on holiday and there is an emergency bugfix required, or if the workload for your current sprint is front-end loaded so the BE guy can help out.

Disclaimer: I use ‘guy’ loosely here to mean ‘person’ regardless of sex.

(Dan Course) #11

I’m a full stack developer, and it’s a pretty sweet place to be.

Yes it’s painful, because you don’t always know the coolest tricks in every technology. However, being full stack has kept me well employed & contracted at a high level for a decade now so I don’t tend to over analyse it.

Also recently, it has put me in good stead for any little startup ideas I’ve wanted to create.


(Colin Smith) #12

A very good point, it’s cheaper to get stuff done if you can do it all yourself