On seniority and what comes after senior
So you hit two years in a tech career and suddenly got your senior badge. Now what? What comes next?
On this post
Introduction
So you hit two years in a tech career and suddenly got your senior badge (relax! just kidding 😂). Now what? What comes next?
The idea of this post is to talk a bit about my experience and explore some career possibilities in tech and professional development after the senior level.
(First of all, let me make it absolutely clear that these are my personal opinions and experiences on a topic that can be very subjective and vary a lot from person to person)
Starting at the beginning: what does it mean to be senior?
First, I want to separate career seniority from contextual seniority.
Senioridade não é const, é var.
Uma pessoa que é Sênior no contexto X pode ser Júnior no contexto Y.
E tá tudo bem.
Contextual Seniority
That’s because contextual seniority can vary a lot from company to company. In smaller companies or startups, for example, it’s common to reach the senior level earlier, while in bigger companies you might reach it later.
It can happen, for example, that a dev with little career time who works at a small startup holds a senior seat but, after moving to a bigger company, is considered junior.
And you know what the problem with that is? None! 😄
The point is that it doesn’t even make much sense to box yourself in as “Junior”, “Mid-level”, or “Senior”. I’ve never put something like “Mid-level Developer” or “Senior Developer” on LinkedIn.
In practice, the one who decides your seniority is not you, it’s the market.
Apply to the jobs that interest you, and it’s the company that decides whether your profile makes sense for them, through interviews and technical tests. What matters isn’t the job title, it’s that the salary expectations are aligned between the candidate and the company.
If my salary expectations are met, you can even call me an intern! 😜
Career Seniority
Now, career seniority is something you build over time, regardless of where you work. It’s about your experience, skills, and knowledge.
There are many, many technical and non-technical capabilities and skills that must be developed throughout a career, and the higher those skill bars are, the more senior you are and the better prepared you’ll be to fill that seat at different companies and in different contexts.
Alguém que teve experiências em outras áreas e tá migrando pra programação não tá começando do zero
Com certeza vai aproveitar de toda a bagagem que ganhou fazendo outras coisas, isso porque uma carreira em tecnologia não se limita apenas na parte técnica
Muito pelo contrário
And since many of these skills aren’t technical but soft skills, someone with less time in a tech career who, for example, moved over from other fields, where they developed leadership, communication, problem-solving skills, etc., can reach a higher seniority level faster.
Two-year senior
Setting aside all the jokes about the “two-year senior”, let’s look at the two types of seniority I mentioned above.
If we’re talking about contextual seniority, it’s totally possible for someone with two years in tech to be considered senior at some companies.
But if we’re talking about career seniority, it’s really hard for someone with two years of career to have developed all the skills needed to fill a senior seat at any company. Simply because there wasn’t enough time to learn everything that needs to be learned.
(and some people don’t get there even with 10 years)
Discutimos muito sobre "Senior de 2 anos" mas tem outro personagem pouco falado no folclore dev
O "Júnior de 10 anos"
Anos atuando na área e não desenvolveu habilidades técnicas nem soft skills, não se atualiza e foi criando vícios em padrões ruins de código e comportamento…
So what comes after senior?
Now that I’ve given my view on what it means to be senior, let’s talk about what comes next.
There are several career possibilities in tech: you can follow a technical track, a management track, or even switch fields, using all the experience you’ve gained to work in more strategic roles like Product Manager, for example.
It’s also worth mentioning that the names and number of roles and job levels can vary a lot from company to company, and even from country to country. At a smaller company, for example, there might not even be a Staff Engineer or Tech Lead role, while at a bigger company there can be several intermediate levels between Staff Engineer and CTO.
But I’ll specifically explore the career possibilities most tied to software development, which is where I’ve worked and know best.
In recent years I’ve worked as: Tech Lead, Engineering Coordinator, and currently as Staff Engineer.
Tech Lead
Tech Lead is a technical role, but one that demands strong leadership and communication skills, plus advanced technical skills in both software development and systems architecture.
Tech Leads are responsible for leading development teams, making sure the team is aligned with the company’s technical strategy, and that projects are delivered with quality and on time. For that, you need a macro view of the project and the business.
Some of the day-to-day responsibilities are:
- Steers the team toward efficient, high-quality deliveries
- Defines development standards and best practices
- Provides technical mentoring to team members
- Removes roadblocks on technical problems
- Guides and directs the technical team
- Evaluates technical performance
It’s interesting to note that the Tech Lead is a technical role, but it blends in some management duties. That said, a Tech Lead is not responsible for hiring, firing, promotions, or any other people management responsibility.
Another point is that some duties can change a lot from company to company, so it’s important to understand what’s expected of a Tech Lead at the company you’re interested in.
At some companies, for example, the Tech Lead isn’t expected to write code, while at others the Tech Lead is expected to be the most senior developer on the team and get their hands dirty when needed.
Thinking about the next levels from here, we have Senior Tech Lead and CTO.
Staff Engineer
A Staff Engineer is expected to solve complex, innovative problems, contributing significantly to system architecture and design.
These problems can be technical, organizational, or business-related, and the Staff Engineer must be able to identify and solve them effectively. On top of that, the Staff Engineer must be able to influence and guide other engineers, helping raise the team’s technical level.
For that you need exceptional technical expertise and a strong ability to tackle abstract problems and build solutions out of them. Soft skills like sharp critical and analytical thinking, proactivity, and independence are essential.
Some of the day-to-day responsibilities are:
- Directs and implements architecture decisions and design patterns
- Keeps up with trends, implementing improvements to the final product
- Thinks up (and builds!) solutions for complex problems
- Serves as a technical reference for other engineers
- Evangelizes good development practices
You may have noticed that, unlike the Tech Lead, Staff Engineers are expected not only to direct the technical team, but also to solve complex problems and build solutions by working on them directly. In other words, you’re expected to get your hands dirty whenever possible.
Thinking about the next levels from here, we have Principal Engineer, Distinguished Engineer, and CTO.
Engineering Manager
Engineering Manager is a management role, responsible for leading and managing engineering teams. That includes hiring, firing, promotions, feedback, and all the other people management responsibilities.
On top of that, the Engineering Manager is responsible for aligning the technical team with the other areas of the company, making sure everyone’s expectations are in sync.
- Creates IDPs (Individual Development Plans) for direct reports
- Makes sure new features are delivered on time
- Handles conflicts and drives problem resolution
- Creates processes and policies for the company
- Leads scrum ceremonies and team meetings
- Sets goals and objectives for the team
- Runs performance reviews
It’s worth noting that the Engineering Manager is a management role, not a technical one, although it’s important to have solid technical knowledge. This means you won’t be responsible for technical decisions, but for making sure the technical team has everything it needs to make them.
Even with good communication skills, not everyone who’s good technically is good at management, and vice versa.
Thinking about the next levels from here, we have Engineering Director, VP of Engineering, and CTO.
About my experiences
Unofficially, I played the Tech Lead role in some projects and companies I worked at, even though my official title was senior developer. That’s super common, and it often happens because of the project’s or the company’s needs, not necessarily because of a formal promotion.
In 2020 I took on an official Tech Lead position, which kept changing in needs and responsibilities over time, because the company was growing and changing, and so were the team’s needs.
In 2022 I tried working as an engineering coordinator for a year, but realized it wasn’t what I wanted for my career. I like solving technical problems and building solutions, not managing people.
So in 2023 I decided to go back to working, this time in a Staff Engineer position. You may have noticed that some Tech Lead and Staff Engineer duties are pretty similar, and can often be situational. That is, when needed, I act as a Tech Lead.
All of this within the same company.
As I said at the start: many times our seniority is situational.
Conclusion
I hope this post helped you understand a bit more about what it means to be senior, and brought up some possibilities for the next phases of a career.
Catch you later! 🚀