DEV Community

Cover image for What are the qualities of a Principal Engineer (or equivalent title)?
Ben Halpern
Ben Halpern Subscriber

Posted on

What are the qualities of a Principal Engineer (or equivalent title)?

What, in your mind, make for an effective "principal" level engineer — that is, say, one level above "senior". I put this in quotes because the titles are going to be flexible from place to place, but what in your mind does it mean to be that level above senior.

I think about this because we are hiring for a principal role at Forem, and we have our own criteria, but I think at the end of the day it is a matter of organizational expectations and personal expectations. So I'm wondering what you think.

Top comments (17)

Collapse
 
scottshipp profile image
scottshipp

I've worked with "principal" (or "staff" or "lead") engineers closely at three different tech companies including eBay and Expedia and my takeaway is that the general dividing line between "senior" and "principal" is the scope of influence.

Senior engineers' scope of influence is generally a single team, and the engineers within that team that they mentor. They are proven engineers who are often your go-to people for delivering high-risk features in tight deadlines.

Principal engineers have a larger network and a wider view. They have a scope of influence across multiple teams or across an entire organization. Rather than working within a team, within a high-risk environment, within tight deadlines, they can identify and provide force-multipliers in the basic technical environment itself that eliminate those constraints. They multiply the ability of everyone they work with. They know how to focus on what matters. People listen to them, and mobilize toward their vision.

Collapse
 
094459 profile image
Ricardo Sueiras

This is how we define the tenets of Principal Engineers at Amazon, which I really like - amazon.jobs/en/landing_pages/pe-co...

Collapse
 
ben profile image
Ben Halpern

Any one or two that are most important to you?

Collapse
 
094459 profile image
Ricardo Sueiras

Yeah, there are a few specifically that really ring true, but the one that is closest to my heart (and I guess why I am in the role I am in) is LEARN, EDUCATE, AND ADVOCATE
Principal Engineers are constantly learning. We seek technical knowledge and educate the entire organization about trends, technologies, and approaches. We combine vision and discretion to drive fruitful and even game-changing technology choices.

Thread Thread
 
booboboston profile image
Bobo Brussels

Seems like this could help alleviate too much "ivory tower" scenarios.

Collapse
 
kspeakman profile image
Kasey Speakman

A person who can handle stress, since they will be responsible for the technical merit of what is produced.

Collapse
 
pedromassango profile image
Pedro Massango

I have an related question: What does a Staff Engineer do? and what is the difference between a Staff and a Principal Engineer?

Collapse
 
scottshipp profile image
scottshipp

There're some good stories about this over at staffeng.com

Collapse
 
bobrinik profile image
Maksim Bober

As a student finishing University, I messaged people on Linkedin to ask questions about their work experience (their roles and skills). Some answered, and others ghosted. It's probably not a red flag when someone ignores a student on Linkedin. However, I would want to work with a principal engineer that answers such questions. I don't know what's this quality is called, but I would screen for this 🤷

Collapse
 
dinerdas profile image
Diner Das

I think a big part of the job is setting expectations for pace and quality. You can't exactly have entirely top-down expectations for this sort of thing, and you rely on your most senior people to set expectations for others to aspire to.

Collapse
 
casen profile image
Casen

It's the person who sets the bar for software engineering at a given company. They are often times responsible for overseeing the conception, and creation of multi-million, or even multi-billion dollar systems. They are naturally respected by their peers, and they are indispensable.

They may fall into a few categories: cutting edge mathematics, science, or engineering. Inventing things that have never been invented before. They might lean more toward the developer tools and team scaling side of things. Creating team structures, and process for shipping code at scale. They might also lean towards the safety and quality end of the spectrum, designing ways of improving monitoring and uptime for systems, and ways of testing extremely complex systems before they go live.

Collapse
 
unfor19 profile image
Meir Gabay

Assuming that a Senior is a person "who knows what he's doing" ...

I'd categorize a "principal engineer" by:

  1. Activity in communities and open source projects
  2. A well maintained GitHub profile, with meaningful projects
  3. Helping others is in his/hers blood

So basically, I'd say a person who took his role to the next level, and enjoys it

Collapse
 
fredlag profile image
fredlag

For me it's a person who handle stress and can listening and understanding the teams issue. He also need to bring and share is knowledge on how to clean code and use the best practics of coding.

Collapse
 
tgsilva0k profile image
Tiago Gabriel

For me, is someone who:

  • Is a well experienced practitioner the "craft"
  • Is more analytical than practical
  • Is pragmatic (good pragmatics... not the "just make it happen anyway" kind of pragmatic)
  • Team members look up to as an example to follow
  • Understands his teammates and the clients (empathy)
  • Teaches and keeps learning