News for hackers. Stuff that matters.
Re:On Being a Principal Engineer by xtreak29 on Sunday February 10, 2019 @12:13PM (#19128675)
Is there a path where one can get to work on code without getting to design and architectural space. Is this thought as career stagnation when someone doesn't wants to work more on higher level design and to remain close to implementation side of things?
Re:On Being a Principal Engineer by cddotdotslash on Sunday February 10, 2019 @12:19PM (#19128718)
Ultimately it's going to come down to the value you provide the company. The reason senior engineers get paid more than juniors is because of the value they provide over a junior. The same applies to principal over senior and so on. Eventually, there is only so much value you can provide if you limit your skills to one specific area and are unwilling to expand.

I can't speak for every company, but I imagine that if you got to a point where you are the best coder at the company, but you refuse to discuss architecture or design, your salary and advancement opportunities will stagnate. This isn't because you're not a great coder, but rather because the value your code provides in isolation, without architectural context, is limited.

Re:On Being a Principal Engineer by mooreds on Sunday February 10, 2019 @12:24PM (#19128743)
It's all about leverage. If you are a tremendous coder, do you have more leverage to build business value than someone who can enable a team of five? And can your organization recognize it?

The answer for most people and organizations is no.

(Edited to fix typo)

I also think it is worth recognizing that the challenges of higher abstractions can be kinda fun. Different but fun.

Re:On Being a Principal Engineer by sokoloff on Sunday February 10, 2019 @01:19PM (#19129118)
> I imagine that if you got to a point where you are the best coder at the company, but you refuse to discuss architecture or design, your salary and advancement opportunities will stagnate. This isn't because you're not a great coder, but rather because the value your code provides in isolation, without architectural context, is limited.

As they should, IMO. It's about the value you bring to the table (in absolute terms and over a theoretical replacement). If you're doing senior IC work, there's a limit to the impact that you are likely to have and value you are likely to create (and therefore to the portion of that value that you will bring home to keep as your own). That can be an incredibly enjoyable work experience, but there's likely to be some kind of a cap on it.

I am not the only tech executive who has said, "If/when I get rich enough to fully retire, I'm just as likely to take an IC role somewhere and just code for the love of it..."

Re:On Being a Principal Engineer by hk-mars on Monday February 11, 2019 @12:12AM (#19132226)
yeah, novel features, creative solutions, and framework are more important and competitive.
Re:On Being a Principal Engineer by ryanong on Sunday February 10, 2019 @12:25PM (#19128749)
I would call it more of a plateau than stagnation. The senior title is a pretty beautiful spot, well paid and always more to learn but the value to the company is limited to the work you get done. You may be able to get it done faster and better than anyone else, but there are diminishing returns on speed and quality of an individual. I miss being a senior sometimes. Being able to go heads down and pair with someone all day on a problem was a great feeling, but I enjoy how much I help my coworkers/friends.
Re:On Being a Principal Engineer by solipsism on Sunday February 10, 2019 @02:46PM (#19129584)
I agree with what you have to say about it being a plateau... but what are these companies where a senior engineer's impact is limited to the work they get done as an individual?

Part of the definition of "senior", everywhere I've read it, is that your impact has started to spread outside yourself and to the team level. If you're a "strong IC", you're not a senior, in my reckoning. You're a senior when you're pulling up those around you.

Re:On Being a Principal Engineer by bradleyjg on Sunday February 10, 2019 @02:12PM (#19129430)
There are at least a some people that are so amazingly good at e.g. optimizing assembly routines that they have a very high ceiling on their comp even if all they ever do is that and maybe an occasional talk or blog post. But as you go further and further out on the definition of "very high" it gets rarer and rarer.

The bigger issue, in my opinion, isn't the ceiling on comp. It's the job security as you get older. A lot of the people in their early 30s thinking "the senior engineer role rocks, and $250k total comp is more than enough" aren't thinking through their plans are for their 40s and 50s. Some are, a fair number with that mindset I've meet are into the early retirement / financial independence thing, but many aren't.

Re:On Being a Principal Engineer by inerte on Sunday February 10, 2019 @02:17PM (#19129455)
Yes, cranking a lot of quality code still gets rewarded in most companies. Just don't expect to reach the highest levels of seniority with regular promotions, or say, a fat bonus/RSUs, since your impact is smaller than the type of engineers the article mentions.
Re:On Being a Principal Engineer by scarface74 on Sunday February 10, 2019 @06:22PM (#19130801)
How can you be a great cider without understanding architecture? Great coders are people who know how to bring business value.

That is unless you work for a company that is truly doing something unique or doing it at a unique scale.

Re:On Being a Principal Engineer by TheGRS on Sunday February 10, 2019 @12:28PM (#19128766)
In this current market I would say there's absolutely a stagnation if you are not finding other ways to provide value. There are others coming up from behind who can arguably provide the same value of just coding without thinking much about strategic decisions down the road, and they might be cheaper to boot. And those people might be more willing later on to take on the mantle of these decisions.
Re:On Being a Principal Engineer by hk-mars on Monday February 11, 2019 @12:15AM (#19132243)
so need to create more
Re:On Being a Principal Engineer by nevir on Sunday February 10, 2019 @12:41PM (#19128871)
At our company we've implicitly split the technical ladder at the principal level into "broad" principals (this article), and "deep" principal (expert at their field).

We're struggling to formally define it, though. How much pure IC work do we expect of broad roles? How much coordination/communication do we expect of deep roles?

Re:On Being a Principal Engineer by hopler on Monday February 11, 2019 @08:23AM (#19134245)
Amazon invented the SWE 4/5 roles late because they were losing people who were surpassing 3 as individual engineers but couldn't meet the people-leadership requirements of Principal.
Re:On Being a Principal Engineer by tanilama on Sunday February 10, 2019 @12:57PM (#19128988)
> code without getting to design and architectural space

Then your impact is limited. Truth is, you need to do high-level thing to influence more people because that is more efficient and valuable use of your time. Implementation is fun and useful and all, but it can't scale beyond certain scale.

Re:On Being a Principal Engineer by wolco on Sunday February 10, 2019 @09:02PM (#19131532)
I always felt the higher the level the less the impact but the bigger the credit one will take.

The CEO sets the goal of more mobile connectivity this year. The VPs come up with high level projects. The managers assign the work. The programming team does it. The higher up the lesa the real impact.

Re:On Being a Principal Engineer by lclarkmichalek on Sunday February 10, 2019 @12:38PM (#19128840)
You can totally do that in a FAANG. It's hard, but it's a recognized archetype.
Re:On Being a Principal Engineer by solipsism on Sunday February 10, 2019 @03:01PM (#19129655)
These companies usually expect advancement, and advancement requires participation-in/production-of higher and higher level design/architecture. You can hang around for a few years, but eventually people are going to ask why you're not progressing. Depending on the FAANG you'll either be stack-rank laid off, or put on a PIP and pushed to voluntarily leave.

EDIT to add: On the contrary, non-FAANG is where you want to go. At many non-FAANG type companies you advance based on a combination of success and tenure. You'll accumulate raises and promotions just as a function of sticking around doing your job.

I know, because at such a company I became a manager and then was made aware that a person reporting to me was making twice as much as me. Because he had been there 10+ years, just producing code.

Re:On Being a Principal Engineer by jedberg on Sunday February 10, 2019 @04:33PM (#19130179)
Are you sure he wasn’t making twice as much because he brought more value? There is no reason that your report shouldn’t make more than you. In fact I’d love to manage a team where everyone makes more than me. That would be amazing!
Re:On Being a Principal Engineer by solipsism on Sunday February 10, 2019 @06:56PM (#19130970)
What I meant to say by "just producing code" was that he wasn't having much of an impact on people around him. He was producing a regular amount of good code. He just had been there forever.

I agree completely that there's nothing wrong with managers making less money than people they're managing. The only reason I mentioned that he reported to me is because that's the only way I became aware of his salary.

Re:On Being a Principal Engineer by scarface74 on Sunday February 10, 2019 @06:25PM (#19130815)
You can do that...work at a company and just make more money without learning anything new. But more than likely your job will end before you are ready and you will find it impossible to get another job. While I do think ageism is overblownef for experienced developers who have kept their skills current, it’s almost impossible for an older person who hasn’t kept their skills current to find work even as a junior developer.

Disclaimer: I’m in my mid 40s.