I’m an entry level software developer!
- Longhorn GreenhornAnd I’m a full-stack mobile developer!
- LongBeard McGee
I've still yet to see the title "Senior Chief Lead Team Technical Full Stack Cat Herder" but here we are.
Welcome to the wild west of titles in the technology domain. What I'm trying to say is that titles are fundamentally useless and are a poor indicator of any role, expertise, abilities, and whatever else. The factors at play create such a large gradient that a few words to describe one's role will always be reductive.
My preference is to keep it simple; either you're a software developer - someone that will try their best to solve the technical problems at hand to the best of their abilities within the time frame given - or you aren't a software developer.
So, this blog post is intended to demonstrate and investigate titles; how they’re lackadaisical and inconsistent, and have been this way for a long time.
Where Do Titles Come From?
New titles come up all the time, and their terms slide along a scale to a point that they mix. I guess this is expected when new technology comes into the forefront… like “Full Stack Mobile Developer” (There’s a stack on mobile platforms?) or “Oracle Developer” (one who develops insights?).
When & How Does Seniority Matter?
I've seen the gamut:
Plenty of developers that have worked on the same project for 5+ years, who are plainly out of touch with technology and its processes, making you wonder why they're labelled senior at all.
And junior developers that outperform "intermediate" and senior developers.
Then what's a lead? A technical lead? A team lead? A senior? An intermediate?
What is Full Stack?
Generally speaking, this means "someone that can write software for the front-end and for the back-end.” Unfortunately for you, the line isn’t as clear as you imagine.
First of all - what the fuck does this even mean when you’re developing an application? I don’t care what platforms are at play with the question - be it game consoles, mobile, desktop, OTT - if you don’t understand how to tie the many facets that make up an application (rendering pipelines, text, audio, video, networking, and graphics loading), what are you doing this whole time? Just moving (insert favourite task tracker) issues/tickets around, pretending to be busy?
Let me be the bearer of reality: there’s no such thing as back-end and front-end in applications. Yes, I get that it applies to web development. This is because you have a specialty skillset to deal with cloud, AWS, databases, pure data crunching, and so on - nothing visual.
But when it comes to apps, if you really believe there’s such a division, you should have a closer look at your backlog: your developers will barely know what to troubleshoot if they only do “front-end” or “just back-end”, and someone like Longhorn Greenhorn will only be able to solve a minority of your bugs. This also risks not having a well enough versed team, so when the day comes that someone leaves (or is let go) - they’ll be taking their skills and knowledge with them.
And as the worst offender: just because your problem is visual, it doesn’t mean it’s not caused by a non-visual section of your codebase (eg: is your image loader stalling because it has to parse too much data from a network or disk up front?). If you and your developer don’t realise that sooner than later, you’ll be burning cash for a long time waiting for a fix.
Make It Stop
All of this begs the question - why bother with titles at all? Perception. It’s all about perception.
Titles are fundamentally useless.
They’re confusing and poor indicators of abilities. So, a big message to recruiters; stop wasting our time with mislabelling software developers, and stop with the pigeonholes already.
“You mean I can finally realise my dream of becoming a "Senior Chief Lead Team Technical Full Stack Cat Herder"?! Dandy!”
- Generic HR Recruiter