For the past 11.5 years I've been working for the same company, first as a permanent employee working on premises, later remotely as a contractor and now through a 3rd company. The last 2 scenarios are only due to tax/legal reasons, for all intents and purposes it's as if I was still a permanent employee of that company. It's a non-tech company with a tech department of around 50 people, of which maybe half are devs.
I still have the same job title as when I first joined, senior software developer, and I haven't led any team or had anyone reporting to me. My salary is roughly 3.5x of my initial salary (despite having never asked for a raise), well above market here. Still, I'm treated like an errand boy.
I feel bad when I see everyone around making progress with their careers. Meanwhile my only promotion happened like 15 years ago, when I went from junior to senior dev. My salary is, I bet, better than most, but salaries are secret. I'm concerned about ageism and who will hire me when I'm 50 and haven't even led a small team.
I'm not sure how I can be so valued by the company in terms of money but not in any other aspect. I feel technically as competent as any other dev in the company (this is not a FAANG anyway), and I feel respected by my peers. I think I communicate well. I'm easy to work with, although getting grumpier by the day due to this situation (and age?). My bosses, including the current CTO, always say good things about me to the point of making me feel embarrassed when they do it in meetings with other people.
Some things that might play against me:
- I'm a backend dev, and the main product is a web page. CTO has admitted that hurts with visibility.
- I'm working remotely. The CTO of the company is very vocal against remote work.
- I'm technically not an employee as of the last few years.
Other issues with this job: - The CTO says I report to him (unofficially, being an external worker) because I'm important, yet I spend months without speaking with him. I feel bossless. And I think there's little visibility of my work to work day.
- Even though I have the opportunity to work on new semi-interesting projects here and there, I also have to maintain quite a bit of the old stuff that I inherited... I also have to do a shitload of reports (which I hate), as I'm the one with the better knowledge of the (decades old) DB.
Here in my country we have a saying, would you rather be the head of a mouse or the tail of a lion? Well I feel like the tail of a mouse here. Because I'd fully understand being the generic code monkey #478758 at a FAANG company where everyone's so good, but not at a small tech department after almost 12 years.So I see two options:
- take a huge gamble, and quit my job in the start or middle of a recession, and having just had a baby (I'd make sure to land one offer first of course). Lose two thirds of my income, or half if I'm lucky, which we can afford as the house is paid for, we have no debt. No guarantee that I can make progress or be happier elsewhere, especially starting from scratch.
- keep my head low, swallow the little pride I have left, and keep raking in the money. Learn some more frontend stuff that at least will keep me more employable. In a few years buy a beach house, that would help with my feelings, hopefully. My girlfriend and mum think this is the best option, money is just too good.
I'm at a point of looking for professional help to convince me of point #2 as it's probably the saner choice. But I so fantasise with sending a resignation letter...
This seems to be the crux of the problem for you. You seem to want to lead a team. But how do you know this won't make you unhappy? Consider...
> I also have to do a shitload of reports (which I hate), as I'm the one with the better knowledge of the (decades old) DB. ...
Depending on the situation, team leads can spend a shitload of time doing reports, making presentations, schmoozing, stroking ruffled feathers, and generally doing things that looks like non-work from a certain perspective.
Have you considered that you've found your ideal situation? No boss. Work on interesting projects from time to time. No mortgage. Earn enough to support your growing family. Live where you want.
Maybe those people making "progress with their careers" look at someone in your situation and think, "if only..."
Have you considered doing volunteer work as a way to find out how you'd like to lead a team? Schools constantly need volunteers, as to many non-profits. They also need people with leadership skills. So you might be able to dip a toe into the water without making a big commitment career-wise. You might be surprised at how the reality of leadership differs from the fantasy.
2. Use your work hours (30% of them? Depends on your workload) to learn what's needed to be comfortable assuming that future role (e.g., read tons of books, learn about relevant tech stack used nowadays, etc.)
3. When you feel ready (let's say, in 9 months), start looking for a job with that specific job title you want. Make sure in your resume you highlight that you know X and Y and Z (skills relevant to the position you're applying): you can put this as part of your current job.
Have you expressed your desire to lead a team, though? I never did but kind of ended up as one by accident. I was an expert in a particular aspect of a large system and was asked to make an urgent change. It was fairly large and affected a lot of internal systems and I realised that delivering this in the timeframe was far beyond my capabilities as an individual, so I told them this and they gave me a small team.
When this was delivered on time they gave me an even bigger project. But this was only possible because our org was expanding at the time... If your company isn't then there may not be any such opportunities coming up unless someone quits, so if it's very important to you then you might need to look at other roles.
Although, while the recognition is nice in a way, the sort of "extra" things to do actually increased for me and I'm not sure the "errand boy" feeling is likely to get much better! I do have a bit more of an org chart above me...
1) Brush up on skills, algorithms, data structures, leetcode, interviewing, etc, and maybe you'll end up with a high paying code monkey # 478758 at FAANG.
2) Provide more value to your employer, take on more important, strategic projects and tasks, and get further raises, promotions, become a manager of some juniors, etc.
This might mean you have to:
* work on-site if that's what they want / prefer.
* become involved in interviewing people, hiring, eventually managing junior folks.
* find a way to do more main product / web page work, if that's what the company's product / core business is.
* say no to more and more reports, ask for someone junior to hand off to, automate, offload, provide self-service tools, etc.
* build connections with non-tech people as well as tech people, probably onsite whenever possible.
* watch out for the trap of being grumpy about your situation, you are not a victim. if you want the responsibilities and big $$$, you have to be to showing that you are ready and interested, and not waiting around, working remotely, doing the same stuff year over year, in a comfort zone.
to feel unappreciated and not being seen (like you say, not being talked to in months)
to feel that I don't make a dent (as you mention a code monkey)
would you like to have 30 mins call and see if I can help you
and from the saying I believe we are in the same country
Daniel