All Articles

A great senior engineer

Nobody in the tech industry agrees on what makes a “great” senior engineer. The underlying reason is this: unlike in medicine or law, there’s no time-tested, global organization that awards people the rank of “senior” engineer.

There’s no exam you take. Most programmers and developers learn through building things and working at a few companies. Every organization creates their own kind of ladder. So as a result, every organization has their own definition of what makes a good senior engineer. I’ve advised many companies where management insists their senior engineers are good, but couldn’t define what made them senior. In fact, more often than not, the title is bestowed as political capital.

Here’s one notable difference I’ve observed between senior engineers at startups and enterprises: enterprise engineers have fewer communication and QA skills because they’re used to having lots of support.

When you’re very senior in an enterprise organization, the company has enough resources to meet your needs:

  • You’ll have QA folks testing your code
  • There will be Ops staff who deploy everything for you, and are on call for when it breaks
  • You’ll have product people, and these folks will provide all domain expertise
  • You’ll have project managers, and they’ll break down work and write tickets for you

So what’s wrong with that? Nothing at all — it’s good to delegate and specialize. But if an engineer only ever works at enterprise companies and constantly delegates their work assuming it’ll get done, they may never develop proper communication, ticketing, and QA skills. If an engineer gets used to having that level of support in their day-to-day life, and suddenly they don’t have a team helping them, it may reveal a big skills gap. That’ll make them unsuitable for organizations that have less support — like startups.

You can see how it can get overwhelming for a senior engineer to figure out what skillsets companies want from them. Some organizations prioritize communication. Some just care about code quality.

So how can a senior engineer stand out and appeal to both startups and enterprises?

Let’s consider my definition. A senior engineer is someone who can:

  • Communicate clearly with non-technical teammates
  • Think ahead and consider the implications of decisions they make
  • Be comfortable facing a problem which the solution isn’t immediately known
  • Assess a solution through the lens of experience and accurately predict success
  • Understand the importance of readability, scalability, and correctness in their code
  • Be honest about quality and whether a project is ready to not
  • Understand and mentor a junior engineer through their day to day

If you know how to do all of these things without support, you’re an excellent senior engineer in my eyes. But why should you care about my definition? Because if you fulfill each of these criteria, you’ll be attractive to any kind of company.

  • Working at a startup that only cares about new features and nothing else? You’ll still be a good fit.
  • Working at a VC-funded startup with a larger team of developers to run and stakeholders to answer to? You’ll still be a good fit.
  • Working at an enterprise where you’ll receive lots of support but you need to properly direct the team objectives and consider its future effects? You’ll still be a good fit.

In my eyes, any engineer who understands the work that goes into development, knows how to influence teams to be better, and can communicate with non-technical stakeholders will be a valued senior engineer at any company, no matter what skillset the company

Published Apr 28, 2024

Thoughts on about software, tech, leadership, food and ceramics.