I've managed to get promoted to a mid level position by actually streamlining our onboarding process together with my manager during a time of team growth at the job, for example.
Do you have similar stories to share maybe?
1) Understand as much as I can about the actual mission of the company. What is it trying to do, why does this make money, what is the impact it has on the broader society, how does my team/department contribute to this mission, etc? This helps to align my activities as much as possible with the companies actual mission because often bosses will give you tasks which are about furthering their career rather than doing this. If you try to make your work line up with the mission you avoid a lot of that sort of nonsense. Even if you don’t succeed, you will learn a lot by doing this and that will help to keep your work interesting.
2) Strive to increase my personal impact. Don’t try to get promoted, don’t try to get influence don’t try to increase salary etc. Try to figure out ways you can have a greater impact. All the other things will flow from that if you succeed.
Or at least that was the case until recently, I don't know what's happening with the job market anymore.
I was already operating at a senior level at the time, so it wasn't inappropriate. But sometimes there's only one language people understand, so you have to speak to them in it.
In the smaller start-up/scale-up world where "everyone's a senior" you'll be working with colleagues who only have 2-3yr experience, yet already have senior titles.
If you are switching companies, you either switch as being already a senior or you do it pretty good at the interview. In any case, you still need to get acknowledged by peers once you start.
The second-biggest one was realizing that negotiating power is the currency of career progression. The more you use it, the faster you will advance.
Things also move much faster if you have frequent 1:1s and keep a log of your wins.
This was my track, it will be different for others, but: seniority meant understanding user / business problems and then making better decisions about what to build.
I enjoy the quip that “juniors find complicated solutions to simple problems, mids find complex solutions to complex problems and seniors find simple solutions for complex problems”.
Sometimes the best thing you can do as a dev is to re-frame the problem, and I think a certain level of experience or confidence is needed to do that. But you can definitely cultivate the skill and get there sooner.
It sounds weird but you’d be surprised how often teams have lost any good reason to be doing what they’re doing at a micro level. They might still be on track at a macro level, they’ve just got pointless work slowing them up.