Ask HN: Where to go after becoming a senior dev?

16 points by woile ↗ HN
Hello people, I was wondering how do your companies deal with the life cycle of developers. After you reach certain seniority, what else can you do?

FMPOV a senior is comfortable with:

- understanding (most of) the business.

- understanding (most of) the technology.

- relatively good communication skills.

- being able to deliver.

- writing nice code (this is subjective and possibly not empirically true, there are probably many seniors who do not necessary write good code)

It seems to me that many devs, after 3 or 4 years in a place get into a stagnation point where they look for new challenges.

What else can be done?

I think many companies (including mine) offer the "communicator" grow path. Where your role is more about talking/being a guru, but what if you are a good engineer and want to continue doing that?

Does anyone have ideas over this topic?

Thanks

19 comments

[ 1.3 ms ] story [ 61.8 ms ] thread
The 5 points you list are all about making good systems to solve the problems a business faces. The level up from that is a role where you're deciding on which problems to solve.
Interesting, thanks! Indeed, giving more power because to the person is capable of bringing new insights.
You have basically 3 way to grow: 1. You go deeper into tech and learn more about architecture (improve performance, reduce cost, reduce complexity...) 2. You go toward management and learn to code with more than 2 hands to deliver even more. This also implied hiring. 3. You go toward the business side and become product owner/manager or event sales.

What path to follow is a decision you have to make.

thanks, super valuable.
Or 4. Start your own product business, 5. Start a consultancy business
get promoted. become a manager.
Why spend years gaining programming skills to throw them away? Sure there will be some overlap with "learning to program with more than 2 hands" but at the end of the day a managers skills and responsibilities are different to that of an engineers.
> Why spend years gaining programming skills to throw them away?

This question only makes sense if your #1 life-long goal is "be a coder". If you have other goals, such as lead products, lead companies, retire young, learn business, change the world, raise a family, travel the world, or whatever else you may want to do... there is nothing wrong with programming being a stepping stool to something else and letting those skills go.

Your post only makes sense if we consider a person who wishes to switch careers.

Also, how are the following relevant in terms of switching from coding to a different career path? "change the world, raise a family, travel the world".

It isn't about careers, it is about goals - those are examples of goals where your career is nothing but a tool to get you the resources to move towards your actual goal. So if your goal is to travel the world, it matters not whether you are a coder or something else... as long as your are moving towards your goal. When there is a job that gets you there better than coding, take it.
I see what you mean now. I don't think in that way at all. How do you set the bounds of meeting your goal?
FAANG -> retire
I like this solution, but many are in a situation where we can't move to a new city or are just a step or two below the talent required to get into a FAANG. What then? Sub-FANNG companies?
Alot of the people hired at FAANG arent that talented. They just studied hard for the interviews. Its a myth. The long term payout is worth the months of study
This is the sad truth. I spent 2 months studying programming questions, whiteboarding, and doing mock interviews to pass the interview to work at a FAANG company. I can't count the number of times I've whiteboarded the binary_search function by hand (a skill that obviously proved worthless in practice). Once you get past the interview, you can pat yourself on the back and affirm to yourself that you are 'talented', but the truth is that once you're in, its more or less like any other job (ymmv of course).
Which means moving from their country to the US for many. Not practical for all.
Some other options:

- Keep doing all of that, plus level-up all your co-workers

- Learn other things, write about them

- Change areas: Front-end -> Backend -> Infrastructure or Tooling

- Lead (technical) projects with small teams

- Find companies with a concentration of amazingly capable developer to work with and learn from

Here some possible paths for you from the Senior Dev role:

Individual Contributor:

=> Lead or Principal Engineer => Staff Engineer

=> Architect => Senior Architect

=> Site Reliability Engineer => Senior Site Reliability Engineer => etc.

Management:

=> Engineering Manager => Senior Engineering Manager => Tech Director => etc.

Process:

=> Technical Program Manager => Senior Program Product Manager => etc.

=> Developer Advocate

Business:

=> Product Manager => Senior Product Manager => etc.

=> CTO at a startup (team of 10 or less)

Any time a Senior Dev comes to me saying they want to grow, I asked them a very simple question: what do you really want?

It's a simple question, but the majority of them can't answer it. They don't know what they want. They just see colleagues get promoted left and right and have FOMO, so they panic and think "I have to push to be promoted too, let's become a Principal or Architect!"

So first, it's about helping them figure out what they want: is it more autonomy, or a larger scope, or weight in the decision making process, or owning a full tech scope in a small environment, etc.?

Once you know what they want, then you can plan what positions they can start targeting, and from there you can identify which skills they have to improve and which projects they have to get involved in to build credibility and get hired for it.

From my experience, the skills they have to develop end up being the same regardless of the job targeted: interpersonal communication, politics, business acumen, negotiating, public speaking, and so on.

> I think many companies (including mine) offer the "communicator" grow path. Where your role is more about talking/being a guru, but what if you are a good engineer and want to continue doing that?

If the company is open for R&D and experimentation, then you can pitch an idea, which ideally aligns with company business, and get an approval to implement it yourself or with a bunch of teammates.