Writing -. Engineer's Seniority (8 min read)

What is seniority in software engineering

I originally published this article on Medium, on 13th July 2020. This is a bit shorter version.

I sometimes see engineers who don't understand well enough what is seniority in software engineering, and how to get promoted above a certain level. So, let me start with a few examples of what seniority is not:

  • It’s not only about the technical skills.
  • It’s not only about how much you can deliver on your own (this disappoints some overachievers).
  • It’s not about how long you’ve worked in the company.
  • It’s not about age or years of experience.
  • It’s not about your resume.

Seniority is about how much an engineer increases their team’s overall output.

Elements of seniority

Every company has its own career ladder and titles hierarchy. There is no standard for measuring seniority in tech, and levels are not standardized. Even job titles don’t mean the same thing across our industry. A senior engineer in one company wouldn’t necessarily have an equal title in another. A person’s official job title is not just determined by their skills or competence — there are other factors in play, like company size, maturity, complexity of tech, etc.

But even with such a diverse criteria across the tech industry, I’ve noticed three pillars of seniority in all companies I worked in:

  1. Delivery and ownership (tech skills and the drive to finish projects)
  2. Business awareness (the ability to facilitate technical decisions in the service of business)
  3. Cooperation / communication (the ability to work with and elevate others)

These are not the only factors, as each company may have other criteria, but these three things often appear on various evaluation forms, and seniority usually revolves around them. For example, “business awareness” is sometimes defined as the ability to make technical trade-offs or the ability to focus on value, but “business awareness” is a more general term. Also, companies often mention “cooperation” as a sign of seniority, but it’s actually about helping others to achieve more.

You are very likely to find these three elements in almost any company as a part of how they evaluate engineering seniority. But what does each pillar specifically mean?

1. Delivery and ownership

  • Being good at engineering and deliver: Without this, nothing else on this list will matter. It’s a prerequisite to do your job and meet expectations.
  • Taking ownership of goals: Do you care that the work is done end-to-end, or do you just do your tasks and wait for others? The more senior you are, the more abstract and bigger pieces of work you are able to own. It doesn’t mean you should do all the work. A senior engineer is able to coordinate other people on a joint project, and informs the relevant colleagues. Yes, coding is not enough and senior engineers are expected to show more autonomy even if that means doing some of the non-coding work.
  • Ability to lead, facilitate, and make work breakdown structures (segment work, identify dependencies, and integrate them to deliver a big result). This is really important for delivery against deadlines and keeping the scope in control.
  • Understanding the importance of CI/CD and optimal test coverage: Slow and rare releases to production cause delays in the entire development chain. Improving the deployment process from end to end is not always easy to justify to the “business people” who only see the customer-facing parts of tech. But these “invisible” things can + have a big impact on business's bottom line. This is where senior engineers can shine.
  • Keeping your technical skills up to date: Things change rapidly in technology. Stagnation means becoming obsolete. Try to stay caught up with the innovation that is relevant to your business. Seniors own their own personal development, meaning they proactively seek opportunities to learn within and outside the company. Juniors need more guidance in developing their competencies.

2. Business awareness

  • Understanding that software development is one part of the business: You make products that someone will use to make money, and you, as a senior, know how they use your products.
  • Proactively work to understand what the business needs and tailor technology according to those needs is what seniors do more than juniors. Some engineers lack this kind of mindset. They have a preference towards a solution/tech (usually a familiar one) and want to fit the problem to a solution, instead of the other way around.
  • Understanding how the company makes and saves money: This helps tremendously with prioritization and making optimal technical trade-offs. The chances are you will not always be working with a top-notch manager who will keep you well informed, so you will have to determine these things yourself.
  • Being able to make technical tradeoffs and manage technical debt. Data-driven decision-making (as opposed to opinionated intuition) helps in being convincing, and being convincing is a step forward in seniority.
  • Taking initiative: Promote your own ideas on how you can contribute to the company. The ability to do this successfully is largely dependent on the work environment, particularly management. (Some managers will even prevent people from expressing any initiative.) What matters is that you care, and you show it. And what matters more is that the initiative is clearly, strongly connected to the business goals and it can pass this kind of scrutiny.
  • Understanding the TOC (Total Cost of Ownership) of the products you are developing: considering this and proposing how to reduce it in the long run is important for a senior engineer.

3. Cooperation / communication

  • It is very important how you talk, do you get to the point or stray away, do you engage people and spark their enthusiasm, or you drown their motivation and show defeatism (often masked as "realism"). Never show lack of enthusiasm because others may give up if they see you giving up.
  • As an engineer, your reputation matters a lot. How approachable you are and how you approach others determines the range of your influence and effect.
  • It’s important how connected you are (and will become) in the company. Build relationships by talking with other departments and understand their goals, so you can identify how best to help each other.
  • Seniors have a mindset of “We are in this together, so let’s do what’s best.” A good indicator of immaturity is the mindset “us against them.” Developers vs managers, our departments vs theirs, etc. The more senior the engineer, the more they can connect their work with others in the company’s best interest.
  • Juniors say “yes” all the time. Mediors are able to say “no” easily. Seniors listen, understand, debate to find the best solution and then say “yes” or “no” while leaving others confident it’s for the best.
  • The ability to autonomously divide complex work into smaller parts and communicate what needs to be done and when is important for increasing the overall output. For example, technical writing (short, clear, complete, to the point) is one of the signs of an engineer’s seniority. Experienced people check whether others understood them correctly and clarify if needed. This helps juniors a lot.
  • How well can you elevate others? While working with their team members, mediors and seniors think “What could I teach this person and how she/he likes to be coached.” They ask questions and spot opportunities for others to grow and help them achieve their goals.

Seniority levels are not universal across all companies

A senior contributor in one team can be a mid-level or even junior in another team. For example, a senior in a company that doesn’t attract the top talent will probably find themselves as a medior or junior in a company that attracts the best of the best. The same three pillars apply, but the thresholds of the ladder are raised or lowered depending on the company. That’s why it is useful to be objective about ourselves and learn the standards of seniorities across industries.

How to know where you are

Ask for feedback about your performance and behavior regarding these three pillars. Don't wait for your manager to deliver your performance review. You probably have a few colleagues who you’re comfortable asking “Hey, what am I doing well, and what could I do differently and why?” See if they mention some of the issues I’ve discussed here. Write down what they tell you, because you will want to reflect on that. Be ready to be surprised by the feedback, because nobody sees themselves as others see them.

I like to check every six months how others see me on these three dimensions. Connecting with engineers from other companies is also a good way to get a sense of the current standards.

Professional growth and promotions

Each company has its own requirements for levels in their career ladder, so there are many nuances, but it usually revolves around the idea of having competence levels/thresholds to reach. A chain is only as strong as its weakest link, so a person usually has to reach a certain level in multiple criteria to get a promotion. Most companies have custom-made progression ladders, and the three pillars seem to be a common denominator in most of them.

Keep in mind that you usually have to perform on the higher level for a prolonged period of time, before you are considered for promotion.

Also, remember that once promoted - a higher level of expectations becomes your new "normal", and you are not supposed to drop below the levels of your new seniority (that would be underperformance).

An example of a junior engineer's scores on the three pillars of seniority. This person is a junior because they lack sufficient business awareness to raise to the medior level.

The most common failure mode

By far the most common mistake I’ve seen engineers make when evaluating their own level is believing that their high technical skills guarantee their seniority. Some of them don’t understand the importance of either “business awareness” or “increasing other peoples’ output” (or both).

Some engineers notice that they can deliver more than the others (they know more, and can handle more) and think that’s sufficient to make them seniors. I have never seen a company where that was the case. Business awareness and helping others are equally relevant pillars of contribution to the business, and that’s what counts. Without business awareness, even the most technically skilled person needs to be directed often, and that requires managers’ time, which is not cheap. Also, without increasing other people’s output, growth is limited to a few individuals and the company doesn’t benefit from effective teamwork.

Not knowing how others see you is a path to disappointment, and almost nobody is able to objectively see themselves. We all need other’s people input to form a more accurate picture of our skills and contributions.