Ask HN: Where to go after becoming a senior dev?
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 ] threadWhat path to follow is a decision you have to make.
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.
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".
- 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
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.
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.