I just read an interesting post, "Become a mature developer, not a senior developer" by Daniel Irvine in which he encourages you to become a mature developer, not a senior developer.
It's an interesting topic, and I think it says a lot about job titles and what they mean to us. Job titles, especially in the tech industry, are a lot more flexible and often a lot more unique than you'll find in more traditional industries. But one thing which I've noticed throughout my career is that developers and engineers derive a lot of self-worth from their position and title, and I think this is how the junior and senior title have come to be synonymous with experience and ability.
I'd like to offer my take on this. There are so many job title prefixes: intern, junior, the omitted regular, senior, principal, lead, chief, vp, director, and so on. When you only look at job the job titles junior and senior, it's easy to fall into the trap of thinking they simply refer to experience, but when you look at the larger list, it becomes apparent that they refer to your role within an organisation.
For example, an intern is there to learn and gain experience, they'll probably pick up some crummy tasks, but they won't be leading any projects. Juniors tend to fall into the same category, being in a position where they're learning, and will often have a mentor, but unlike the interns, juniors tend to be more permanent members of a team and have slightly more responsibility.
Then you have the regular-level developer, where the position qualifier is omitted. At this level, they'll be expected to take on more responsibility, perhaps be more independent, and generally do more.
Following this is usually the senior developer, which again will come with an increase in responsibility, which can be anything from mentoring other members of the team, to being responsible for more projects, or overseeing more systems, etc.
And on it goes.
The Progression of Programmers
I'd like to introduce a theory I have on the progression of programmers, as I believe there are two main routes that one can take in their engineering careers, the specialist route, and the generalist route.
Specialists
Those who follow a specialist route tend to develop a deep understanding of a limited number of subjects, and often in the workplace this means certain projects and systems. The trajectory of these careers tend toward increased responsibility for these areas, and in the day to day management and development of them. As their responsibility increases their roles will change, to senior, principal, lead etc, as would be expected.
Generalists
On the other hand, those who follow a generalist route tend to develop a broad understanding of many subject areas, and often in the workplace this can mean being responsible for a larger number of projects and systems. While generalists lack the deep understanding of certain subjects that specialists have, by having a broad understanding of many areas, they fit well into architect roles. As their responsibility increases their roles will change, to senior, principal, lead etc, as would be expected.
Different and yet the same
So above we have two very different types of engineers, on one hand, highly knowledgable specialists, experts in their fields, and on the other hand, generalists, widely knowledgable in many fields, and yet they often share the same job title prefixes. This is because it refers to their role.
It's not about whether you're new to what you're doing, it's not about whether you're better than someone, or not good enough yet. The job title you have, the qualifier before your profession, should refer simply to the role you fulfil within the organisation.
Whether you're 21, straight out of university and in your first junior role as a web developer, or you're 40 and have recently changed careers to a junior role as a web developer, you're both juniors. Your position is that of a junior, and that's okay.
It doesn't say any less about who you are. As your role grows, and your responsibility increases, so too will your job title qualifier, whether you become a highly seasoned artificial intelligence natural language processing expert, or a wily and battle-hardened distributed systems architect.
I hope you enjoyed this ramble, and my terrible drawings above.
Thoughts?
Top comments (9)
For me at least job title is important, although right now I work as an full stack developer, but I am definitely aiming for the lead role, where I have a team to work with.
Also a role defines how much responsibility you can handle, because you can't expect a junior developer to take ownership of the whole application.
Exactly, as a full stack developer, your responsibilities will be quite broad in terms of the application — frontend, backend, and anything in-between — but as your role grows, so too will your responsibility. As you become the lead, either of a team, a project, or a system, your responsibilities will be in a leadership position, whether that's technical, managerial, or a bit of both.
In both cases, your job title is your role, not your self-worth. Job titles are important, absolutely, because we can aim to better ourselves, but we should never look down upon others for holding roles such as junior. Today's junior could be tomorrows lead, and today's lead was likely yesterday's junior.
Fully agree regarding never look down on people who are in a role junior to you.
I definitely fell into that trap. I'm wondering how different companies view their junior/senior roles in relation to their employee?
After reading this article, I realize I need to reshape my views on what "seniority" is and what it means to a company. Adding it to my list of questions to ask an interviewer.
This is such an uplifting article! Thank you for writing it.
Heh... When people ask me my title, I usually answer "I don't really know". This is actually the truth: I work for a consulting company and our internal titles (I think mine is "Senior Principal Consultant", but I'd have to look at our org-chart) can vary markedly from the titles we assume when working for a given client or partner.
Ultimately, I tend to refer to myself as variants "IT janitor" or "Chaos Wrangler" as I'm a true jack-of-all trades ("what do you need me to be, today"). My corporate Slack profile has me as "Chaos Custodian", my LinkeIn profile has me as "System Wrangler" and I've used other variants on other sites.
And, to be honest: 1) as long as I'm getting paid for what I bring to the table, titles mean little to me – and far less to me than the work I'm engaged in means; 2) most titles are pretty generic, vague and/or meaningless (even early in my career, I found myself outperforming people with years more experience and much higher titles, so, "what's in a name?").
Very true! I feel that even comparing titles across different companies doesn't work, because it's an apples to oranges comparison at times. The importance is knowing what your responsibilities are and doing your best to meet them or exceed (for promos :D)
thank you for this beautiful article.
You're most welcome 🙏🏻
We're [I'm] glad to be here🙏