ph4ntorn

joined 1 year ago
[–] ph4ntorn@programming.dev 2 points 1 year ago

I've never left a job for more money, and I've still seen my salary double about once every 7 years (which is about 10% growth per year) not accounting for inflation. Some years my salary went down and some years it didn't move much, but the years it jumped made up for the slow years. There have been times where my salary stagnated while I stayed at a job, but there have also been a few times where I got raises of 10% or more without changing jobs. I could name a lot of factors in my salary growth (some luck-related), but regular job hopping hasn't been one of them. I've stayed 4-6 years at a few different places, and when it was time to move on, I could ask for big salary bumps.

If you like your current role, if you're making enough money to live comfortably, and you're continuing to grow, I wouldn't hop jobs just because conventional wisdom says you should. Your salary may fall bellow the market while you stay put, but that doesn't mean your skills will fall behind. If you are worried about either your skills or your salary falling behind, you can always talk to your manager about correcting those things before you jump to looking for a new job.

In fact, I would argue at some point before moving up to senior level or into engineering manager, it is useful to be at a single company for at least 3 years. That gives you time to systems evolve over time and how decisions play out. That's not to say there isn't also value in jumping around and seeing the different ways different places operate. But, staying put has some value.

 

A few months ago, I lost my job as an engineering manager. I was officially told that I was being let go because my team didn’t think I gave good enough feedback and because they didn’t think I had enough technical understanding of the team’s work. Ironically, I got no feedback on this until the day I was being let go, and my performance review from 6 months before had mostly positive. I have told myself that most of the real reason that I was let go was probably the company trying to save money. There was a general push within the company to raise expectations and to not let good enough be good enough, and two engineering teams (neither mine) had recently been combined, leaving an extra manager. But, my confidence still took a big hit, because I’d been under the impression that my team thought well of me and my management. I got mixed messages on the way out the door with my own manager harping on all my shortcomings and my team telling me how much I'd helped them.

In my job search, I could have afforded to take time finding a new job. But, I threw myself into doing it quickly, both to eliminate the uncertainty and to prove to myself that I wasn’t useless. That was probably a mistake. After two months of searching, I got an offer and decided to take it. I wasn’t super excited about the company. The hiring process felt impersonal. But, the recruiter said they were excited about me, the pay was good, and I wanted to be done looking.

A brief history on me: I spent 16 years as an individual contributor. I started out in full stack web dev, moved to iOS dev for a few years, and moved back to web dev for a few years before moving to management. I've never had much interest in designing large systems or introducing new technologies. I like to build stuff and solve problems, and I care less than some engineers about how elegantly it's built. Before moving to management, I held scrum master roles on teams, but never tech lead roles. Shortly before moving to management, I got a promotion to staff engineer, but that was mostly in recognition of my non-technical leadership work. I was told I couldn't be a manager at that company because I wasn't technical enough. I've been a manager for 3 years total. My first management job was leading a team of front end engineers, my second (the one I lost) was leading a team of full stack engineers with a strong focus on the front end.

It's probably worth noting that I am female, and I have heard a few times that I am not technically strong enough to do certain things. Despite believing that I'm smart and good at understanding complex topics, I believe I internalized the idea that others are better at me at architecture without seeing potential bias behind it. But, at this point, I don't know what I'm unskilled at from lack of exposure and genuine lack of interest and what I'm unskilled at out of fear of being bad at something.

My current company does a lot of backend work and uses a serverless architecture. I have a decent understanding of backend, but I've never worked at a place with a serverless architecture and I barely understand the term. In the hiring process, there was a screen that consisted of multiple choice questions about AWS, which I don't really know. I felt like I was taking a test in a foreign language. But, when I later told the recruiter that I found that section tough, the recruiter told me that I got a top score. There was also a system design question that I think I did well with simply because I've studied system design questions. I've never actually designed systems a distributed system. All of this makes me think I may have interviewed well above my actual abilities. I've always been very good at taking tests. I recently saw a hiring panel where people chose to reject an engineering manager candidate because they're technical skills weren't strong enough. Someone made the comment that they wanted all of their engineers to be capable of acting as staff level engineers. I don't think I'm at that level.

To make matters worth, there's a lot of pressure on my technical leadership skills right now. I have a team that does a lot of manual work to make up for the fact that the systems it supports were never fully built out. Before I joined, the team had 4 people, but two had been lent to other teams for other projects. So, it was essentially 2 engineers, and one of those was beyond burnt out. One of the engineers who was supposed to rejoin the team was fired right after I started because he was stubborn and hard to work with. The other engineer was brought back to the team at that point. But, when the burnt out guy quit a couple weeks later, I was back down to 2 engineers. The two remaining engineers are a junior engineer who has been at the company (and in the working world) for about a year and a senior engineer who has been at the company for less than 6 months. We clearly need to build systems to replace the manual work, and people are looking to me to start planning what those systems are going to look like. But, I've been here for about a month, and I don't think I have the skills or the context to do that.

I have tried asking if I can get an engineer from another team. But, everyone is stretched thin. We're getting some help from a principal engineer, but it's only temporary, and he's on vacation. We're hiring for my team, and there are two offers out to senior engineers. But, it's going to take some time to onboard them. I've also yet to meet them, because that's not how our hiring process works. I have seen the interview notes, and they're positive. But, I'm uneasy about not knowing these people.

I don't think anyone would blame me if I just quit. But, I don't really want to go back to job searching right now. I also wonder if this might be a chance to build skills I've been lacking.

But, I really worry about doing a terrible job of it and getting fired. I've seen two people fired in my first month. One was the aforementioned engineer. In the brief time I knew him, I saw enough to think letting him go might have been a good decision. But, I am fairly certain the firing took him by surprise, and I don't know if that was his arrogance or poor communication from his previous management. I also saw someone in product who'd been supporting my team let go. I didn't know the person well, but all of my interactions with them were positive and they seemed like a good ally. I have no idea why they were let go, and I worry that the things I saw them doing that seemed positive were things others thought were a problem.

One of the interview questions the company asks managers is about handling a very productive, but toxic engineer who refuses to change. I've seen the rubric, and the only acceptable answer is to let him go. I wouldn't be here had I not expressed a willingness to let go of someone who was being toxic. But, it leaves me wondering if this is a company that is a little too trigger happy. The rubric doesn't cover whether or not a manager can judge if someone is really a problem or give them feedback to help them improve. My manager hasn't given me feedback, good or bad. I could be next and not know it yet. I know I should probably ask my manager for feedback, but I'm afraid that if I have a frank conversation with him, I'll let on how unprepared I feel and get myself fired sooner rather than later.

I'm having a hard time caring about this job and summoning the motivation to try to do what I need to help turn things around. Do I need to just get back out there and find something else, or do I need to find the motivation to lean in and give it my best shot? Any other suggestions?