I gave up my team lead role when I realized that my employer was giving me next to zero support either in terms of being a better manager (it was my first official team lead role) or for the primary project my team was supposed to be building.
I can't fault my manager too much, because although he was not very effective, he was pretty supportive. It was the VP level and up where the failings really showed up.
I asked for and got the OK to give up the team lead role while retaining my title and salary, transitioned the team lead role off to a person with fewer years of experience total but much more time at the company. After that was done, I worked for a couple of months longer to see if the project-related problems would get better. No fault of my replacement, really. They didn't, so I left voluntarily.
Not within the same company, but yes. I felt like I had plenty of room to grow technically as an IC, and I didn't want to start the timer ticking on my career where I'd eventually be far enough away from current engineering practices as to find myself out to pasture well before retirement.
Had I stayed in management, my skillset would have ended at "light Ruby scripting and deep Asterisk VOIP knowledge."
I have been director of dev/IT but was finding excuses to take tasks on myself even though I had made peace with delegating. I've since refocused on being an IC and am happy with that.
I've done it, I realized I wanted to keep being an IC but still have promo/comp growth opportunities, and only some companies do that well without requiring you to hop onto the mgmt path.
I've moved from some senior exec roles (for years), back to being an IC. I had other stuff going on in life and overall, something had to give. I never lost the love for coding, and apart from the massive drop in salary I'm much happier.
I have to be careful to stay in my lane sometimes. I have a lot more experience than the leadership I report through, so I generally just leave them to it, and sometimes offer the odd little nudge.
I've switched from digital marketing manager type roles with direct reports to an IC dev role at a much smaller organization at that. The pace is _much_ slower with lower expectations, and people don't seem as receptive to your feedback as an IC (even when giving background of prior experiences, people still seem to anchor your skills to only your current title) so I've learned to stay in the very narrow dev lane and play the stooge role while taking the necessary steps to keep my skills relevant.
It is obviously hugely dependent on the organization's culture, but I've encountered more politics as an IC dev than any management role. The shift to IC is much more how can you make a low-mid manager seem like what obviously should be done is their brilliant, novel idea in addition to actually implementing the tasks at hand-- so overall productivity of the group is exponentially lower.
I worked as a manager at a FAANG for 2 years and switched back to IC. It was fairly common practice at my company, even among directors. I actually preferred the management role, but felt like there were many downsides.
1. I wanted more flexibility in hours and working remotely. I have elderly parents in another state and want the flexibility to support them, as an only child.
2. Level of support. Most directors talked about taking all their vacation at once to relieve pressure to constantly check messages during vacation. For me, it was a < 1 hr response, much like lawyers. I was constantly pinged if I ever slacked on checking.
3. I felt like line management was much less emotionally supported than ICs. It was pretty common practice to give any positive praise to the IC and negative feedback to the manager, regardless of any sensical attribution. This was fine for optics, but frustrated me that it extended to internal reviews.
4. The power dynamics mean that any of your IC friends now have at least a minor level of suspicion towards you. Other managers also have hostility because advancing feels more zero-sum unless the company is hypergrowth.
I miss being a manager, but my mental health is a lot better. Honestly, I felt like I provided more value to the company as a manager and had a great relationship with my team that continued after I stepped down. It's not my evaluation process however.
I’m moving in the opposite direction. One of the things I have trouble keeping up is with latest best practices and new frameworks and dependency injection and unit tests and… just need to find my grove where the mindless hype and green engineers are less of a problem.
If you don't really like your job as an engineer, it makes total sense. Management means, well, management: check on people, approve time off, help people with some wise-sounding standard advice and fake coaching. I've thought about that as well. Oh, don't tell me it depends on the company, I have a fair experience in very big corps and small startups. Variations on the same theme.
In the end, my advice to other people would be: try to find a job you really like, something you're passionate about if you can, and avoid politics and drama (well, unless that's your passion of course).
I love the creative pursuit of solving problems and all the related engineering aspects. Software development is however becoming more of a cargo cult and that is the aspect of working I find very challenging. But at the end of the day, I’m mature enough to understand that there is a reason why this is called work - you get paid to do stuff and I’m happy if I find satisfaction in 70% of the things I do.
How can something bringing value (read: money) to a lot of companies all around the world be considered "cargo cult"? As developers we are lucky enough that the market is so so wide, that if you don't like a company (heck, even just a person in a company) you can just change. So, nah, I don't buy it. Management is the real cargo cult, if we have to find one. People so aroused by the idea of mentoring (lol) other people (even more mature than them, quite often)... Look up "developer anarchy" on YouTube.
Been toying with the idea of getting back to IC. Been engineering Manager for four years now, but really miss development and getting hands dirty. However, I recently assigned a small feature to myself and was amazed at a few things: how much I had to look up to remind meself about language specific syntax, how much has changed (good ole Javascript), and how FAST time flies by when I get in the zone. I struggle with making the leap back because I'm slightly worried about what others would think. The company I work for doesn't have IC track neither, very up or out. So it's either jump ship to another company as IC and go through interview process, leetcode bs and probably lower paying position OR stick it out in Management and get my kicks through the team. Decisions, decisions.
I started out as a Java-by-the-yard consultant, but I was at a "fast-paced" consulting company and so was very quickly given as much responsibility as I could handle, which as it turned out was a lot. I never set out to be a manager as such, but the opportunities were there, and I climbed the ladder and did well w/ external accolades.
At about the decade mark in my career and a location and employer jumps later, I was a manager-of-managers w/ about 75 reports, and making a lot of money, in a highly visible position at my company where I got a lot of support and accolades. And I was miserable! I mean, I can only use that word in hindsight -- it took a lot of introspection to pick apart my circumstances and really dig into what I truly wanted out of life.
I did a serious course correction here -- I did a lot of self-learning to ramp back up on modern coding, and I was very fortune to land a technical (but not "developer") FAANG job. I learned as much as I could there, and even took a (much more junior) management role, but I quickly realised that even at a more "technical" company I was still miserable if I wasn't the one building things.
I'm currently 1.25 years into a GREAT job, and although it's not perfect, I'm delighted every day to open up Vim and write Python, C, and some other fun stuff. It took me nearly 3 years to go from "I think I want to be a developer again" to actually working full time as a developer, but I also stayed employed (and had 2 children!) during that time, so you could certainly make the switch faster if you really wanted to.
I've done this, gave up managerial role to become an IC basically because I enjoyed staying technical and could have a bigger impact in faster iterative cycle than delegating work and expecting others to deliver at the level and quality I desired.
I spent a good chunk of my career at the same place, and during that tenure I grew from IC into management, eventually a senior leadership position. The company grew at the same time and through those years we had many fun challenges.
I truly enjoyed being both an IC and a manager. At the company I am referring to, although I was an IC, we were small enough to require any individual to wear more than one hat, which led to gaining skills in project management / organization / collaboration early on in my career.
As I grew in that role and transitioned to management, I gained plenty of value in learning how people work, and how they are so much more difficult than systems! I spent many hours reading all the usual people management books and doing my best to optimize my team in a people-first way.
Unfortunately, I have a knack to over work myself. I would easily work 60 hours a week and because I was in management at a fast growing company, there was always something to do
This led to full burnout in 2019, just after I was promoted to a more senior leadership position. I should have said no, but it took the pandemic for me to make a switch. The pandemic triggered layoffs across the company and with that, my morale and will to rebuild depleted. I left the company half way through 2020.
With that departure, I decided to try IC again. I missed writing code and I had incredible fears that I'd lose the one thing that got me into this career in the first place.
The switch was a bit bumpy at first, I feel like the first 2 months I had forgotten how to write any code, but it all quickly came back, and the 40-hours a week of practice helped :-) Finally, I had the benefit of management experience which has allowed me to easily collaborate with others, build rapport in a remote environment, work past a few staffing issues that affected my immediate team, and be a mentor to my peers (at varying levels).
And the biggest change was how much time I spend working. I don't work 60 hours a week anymore, in fact some weeks I work less than 40. I spend more time on myself and that has allowed me to not only be better at my job, but be a better husband and father.
I did this. I had multiple roles where I got promoted (part dedication / part luck) and I enjoyed thinking strategically, having a greater impact and leading people to realise their goals, however I never had any support or training really.. just a mentor here and there who were excellent. In ones of these roles I got a new manager (VP level) and we didn’t get along, my mentor left and I felt exposed, burnt out and unsupported.
I left, did a project management course as I had had the opportunity to lead small-ish projects throughout these roles and enjoyed it, and have been a PM for ~7 years.
I don’t know what the future holds but I enjoy this more than the management. I also have had some big life events (kids, mortgage etc) and being able to de-stress has been a huge win for quality of life and time with loved ones.
I was in management for 4 years and moved to another company as an IC. There was a lot of responsibility and stress being a manager and it was taking a toll on my health. I'm now a lot more happier and healthier in my technical role and it actually pays more too!
20 comments
[ 3.2 ms ] story [ 50.6 ms ] threadI can't fault my manager too much, because although he was not very effective, he was pretty supportive. It was the VP level and up where the failings really showed up.
I asked for and got the OK to give up the team lead role while retaining my title and salary, transitioned the team lead role off to a person with fewer years of experience total but much more time at the company. After that was done, I worked for a couple of months longer to see if the project-related problems would get better. No fault of my replacement, really. They didn't, so I left voluntarily.
Had I stayed in management, my skillset would have ended at "light Ruby scripting and deep Asterisk VOIP knowledge."
I have to be careful to stay in my lane sometimes. I have a lot more experience than the leadership I report through, so I generally just leave them to it, and sometimes offer the odd little nudge.
It is obviously hugely dependent on the organization's culture, but I've encountered more politics as an IC dev than any management role. The shift to IC is much more how can you make a low-mid manager seem like what obviously should be done is their brilliant, novel idea in addition to actually implementing the tasks at hand-- so overall productivity of the group is exponentially lower.
In the end, my advice to other people would be: try to find a job you really like, something you're passionate about if you can, and avoid politics and drama (well, unless that's your passion of course).
I started out as a Java-by-the-yard consultant, but I was at a "fast-paced" consulting company and so was very quickly given as much responsibility as I could handle, which as it turned out was a lot. I never set out to be a manager as such, but the opportunities were there, and I climbed the ladder and did well w/ external accolades.
At about the decade mark in my career and a location and employer jumps later, I was a manager-of-managers w/ about 75 reports, and making a lot of money, in a highly visible position at my company where I got a lot of support and accolades. And I was miserable! I mean, I can only use that word in hindsight -- it took a lot of introspection to pick apart my circumstances and really dig into what I truly wanted out of life.
I did a serious course correction here -- I did a lot of self-learning to ramp back up on modern coding, and I was very fortune to land a technical (but not "developer") FAANG job. I learned as much as I could there, and even took a (much more junior) management role, but I quickly realised that even at a more "technical" company I was still miserable if I wasn't the one building things.
I'm currently 1.25 years into a GREAT job, and although it's not perfect, I'm delighted every day to open up Vim and write Python, C, and some other fun stuff. It took me nearly 3 years to go from "I think I want to be a developer again" to actually working full time as a developer, but I also stayed employed (and had 2 children!) during that time, so you could certainly make the switch faster if you really wanted to.
I truly enjoyed being both an IC and a manager. At the company I am referring to, although I was an IC, we were small enough to require any individual to wear more than one hat, which led to gaining skills in project management / organization / collaboration early on in my career.
As I grew in that role and transitioned to management, I gained plenty of value in learning how people work, and how they are so much more difficult than systems! I spent many hours reading all the usual people management books and doing my best to optimize my team in a people-first way.
Unfortunately, I have a knack to over work myself. I would easily work 60 hours a week and because I was in management at a fast growing company, there was always something to do
This led to full burnout in 2019, just after I was promoted to a more senior leadership position. I should have said no, but it took the pandemic for me to make a switch. The pandemic triggered layoffs across the company and with that, my morale and will to rebuild depleted. I left the company half way through 2020.
With that departure, I decided to try IC again. I missed writing code and I had incredible fears that I'd lose the one thing that got me into this career in the first place.
The switch was a bit bumpy at first, I feel like the first 2 months I had forgotten how to write any code, but it all quickly came back, and the 40-hours a week of practice helped :-) Finally, I had the benefit of management experience which has allowed me to easily collaborate with others, build rapport in a remote environment, work past a few staffing issues that affected my immediate team, and be a mentor to my peers (at varying levels).
And the biggest change was how much time I spend working. I don't work 60 hours a week anymore, in fact some weeks I work less than 40. I spend more time on myself and that has allowed me to not only be better at my job, but be a better husband and father.
I left, did a project management course as I had had the opportunity to lead small-ish projects throughout these roles and enjoyed it, and have been a PM for ~7 years.
I don’t know what the future holds but I enjoy this more than the management. I also have had some big life events (kids, mortgage etc) and being able to de-stress has been a huge win for quality of life and time with loved ones.