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 tit...
For further actions, you may consider blocking this person and/or reporting abuse
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.
This is how we define the tenets of Principal Engineers at Amazon, which I really like - amazon.jobs/en/landing_pages/pe-co...
Any one or two that are most important to you?
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.
Seems like this could help alleviate too much "ivory tower" scenarios.
A person who can handle stress, since they will be responsible for the technical merit of what is produced.
I have an related question: What does a Staff Engineer do? and what is the difference between a Staff and a Principal Engineer?
There're some good stories about this over at staffeng.com
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 🤷
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.
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.
Assuming that a Senior is a person "who knows what he's doing" ...
I'd categorize a "principal engineer" by:
So basically, I'd say a person who took his role to the next level, and enjoys it
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.
For me, is someone who:
I am one, and have my own style. I like to be supportive inside the company to other engineers. Find out more the new "next thing". Even make the next thing happen. Pair program with many.
I also like to answer questions on Reddit and StackOverflow, but only when I have time, which is rare these days. I don't help out on open source, or write blogs for the same reasons.
I Agree with what you said about every place is different, and even there are different culture. So Each company should define the criteria about what they are looking for in a principal engineer. Also there are some "general guidelines" that you can use as a blueprint to define what your company is going to need.
Also i would prefer to use preferred qualification (it will give you more freedom), instead of using minimum or required, i have seem some cases where a person comply with all the min qualification, but this list was made by HR and were not relevant to the job role, son the person suffered on the interviews or got the job and was not a good fix.
A made up position.