When did I know I was a senior engineer?

Tue, Jan 26, 2021 4-minute read

Dave Ceddia recently asked this in his email newsletter and while I recently made the switch from being an engineer to being a product manager it’s still worth reflecting on.

For me the inflection point was when I shifted from focusing on my own deliverables to the team’s deliverables and while this may seem obvious it’s not as easy as it sounds.

As a “junior engineer” you’re typically being measured on your ability to complete your deliverables on time and at a reasonable level of quality - over time the expectation being that your estimates of time and level of quality improves (although I challenge the accuracy of almost any estimation of time). As you progress up the ranks of “junior engineer” there will also be an expectation that you’re able to identify potential problems in advance and complete these deliverables more independently.

These expectations encourage you to turn inwards and focus on what you’re delivering and that’s necessary to build your skills but “what got you here, won’t get you there”. Continuing to deliver what makes you successful as a “junior engineer” won’t automatically make you a “senior engineer” one day - and if it does I’d question that company’s culture.

“Senior engineers” will typically have significant technical expertise in one area allowing them to solve complex problems in a narrower space or they will have shallower technical expertise but across a larger number of spaces. There are pros and cons to both and you may change from one to the other over your career. If you choose a depth approach your biggest risk is the whims of the industry changing over time causing your chosen area to be less marketable and if you choose a breadth approach your biggest risk is not being seen as an expert in any one area.

Depth or breadth technical expertise is table-stakes for becoming a “senior engineer” but they’re not enough. What else does it take to be a “senior engineer” (in my opinion of course)? They:

  1. Make the team better as a whole
  2. Consider the problem as much as the solution
  3. Understand return on investment - both short and long term

Making the team better as a whole can take many forms: mentoring engineers, being a technical lead for an area, implementing processes or automation, and guiding the team towards common understanding of a problem or a solution. In other words they turn their expertise outwards from their deliverables to the deliverables of the team as a whole and the growth of the members of the team.

It’s easy (relatively) to focus on the solution - it’s the fun technical problems that drive us - in doing this it’s easy to lose sight of the problem the solution is trying to solve. One trait of “senior engineers” is stepping back and understanding the business context around the problem and using this to determine the simplest solution to the problem (sometimes implementing less or nothing at all can be the best solution to a problem).

Once you have a better understanding of the problem from the business’s perspective you’ll also better understand the value of a solution to the business. This knowledge helps you make better trade-offs - when is it worth gold plating a solution and when are you better off taking a shortcut. Given that time is one of the biggest constraints on the team being able to make educated trade-offs is invaluable.

One of the biggest challenges making the transition from “junior engineer” to “senior engineer” is balancing your individual deliverables so that you continue to be a reliable contributor to the team while expanding your scope of influence and expanding your non-technical skills. Knowing when the team’s problem is more important than the problem you’re working on, or when unblocking a teammate is more important comes down to understanding the value and priority to yourself, your team, and the business.

Every manager is different, every team is different, and every company is different and these are my opinions and experiences - you should also understand your company’s career ladder expectations, if they don’t have a career ladder look at their job postings, and talk to your manager.

By the way, no matter how “senior” you are you still won’t be able to estimate accurately, don’t worry about it.