Should you call yourself "fullstack"?
The term "fullstack" propagates a commodity mindset that harms candidates.Today I’m offering my potentially controversial opinion on the job title/description “fullstack.”
A common complaint about the term is that it’s vague. What is a fullstack developer? Someone who writes in PHP and JavaScript? Go and Swift? While this may be a legitimate complaint, it’s not actually what I want to talk about. I’m happy to assume that it refers simply to someone who writes some kind of backend code as well as some kind of frontend code, and maybe also some code that doesn’t fit into either paradigm (deployment scripts, database schemas, or SCSI card firmware… whatevs).
I dislike this term for an entirely different reason:
I believe the term devalues people and their skills.
Now let me be clear. I don’t think there’s anything wrong with a single developer writing frontend and backend code. In fact, I would expect any experienced developer to be able to do at least a basic level both, if not immediately, with a minimal amount of new effort.
To my knowledge, none of the “greats” ever refer to themselves as “fullstack”. Kent Beck calls himself simply “Programmer” on social media. Bob Martin, “Software Craftsman”. The others I looked up for this post didn’t directly mention programming in their tag line at all. The point is: these people self-identify simply as “programmers” (or similar), even though I think we can safely assume that Martin, Beck, Fowler, or any of the other “greats” would be comfortable writing frontend code or backend code, if they desire.
The problem is that “fullstack” means “generalist”, and generalists are a commodity.
“Yes, but it’s what companies want!” is a common retort.
Yes, that’s true. In fact, that’s why it’s true! Companies want commodities, because they’re easy to manage. They’re (roughly) fungible, so they’re easy to replace and they’re easy to move around when business demands change.
But commodities are, by their very nature, devalued, relative to non-commodities. A key charactaristic of a commodity is that the only distinguishing charactaristic is price.
I think a lot of engineers believe that by calling themselves “fullstack”, they’ll appeal to more potential employers. Ironically, while this is true, but it’s also the very reason they’re likely to earn less money! Highly-valued engineers have an expertise that makes them special. Specialty, by definition, means you’ll have fewer interested employers, but also that they’ll pay you more!
So in summary, the “fullstack” title means one of two things to me, depending on who is using it:
When used by an employer, “fullstack” means “we want fungible staff who are easy to manage and replace, and cost less than specialists.” Is that the kind of company you’d hope to work for?
When used by an individual or job candidate, “fullstack” means “I don’t yet recognize my individual value to the industry. I’m marketing myself as a generalist, competing on low price.” Is that the message you want to send to potential employers?