A grand total of one person answered my full-stack developer question yesterday:
Do you identify yourself more as a full-stack developer, a front-end developer, or something else? Why?
I’m sure there are some strong opinions about this out there, so I’m a little surprised, but I promise I won’t take it personally…
Sole respondent Orde said:
One of my hobbies is looking at how the military does things and they are all about specialists. Historically it’s only when you get to the rank of General that commanders stop specialising and become general commanders (the clue’s in the name).
Military comparisons are interesting, right enough. I’m not so keen on military language being used as a motivational tool in software development (‘final push’, ‘taking point on this one’, ‘close ranks’, ‘I love the smell of CSS in the morning’, etc) but that’s a subject for another time.
I think what interested me here is how specialism can change with career progression. In the military, most recruits receive very similar basic training, but then go on to specialise, and build up expertise in their specialism as they work through the ranks.
But importantly, when they come to leadership, there is a return to some degree of general-ism. A leader doesn’t need to know everything that their team knows. They just need to enough to support the team.
This is worth remembering if you are in a leadership position. You can’t expect to be the most knowledgeable unicorn full-stack developer on your team, and you shouldn’t try to be. Otherwise why engage specialist individual contributors at all?
For me, more general individual contributor roles are better suited to those just starting out, to get a wide exposure to different aspects of software development. Or to those who have little choice: because they are the only person working on a project.
But as you specialise, you should still maintain an active interest in related disciplines. For example, you might be a hard-core CSS specialist, but it means little without an understanding of the wider principles behind UX and web design.
And it’s knowledge of (but not specialism in) that wider context that becomes increasingly valuable for leaders and influencers in an organisation.
As Orde points out in another part of his email, military operations are increasingly done in small teams, but there is still much room for specialisation, if not more so than before. Sound familiar?
The trick is to deploy your resources tactically according to a plan of attack that’s based on the strategic objective. (OK, that’s enough military language).
All the best,
P.S. I’d still love to know what you think about the rise of the ‘full-stack developer’. I’ll be looking at this more over the next few days.