Hacker News new | comments | ask | show | jobs | submit login

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?





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.


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.


> 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..."


yeah, novel features, creative solutions, and framework are more important and competitive.

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.

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.


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.


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.

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.


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.

so need to create more

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?


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.

> 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.


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.


You can totally do that in a FAANG. It's hard, but it's a recognized archetype.

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.


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!

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.


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.




Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: