Live data from Hacker News

What does a Principal Software Engineer do?

blog.devgenius.io

11–20 of 176 posts

Re: What does a Principal Software Engineer do?

#11
post #6

When my partner and I first meet we were both senior engineers at larger SF tech companies. Three years later she is a principle engineer and I stayed a senior engineer. She and I agree that everything past a senior engineer is political. She is much better and handling the complex social dynamics of the management class. It's kinda a game of finding the least common denominator that works best by not pissing off peo…

> She and I agree that everything past a senior engineer is political. She is much better and handling the complex social dynamics of the management class. It's kinda a game of finding the least common denominator that works best by not pissing off people and making everyone maximally happy. That often means the decisions you make you know are not the most optimal, but the most politically optimal. A colleague of min…

It goes beyond managing expectations. What goals do you take? What goals do you ouah back against? How do you do this? How do you route around cranky groups that get nothing done?

Re: What does a Principal Software Engineer do?

#13

Same things as senior but more. Source: I've been one. Senior and principal prefixes are there to provide respect in orgs that rely on titles for respect (possibly a sign of toxicity), or a way to explain to HR why someone's salary is higher.

> or a way to explain to HR why someone's salary is higher.

This is exactly how my company motivated it when I asked for a higher salary.

Re: What does a Principal Software Engineer do?

#14

When my partner and I first meet we were both senior engineers at larger SF tech companies. Three years later she is a principle engineer and I stayed a senior engineer. She and I agree that everything past a senior engineer is political. She is much better and handling the complex social dynamics of the management class. It's kinda a game of finding the least common denominator that works best by not pissing off peo…

Life is a human communication game first, as the “best system” we’ve socially engineered is externalized support towards common goals. It’s not science or engineering; it’s sympatico.

The problems we’re solving at these jobs (I reserve work for its meaning in physical systems, jobs/career for you know), are ostensibly people problems. So the decisions I make are optimized for that. I don’t call it politically optimal, but optimal, because that’s it; that’s THE game of life.

It’s subtle language emphasis maybe, but I used to visualize my thoughts as a text stream and “rewrite” constructs I did not appreciate in the moment. Redefining ideas like “optimal” to be human first behavior. Ideas like “optimal technical solution” are boxed away for when I’m working.

It helped me understand managements drive, to have folks doing useful things, but also made me question how useful much of this is except as busy work.

Re: What does a Principal Software Engineer do?

#15

Earlier quoted context omitted.

> That often means the decisions you make you know are not the most optimal, but the most politically optimal. Not intended to quibble, but to me that smacks of the dreaded "mid-level management" tier. As a lead or principle, I describe what I do as being a "fire-and-forget resource". I build everything myself and don't require supervision. I will deliver regardless and am also able to justify my decisions. People se…

> As a lead or principle, I describe what I do as being a "fire-and-forget resource". I build everything myself and don't require supervision. I will deliver regardless and am also able to justify my decisions. People seem to be happy so far. Terminology is subjective of course, but: I would also expect the above from a "senior" developer. I would expect a "lead" developer to additionally be involved in leading a tea…

Those are great points to consider, thank you

Re: What does a Principal Software Engineer do?

#16
post #5

Always keep in mind that sometimes the "principal engineer" title is just a company's only way of hiring a senior engineer because their pay bands are so far below market rate. Don't let a description of a Google principal engineer scare you away from inquiring and applying for principal engineer positions at other companies. Source: have been that person.

Title inflation is real.

2 years ago I was hired as Staff with pretty high bar to clear.

This year I know a team where all the seniors complain they’re not Staff, and now half the team are Staff engs.

Re: What does a Principal Software Engineer do?

#17
Try reading: https://staffeng.com/about/

tldr; it varies from company to company.

In my experience the more senior you get the more like an organizational therapist you are expected to become. Instead of writing code you're helping engineering teams and executives communicate, fixing communication silos, writing specifications and requirements, reviewing progress on large multi-team features, and generally trying to move the ball on big-picture projects that span multiple feature teams/code-bases/etc.

This kind of work needs high-functioning social skills, excellent written communication skills, an ability to understand a large problem domain and all of the organizational levers you need to move to get it done. You'll also need to be able to tolerate long feedback cycles as the projects you take on will probably take months to see the light of day and you won't be writing the software yourself most of the time. At most I've seen engineers at this level write prototypes or reference implementations. Some enjoy it while others quickly learn that staying at a senior level was probably better for them.

Re: What does a Principal Software Engineer do?

#18
I feel like the summary of the whole article could be "important and/or impactful stuff". Saved you a click and a "you have 1 Medium article left" banner.

The definition bullets will probably be highly dependent on the company and while companies will likely copy those, they are likely not even transferable within a company, let alone across different companies.

For example, within company A, Mike is a manager that is a perfectionist leading a Java EE mid-sized application. Mike is hard on himself and is hard on his people. His people are probably underpaid, and that's how he likes it. Getting to a senior level is difficult. Getting above is political.

Within company A, Janet is a manager leading a relatively recent PaaS offering. She likes nimble, agile teams. She rewards quick thinking, wants her team to be satisfied, and gives her team yearly stock options because she doesn't want anyone to leave. Getting to a senior level is fairly manage-able after 1 to 2 years, provided one is viewed as a senior. Getting above is doable, provided one has peer support.

Now, company B is a consulting company that wants to offer "senior" engineers for $1000+/hour. They never hire anyone with the title "junior" (not even fresh grads) and promote practically everyone after 8-16 months to a senior title. Principal level is then another 6-8 months away, but they have very few of those due to insane attrition rates by that point.

Re: What does a Principal Software Engineer do?

#19
Beyond just titles for pay reasons:

Principal Software Engineers are essentially the Engineer Owner of a solution or closely related set of solutions.

They're expected to know the ins and outs of the solution both at a business level ('Hey, Principal, how much would it cost and how long would it take to do 'x'?' -- Some Sales Person), and have responsibility for the solution's engineering ('Two months? Great! See you at the February demo for the users group!' -- Some Sales Person), and be able to solve the more difficult engineering issues that crop up ('The app you promised to integrate with by February only uses SOAP and consists of around 14,000 on-prem installs...I graduated after the year 2000 so I'm not sure how SOAP works, can you walk me through this 'wizdal' thing?' -- Some Senior Engineer that you asked to look into the new project).

Re: What does a Principal Software Engineer do?

#20
post #5

Always keep in mind that sometimes the "principal engineer" title is just a company's only way of hiring a senior engineer because their pay bands are so far below market rate. Don't let a description of a Google principal engineer scare you away from inquiring and applying for principal engineer positions at other companies. Source: have been that person.

Title inflation is real. 2 years ago I was hired as Staff with pretty high bar to clear. This year I know a team where all the seniors complain they’re not Staff, and now half the team are Staff engs.

I was under the impression that Staff just meant you have some sort of leadership role, as opposed to just being an individual contributor. Is that not the case?
Post reply on HN