I’ve seen people call themselves “senior” after 3 years on the job, other become CTOs in the same time, and others still have a senior title after 20(!) years in the industry yet have a fuckton of technical experience.
I’ve heard that they are all just titles and opinions from “if you don’t have the technical skill you can’t call yourself a senior”, to “senior and staff are just a feeling, principal is the actual senior” and “staff? above senior? we call that manager”.
What’s your story? Is there a ladder? Do you feel like you belong on it? Where are you on it? Does it make sense? Did you see major bumps in salary? Did titles count at all?
I was a fast track developer. Was senior in 4 years but involved a few job hops. Many companies require x years to get to senior but for some reason that goes out the window for new hires with talent.
It wasn’t until managing people that it became obvious why I fast tracked and others don’t. There is a huge difference in our industry. I like to use the analogy of sports. You have multiple levels recreational, college, and professional. As you get better you move up but there’s a gate to moving up that some never achieve maybe genetics maybe effort. The difference is it’s all mixed up in programming there’s no divisions you can have a 15 year programmer stuck at rec level and he’s programming with a 3 year college level athlete that’s running absolute circles around him. The productivity gap is huge. If you manage to get a pro level programmer on your team he’ll make the other 3 rec level programmers look like a waste of money. It’s like the elite runners who complete a marathon in around 2 and a half hours and it’ll be another 4 to 6 hours before the slowest finish. That same gap is in the programming world it’s just not as obvious.
So all that said my advice is to find what your skill is. If you seem to be outperforming your elder peers you’ll benefit from aggressively asking for raises and promotions as well as making a job hop every few years if HR stagnates your pay for the dreaded “years of experience” excuse.
You might also eventually get promoted to a point where you find yourself not excelling. This was my experience in management. I became a manager too young or maybe I’m not built for it. After a few years hating management I went back to programming as a consultant because I realized I was on that upper side of the skill differential, I enjoyed coding and now armed with that knowledge of where I am I can ask for even higher amounts of pay exceeding management pay.
Our beloved Peter Principle. I know management is not for me through experience too. Any job description that includes it as part of their role description regardless of title (since those vary so much) is rejected. Europe is only just beginning to understand that management isn’t the end all be all, and that forcing it upon people will either make them leave, unhappy, less productive, or in rare cases actually enjoy it.
Some people like myself also just want to stay as a senior dev. Senior dev is a valid terminal position IMO. It pays a sht load already so it’s not like I need way more money. If you’re goal is to literally maximize money and nothing else then yeah the obvious route is to transition to EM. But I would be miserable if I don’t get to write code at my job so I’m sacrificing a bit of money for way more happiness and fulfillment on the job.
Thanks for sharing! How do you feel about the transition from individual contributor to manager? What made you switch? How do you deal with the new responsibilities? How do you deal with the fact that you have to rely on others to get the job done rather than doing it yourself?
I should start by saying I was a middle manager in a large corporation. This may be a different experience in smaller settings.
I think the transition to manager didn’t live up to expectations for me. I knew I would be committing less code and helping clear roadblocks. What I didn’t expect was the bureaucratic catastrophe that is HR and upper management. Often I wasn’t clearing roadblocks as much as insulating my team from terrible knee jerk reactions from above. In example productivity is down let’s bring everyone into the office post Covid. Productivity was not down for my team but going back was the start of it. My top level performers I struggled to hang on to due to HR in acting strict requirements for promotions. Senior needed 7 years and other random rules. That coupled with some not wanting to come in. I remember the most impactful being losing a 4 yr experience programmer who outperformed every senior I had due to those rules.
There were parts I enjoyed. Helping the juniors grow and the surprises I’d get from that. I learned very quickly that a devs initial skill coming in from college or life transitions was not a good way of judging their maximal. I’d have devs come in that I thought no way they’d be a top performer to a few years later being shocked at how good they were and how they flew past their peers. It made the inevitable loss of them more painful. I knew my shooting stars would see better pay and advancement elsewhere.
I really had no problem with the transition from contributing to relying on others. I missed contributing and was good at it but I knew it wasn’t my role. I knew from past experience a manager didn’t know enough about the day to day code to give fine grained suggestions on how to write code.