Why do some people choose to drop out of being a software developer into management?
Posted by Colt2205@reddit | ExperiencedDevs | View on Reddit | 280 comments
It's something I'm wondering because I know some of my connections now who used to be big into doing software are now in jobs that they barely do any code. They miss being able to do it when I ask them so it just seems kind of strange. Is there some point where a software developer has to own so much that they have to start becoming an architect or director over being in the trenches? Is it a company thing where they drop too much staff and then someone has to take over some critical role?
juwxso@reddit
Depends on your interest. I have seen people transitioning from SWE to Product Manager at L3/4 even.
sigmoia@reddit
Pay.
I’m a senior with 7 YOE. My manager won’t share the full salary band for my level and is instead pushing me to go for a managerial or staff eng role. I just want a better bump for the work I’m already doing—without leveling up.
Problem is, those roles come with a ton of extra responsibility, and unless you’re in FAANG, the pay bump barely makes a difference. But in some places, that’s the only way to get a good bump that isn’t 5% inflation adjustment. I even saw this firsthand at an S&P500 company.
A lot of orgs don’t even offer a path to staff. So management it is, I guess.
praminata@reddit
I've stayed an IC all the way through my 25 years career. What I've realised now is that in several jobs I've actually been tech lead, team leader, manager etc in all but name.
In one place I was the first engineer hired in my country, so I helped onboard pretty much all the next wave of engineers into different teams, and was their go-to person for all kinds of shit. Even though others could have eventually taken their share of that burden, honorary roles are "sticky". 5 years later I still had an unofficial, unpaid extra bag of shit to do.
There are pros and cons to that. The cons are extra workload, no extra pay, no formal recognition. The additional stock that management get is significant even if you're somehow able to negotiate a higher-than-usual salary.
The pros are that I've never had to do the bullshit HR stuff (promotion cycles, denying promotions, putting people on PIPs, etc). Everyone still has to do their bit in hiring. And I definitely took on a lot of tech leadership, mentoring and motivation.
Looking back, in at least one job in my career I hurt my finances by not going for the leadership roles that matched my actual impact at the company.
So why switch to management? Because sometimes whether you like it or not, your actually doing that job to fill a vacuum, so you might as well get the kudos and money for it.
modsKilledReddit69@reddit
Programming is grunt work
nikstick22@reddit
More money and hopefully they're good at it, if they have managerial skills. I definitely prefer bosses who know wtf I'm doing and how development works. They make more realistic project timelines.
antihero_antihero@reddit
Many people here who are EMs or Dirs forget to mention that manager is at the mercy of budget allocations. Your org budget can be cut and you will have to do layoffs, or you can lose politicalmgame and suddenly you are at risk of being abosrbed in different org
BuraqRiderMomo@reddit
The career progression is lot more easier than the senior -> staff -> principle path. I did not realize this when EM was thrusted on me. Many of my friends from that time are still staff while I moved to managing principles and multiple teams.
antihero_antihero@reddit
You got lucky that org is growing. Managers are at mercy of budgeting.
realadvicenobs@reddit
Because being a tech lead and/or staff engineer+ is low-key a sales job. You have to convince people in your org to buy in to your vision, and you also have almost no power in many instances. An EM allows you to still flex control over architecture and system design in many places, and also your scope is smaller so the blast radius is less if shit hits the fan.
butler_me_judith@reddit
Hahaha preach. My job is directly tied to how well I can influence dev teams. Social engineering is alive and well.
StrangePut2065@reddit
'Influencing without authority' - fun times.
talldean@reddit
In some shops, it's the only way to increase your salary past a senior engineering title you hit in the first decade. Especially true for places with software as a cost center instead of software being the core business.
In some individuals, they like working with people more than they like writing more code.
reddit_time_waster@reddit
Yup, money
talldean@reddit
I mean, I work for Meta; currently, I think the IC track is more lucrative than the management track, except at the very very highest levels. (Top... 0.1%?)
But for the bank I worked for awhile back, management was *always* more lucrative than IC SWE.
YMMV.
g2gwgw3g23g23g@reddit
How is that true? I know many mediocre technical people who got director+ at meta and there’s no way they could get that high as IC. Management lets you rng but as IC its easy to hit a wall if you’re not a genius
ltdanimal@reddit
Its almost like they are different career paths that require difference strengths ... I've been around a lot of people much more intelligent than i am that are ICs, but would be crap managers+.
g2gwgw3g23g23g@reddit
It’s very easy for an incompetent manager to move up the ranks if the company is doing well and they don’t have to make critical decisions. Try to let put an incompetent IC in the same position and see if they can build anything.
ltdanimal@reddit
Because ICs never get over promoted? I've seen it a hundred times.
I think management you can hide for longer if you have an amazing team but your post screams of the typical dev who thinks management is easy.
talldean@reddit
In a hypergrowth company, there's a lot of opportunities for promotion as a manager; if your team grows by 50% a year, if you can hold on for 5-10 years, yeah, it's going to go quite well, because part of how you're thought about as a manager is the size of the org you manage.
Industry isn't in hypergrowth right now; total headcount growth just isn't 50% a year. So as a manager, you need someone above you to leave when you're in juuuust the right spot, or what used to take a year or two may now take ten, or may just never happen.
But for an IC? The growth of headcount around you isn't a requirement - at all - for a promotion. 5-10 years back I would have said (for Google, Facebook, probably more) that eng manager was more lucrative; I believe that's no longer the case in the last 2-3 years.
robertbieber@reddit
I mean this is technically true, but that assumes you're able to reach and sustain E6+ levels, which is very much not a given for most ICs. E6 is equivalent to what, M1 in the pay bands? So just by graduating M0 and getting yourself put in charge of a single team you've already surpassed the terminal IC level. If you manage to eke out one promotion from there to M2, you're now at the equivalent of E7, which for most ICs is an almost unimaginably high level. I know there are some of y'all out there who are just unimaginably good ICs who don't think much of making it to E6+, but for most of us the M track roles are far, far more attainable
talldean@reddit
I think anyone who can pass the interviews has a shot at E6, given the right setup or time to look for it.
(I say this as someone who tried to go M-track for almost ten years at one point, and the opportunity didn't come up in that decade.)
robertbieber@reddit
I think that's a fair assessment, but then it kind of gets back to my point that we're comparing the top of the median engineer's IC track to the bottom of the M ladder
g2gwgw3g23g23g@reddit
I think lucrative is not the right word then. If you are very strong, then as an IC, there’s less RNG required to get high comp, I’ll give you that.
samelaaaa@reddit
At Google it felt like if you were ok topping out at L7-ish then IC track made more sense, but that it was probably easier to get L8+ on the management track. But given your flair it sounds like you have firsthand experience with that — are you a L8 IC? I’m super interested in your experience there as a current staff eng (actually interviewing for E6 at Meta rn). What would you say is the biggest difference in scope/expectations for principle versus staff?
talldean@reddit
I went L4->L5 at Google as a SWE, then downlevelled (weird choice) to TPM L4, was going to hit L5 TPM, went to Meta. Ran E5->E8 so far at Meta, and not interested in going further; this is (clearly!) enough.
For the ICs:
E5: pretty much self guided, you work projects end to end as a senior engineer, personal goals.
E6: that, and you either find problems we didn't know we had, or guide the full team at team goals.
E7: the problems you're on need multiple teams, and/or have full-company uplift.
E8: the problems you find and solve are org-sized (50+), and you find E7 wins across different spaces.
E9: the problems you find and solve are company-sized issues.
E10: industry-sized issues, and Meta has maybe a half dozen people at this level.
I think for E6/staff, it's much less political; you have a fixed team.
For senior staff (E7+), you generally need to figure out how to find volunteers for work; you often anticipate a problem, get it done through earned authority, and don't always wait for the official staffing to get figured out.
Alternatively, maybe 20% of E7+ are our coding machines; they don't rally volunteers, they just code things solo, far faster and far higher quality than you'd ever expect.
Or, looked at a third way, at E5, you get credit for what you get done. At E6, you start to get credit for what you *enable* getting done, but you're also starting to be responsible for the team as well; if the team does poorly, you're personally in worse shape. At E7, you get credit for what the *team* gets done, but you are *fully* responsible for preventable failures of the team. The "team" then gets larger as you go further up.
samelaaaa@reddit
That’s really helpful, thanks. I’ve been at other places where cross-team influence and decision making was the main distinction between senior and staff, so it sounds pretty similar and if anything E6 might intersect with senior at some places.
talldean@reddit
The total output of E6 at Meta is staff at other places; that said, *how* you get that output, Meta cares a bit less about.
You sustainably crank so much code that no E5 could do it, and the code has proportional impact? E6. Or you basically code as an E5 but set direction for a full team, so the full team does twice as well with you there? E6.
At the end of the day, for promos at Meta, it's still the scope of the impact, with two checkboxes applied; "this is sustainable" and "this person is decent to work with, for everyone working with them".
samelaaaa@reddit
Awesome that makes sense! I’m intrigued to see how the “sustainability” metric works since I know people there for whom their workload doesn’t seem particularly sustainable, and others for whom it does.
talldean@reddit
If your manager doesn't think you can hold your output, you're still likely to get a better performance review (a huge thank you for work well done). But if they think you're going to fall over, they won't promote you at the same rate.
Basically, if a manager gets people promoted, especially to their level or above their level, their performance review does a notch better. They get rewarded for growing people well. If the half *after* a promo, you absolutely splatter... the manager's performance review does a notch worse, and if that becomes a pattern, promos they support are going to get enormously more scrutiny, which also makes their job worse.
Performance reviews of greatly exceeds or redefines without a promo trigger a discussion, as well; is it the sustainability, the behaviors, or what's up with this being that high and not a promote-now to match?
TheGratitudeBot@reddit
Thanks for such a wonderful reply! TheGratitudeBot has been reading millions of comments in the past few weeks, and you’ve just made the list of some of the most grateful redditors this week!
Careful_Ad_9077@reddit
I work as an near shore consultant.
Some people have even insulted me when I told them that I make twice as much as my manager in the consultancy.
It's simple economics, he has a fiery level manager salary from the third world, I get an under Jr software dev salary from the USA.
talldean@reddit
oh, for some of the faang, I can sit next to my manager in SF or NYC and one of us will often be paid much more, but it's not always the manager.
wallbouncing@reddit
This in non-tech for sure. While this sub is typically more tech based, everywhere else IC roles don't pay the same as senior manager+ levels. Staff+ doesn't even exist in most places. Manager roles also put you into more of the business domain, you interface with many cross functional business teams depending on the team which gives you increased business knowledge which is key to advance.
I also think, at some point even people that love coding, also want to be in charge.
Then-Oil-1366@reddit
talldean@reddit
For where I'm at, IC and EM are paid equally at the same level; a team manager is the same as a staff engineer, senior staff is an org lead manager, principal engineer is a director, and so on up. There's a few VP levels that do not have an IC counterpart, but there's only a few dozen people that affects.
SASardonic@reddit
I kind of fell into my role when the rest of the team quit but there is something gratifying about building up a team and mentoring people
csanon212@reddit
Being manager the last 2 years has been weird from a talent perspective though. I'd enjoy standing up a new team and hiring, but I see no attempt to backfill roles
ScientificBeastMode@reddit
I think a lot of the execs in our industry are in a weird holding pattern where they don’t want to make the mistake of over-hiring after what happened over the last 5 years. And they especially want to wait and see if AI improves productivity enough to avoid hiring or even reduce their engineering workforce.
Right now, that’s not quite playing out as well as the hype would have us believe, but a lot of execs think it may just be a matter of time before that becomes a reality. So hiring is frozen in a lot of places until something gives.
floopsyDoodle@reddit
If you don't move up, some companies consider you stalled. Some people have the same way of looking at their career.
Good companies will allow both types as not everyone wants to keep taking on more and more stress, but then you salary increases will also slow considerably and, unless the company is really good, the way to make your salary grow is to job hop, which is another reason companies don't like 'stalling' employees.
CubicleHermit@reddit
That seems like a very naive view of higher level management; you are trading a more continuous and predictable sort of creative work with a LOT more politics and typically a huge amount of coordination, documentation in English (or the local human language) etc.
As someone who had a career detour in that direction, I'm not sure who would find that less tiring - it wasn't me, and even with things I really liked about being a first-level line manager, going to a manager of manager roles briefly made clear that it pretty much sucked all of those OUT of the role and left it with the politics and the sort of non-technical planning I didn't like.
It's very hard not to think "if someone finds this easier/lower-stress/less tiring than being an engineer or a hands-on EM, they probably should have just become a lawyer or gone into the management track at a non-tech company, because they were probably miserable as a SWE."
Good companies have a technical ladder beyond senior, and ideally, a technical ladder beyond senior that isn't just a manager-lite tech lead or a traditional architect role (although even having both and not just one is an improvement.)
Good companies have a career/terminal level (often senior) where people are not being pushed institutionally to go beyond - although you can certainly get individual managers who will still push people to go for Staff (or whatever the local >Senior role is called - naming gets inconsistent.)
tcpukl@reddit
This tech ladder is exactly what I moved over to after not liking the management/lead role.
I get more money, still program, and mentor, but it stops there.
CubicleHermit@reddit
I guess the question would be "what's the negative to it stopping there?"
tcpukl@reddit
It's perfect for me.
PhilWheat@reddit
Summed up as "Up or out"
CubicleHermit@reddit
Every tech company I know of with a formal up or out policy have a career/terminal level where it stops. That's often senior - although a couple it only applies to the new grad level or the first mid-career level where Senior is the fourth.
Companies where the policy is unofficial (or where they have an unofficial one after the terminal level) are often worse, as the rule is unspoken and often only applied if a manager feels like using it as an excuse to push someone out.
csanon212@reddit
I worked at a cutthroat company with an unspoken up-or-out rule. It was 5 years at a senior level, or 2 years at mid level. Some of the folks forced out ended up just fine (and grew their careers) later. Having bad scope is a real killer.
coffeewithalex@reddit
I don't get why society sees it as such a taboo. I want to live my life, not work my life off to some company. I get enough money to make sure that I have a place to live, food in the fridge, nice clothes, vacations, restaurants, savings. Why would I need to give up more time or mental health, get more tired, in order to get ... more money? Where does it end?
I love coding, but I like doing it for stuff that is mine, and not be judged by someone else about whether my decisions were time-efficient. Time efficiency is great for business, but it adds anxiety, worries, and more decision fatigue, that make this less fun. It's good to do it in order to be a more valuable employee, but at some point I'm like "nah, that's fine, I'd rather save the energy and do something for me".
There are other growths to consider: family, hobbies, communities, etc. My role model is this old corporate sales guy who left work at 5PM, in a black T-shirt, for 2 gigs per week as a DJ in a hipster techno club. Work pays the bills, but it's the rest that is important.
floopsyDoodle@reddit
You're forgetting, work is family! And like all good families when tehy don't need you at that moment, they throw you to the curb and never look back! "Family"...
SpeakingSoftwareShow@reddit
I wouldn't look at transitioning to management as "dropping out". They are lateral career paths, which require different skill-sets. Like yeah, I do miss hard-core dev work but it isn't always roses!
At the moment, I bring more value to an org as a force-multiplier for an entire team than I can do as a standalone dev. Sure I can write code and deliver products, but I can also organize and enable a team of 12 to do same. My experience as a dev helps me understand and translate to/from engineering, and is the missing piece that "the biz" and upper VP/C-Level often don't have.
Both paths are valid, and kudos to anyone who decides to stick with one or the other!
tcpukl@reddit
Money and career progression.
I went into a lead position but didn't like not programming and dealing with HR issues with managing people.
So I went sideways to principle programmer instead. Never been happier.
ganian40@reddit
Coding burns you out. Did it for 25 years. Still love it, but I wouldn't dare coding for others these days.
DefiantExamination83@reddit
So what’s the best way to pivot into management early on if you know that’s the direction you want to head into?
ganian40@reddit
Aside from in-depth knowledge of the field, knowing the company procedures and their culture/ working style, managers are expected to have some background on handling people, coordinating a team, controlling budgets (some finantials) and presenting/summarizing results. This comes with experience... especially the skills to communicate and deal with people.
Bigger companies usually pay an MBA so you learn it, or a 1 year course on higher management. Other people do it by instinct I guess. Your career naturally moves in that direction if you do it long enough.
Substantial-Click321@reddit
Ngl not in all cases but a lot of people become managers because they were just bad devs and couldn’t see themselves getting better hence going into management to get more $$
cscqtwy@reddit
I got started in it because I thought I could provide better management than the available alternatives (largely people who were overstretched on management already, or people being pushed to be new managers who weren't ready).
More recently I've stuck with it primarily because it pays more, though. I'll probably shift back to an IC role when my savings are in a more comfortable place.
Finald9@reddit
I’m in the same boat. In my company, there’s an implicit labeling of folks into being either task takers or task creators. At some point you get tired of being a task taker and get into management. Glorification of product managers have only made this worse.
solidgraystone@reddit
After getting married and having kids, my life’s priorities changed. I couldn’t keep up with the need to learn new frameworks every year. I couldn’t code on the weekends, and that meant a younger person would that could would eventually overtake me.
So I pivoted into my strengths: my social skills. I became a manager.
csanon212@reddit
I pivoted to management track before wife+kids route because I knew that unless I also found a spouse "in the industry" who would understand the hours needed, I needed to find something well paying and with decent WLB.
Not to say I wouldn't go back into an IC role, but it needs to pay as well for the same amount of work.
I also handle "management stress" way better than "developer stress".
As a tech lead, my tickets carried over because I was constantly putting out fires and helping others on the team, and I was on-call 24/7 FOR MONTHS AT A TIME with constant anxiety. (long story, I was running a "sunset" project which no one was going to support politically but served a significant amount of traffic for a F500's consumer facing app.)
Management stress is different. Boss needs bunch of design docs reviewed and approved, status updates on releases, dude #2 on the team is out sick, product manager needs help understanding a requirement. I can handle those because it's very structured. I can close my laptop and not feel guilty. If I get fired from missing some release date - whatever, I at least wasn't stressed out, and made better money than a developer.
solidgraystone@reddit
Solid explanation. I feel similarly.
kinkkush@reddit
Why would you need to learn new frameworks every year? Most companies run on outdated or stable frameworks that have been around.
solidgraystone@reddit
It’s not one or two technologies you need to get good at, that’s the problem. It was evolving too rapidly for me and I couldn’t keep up with the pace and have a good family life.
leafchet@reddit
This isn’t true at all, a great manager is very much still keeping up with the tech. Senior managers and directors at my company are still coding
csanon212@reddit
I feel like senior manager+ coding is an anti-pattern. If they're a senior manager, they are usually stuck in meetings 4+ hours a day and providing more strategic direction. If they're really coding actively, that's a staff engineer + tech lead + manager in one, for the salary of one person. That's an easy way to burn out or neglect one of those roles.
Colt2205@reddit (OP)
It was that way at the place I work for currently when I was onboarded. Currently, no one in management codes and I'm the only dotnet developer left at the company. Whole place is going Java and it's likely the end of the line for my time here. They even have this entire waterfall thing where they do quarterly releases, where as I was working agile and doing small changes that were easy to test.
Touch off topic there but just kind of on my chest at the moment. I miss my old manager who did code dotnet and working together with him. Taking over as a solo gig an entire multi-server system with a need to run two websites, test, dev, and prod environments, and a split between linux and windows VMs feels like I'm running in circles all day.
Engine_Light_On@reddit
In many non-tech companies the only way to grow fast is to turn into management.
So most likely it was all about the money, or maybe some naivety of what they would perceive of some status and that it would be less work.
Few-Impact3986@reddit
Even in tech companies, the management track is faster to a $ amount than the technical track.
anemisto@reddit
This. This first promotion on the manager track is way easier than the equivalent promotion on the IC track at my employer
CubicleHermit@reddit
I don't know about easier but it's at very least a lot better defined and somewhat predictable.
It also depends a bit on where the company aligns the manager roles.
FootballBackground88@reddit
It's definitely easier, at most companies. At my big tech company for instance, there is only one principal engineer for every 3-4 of the same level manager-of-managers.
Naturally, it's easier to get the management role if you're equally good at tech and influence/politics.
CubicleHermit@reddit
Companies vary a lot. There isn't even a fully common naming scheme for levels.
For example, is your comapny's Principal Engineer, Senior+1 or Senior+3?
Without talking about titles, there are more Senior+1 folks than there are the comparable management level, but it drops off after that very quickly.
Amusingly, while we were one of the companies that jumped on the bandwagon of having "flatter" management structures, in practice that mostly meant removing leaves and making a what had been the lowest level of managers-of-managers lead multiple teams (or very large ones) while there has been a proliferation of more of the first level of middle managers - what at most companies would be the first level of directors.
RoyDadgumWilliams@reddit
I think they’re implying that Principal is Senior+2, and that there are more Manager+1 than Senior+2, which is going to be true at most companies in my experience
CubicleHermit@reddit
Senior+2 would be someplace with Staff then Principal, and no Senior Staff in between. Not unknown, but not that common either
Also means that Manager+1 is considered the equivalent level as Senior+2? True some places in bigtech (Meta, my current employer*) but not others (Google, where it's still L5 for the base manager role.)
(* non-FANG but in the bigtech bubble)
Also edited the original to be more coherent.
Zangorth@reddit
Yeah, at my last company they promoted multiple seniors into management every year. I calculated the average time once, and it took about 7 months to get promoted from Senior to Assistant director.
Principles were clocking in at 2-3 years of Senior experience before they got promoted.
trashed_culture@reddit
In my mind, the tech tracks CAN get higher faster at the right companies, but most of that caps at mid career, and the really superior packages are few. Management also has a tight pyramid, especially in flatter organizations. So there's caps for most on the management track too.
rugggy@reddit
"all about the money" as if people coding up ads for fake pills or financial dashboards for hedge funds that destroy businesses are doing it for the love of tech and intellectual stimulation
woodwheellike@reddit
Preach!!!
Brilliant_Law2545@reddit
Or they just think leadership is more fulfilling for them. Stop judging and focus on your own career sweetheart
Engine_Light_On@reddit
Everyone that didn’t fall into the trap of being a people’s manager thinks it is more fulfilling. Only to learn the hours are longer, you need to be the bearer of bad news, and you spend more time playing politics than having fun coding.
LovelyCushiondHeader@reddit
"having fun coding" is peak low interest rate, "gotta learn the latest and greatest typscript-based ORM" web dev culture crap
Engine_Light_On@reddit
There is a world beyond web development and keeping up with the new shiniest garbage lib for frontend.
Hog_enthusiast@reddit
I’m too dumb to be a staff engineer but I’m smart enough to be a senior manager
Goducks91@reddit
This is me. I can also communicate pretty well lol but my technical skills will never be at staff level.
ccricers@reddit
Same here, I am probably not gonna make staff but I also find PM work too mundane to move to that area, even if I can handle a couple client meetings. It just lacks the kind of creativity to pique my interest.
I still feel I'm great at what I do in my position and just enjoy tinkering with things, and helping people i like. Guess I'm still somewhat of a kid in my approach to tech, and I don't want to give up a job that makes me feel that.
itsthekumar@reddit
Just curious why do you think your technical skills won't be at staff level.
Ragnarork@reddit
Not parent but I'm in the same boat.
One of the reasons I have is that I think I don't enjoy coding and the pure technical work as much as I used too (even though I like to still dabble in it). And going to staff level implies more of that in my mind.
I also see how much time I devote to sharpening my skills around making a team more efficient, solving people's problem, making ICs happy, and how effortless it feels to me, versus trying to improve technically, and how I have way less drive for that nowadays. In a way, I see that the stuff needed to go staff level definitely doesn't appeal to me as much as the stuff I need for management work.
Everyday_sisyphus@reddit
Relateable
jakofranko@reddit
Most of the staff engineers I know are also too dumb to be staff engineers but that didn’t stop them. So don’t sell yourself short 😂
Healthy_Albatross_73@reddit
Totally agree.
GrandaddyIsWorking@reddit
My previous boss was just more of a people person. He's genuinely just better at it than development and I mean that as a compliment
utilitycoder@reddit
Going into management is NOT moving up. Let's be clear.
Ritter-Sport@reddit
Idk why people in tech hate so much on moving into management roles. I find it a rather natural progression. You start with designing the small functions you work on then you want to have more say in larger scale designs and it leads to at some point being in a managing role. I understand if you love the craft itself and don't see coding as just a tool that you want to stay a developer. I just don't understand the hate towards wanting to have more impact on the larger system.
CVisionIsMyJam@reddit
u/utilitycoder is correct; it's not correct to consider moving into management "moving up".
In general, the IC track pays better, comes with more job security, is easier to job hunt for and generally has better work life balance.
If someone loves working as an EM, power to them; but its important to realize that walking that path is not all reward and does require sacrifices.
Companies love "flattening" their structure every 5 years or so, laying off managers & keeping their ICs. Many managers are promoted from within, making it difficult to find new jobs as a large number of manager jobs are never posted; whereas it is rare to not post IC roles. EMs are often also expected to come into the office more often than IC engineers. Furthermore, if an EM gets stuck with a bad team, it can be exceptionally difficult to exercise any kind destiny control, which can make work very stressful.
I say this as an EM myself; I think its important people are aware that being in management isn't just getting to have a bigger impact, it has a real and significant impact on the trajectory of ones career and not all of that impact is good; especially during tough times.
CVisionIsMyJam@reddit
it used to be a good idea to do so in order to make more money.
defenistrat3d@reddit
Those I know who made the change did so because they were burned out on keeping up with the tech. And the money.
leafchet@reddit
This isn’t true at all, a great manager is very much keeping up with the tech. Senior managers and directors at my company are still coding
defenistrat3d@reddit
You can keep up with trends without keeping up with the minutiae of a developer's day-to-day. I would actually say that a manager has no business tracking their developer's every line of code. Managers that wear both hats tend to wear both poorly. They should be trusting their engineers to make the technical decisions.
OctopodicPlatypi@reddit
Companies tend to make us do both until it becomes clear that it’s untenable.
Efficient_Sector_870@reddit
I'm surprised no one else is mentioning the most obvious thing: why do people manage after dev? Maybe they don't want to dev anymore... lol
Abject-End-6070@reddit
I think people get tired
william_fontaine@reddit
Over the past year, I get headaches just about every day at work. I often can't remember what I did yesterday let alone over the last sprint.
My memory seems to be giving out for some reason. So I wonder if I'll have to go into management if it gets bad enough.
Rtktts@reddit
Those are some first symptoms of burnout, my friend. Might take some time off if you can and look into mindfulness. Just saying… could save your life and stuff.. you know.
william_fontaine@reddit
Yeah, I've been burned out for a few years but seemed to be able to handle it well enough. It seems to be adding up though, so I suppose I'll take a few days off and see if it helps.
empty-alt@reddit
It's pretty common to have 2 career paths for a software engineer. You could stay on a technical path by climbing the engineering ranks. Or you could go into people leadership. From what I've seen, this conversation starts to happen when someone has been a "Senior Engineer" for a little bit. They could push for Principle or decide to go into people leadership. The best technical managers are these types of people. Your manager has an important role in shaping your career while you report to them, it's best to have someone who knows how being a SWE works.
Galenbo@reddit
Some people have to choose between becoming the team manager, or accept a 10-years younger newbie as manager.
relevant_tangent@reddit
Why would you care how old you're manager is?
gdinProgramator@reddit
I dont care how old he is, but a 25 year old does not have 15 YOE. And they almost always have the need to prove themselves by breaking stuff.
And those that say “I am not like that” they are the most like that.
Ok-Craft4844@reddit
I have more than 25 yoe, and heavily disagree.
In my experience, people arguing with X yoe were invariably those who got X times the first year, not meaningful experience. And I've seen inexperienced people failing, but to really fuck projects up, you need the hubris and unwarranted trust from higher ups only the phrase "15 YOE" can get you.
3May@reddit
what is a kid who was born when i started working going to tell me about managing a team, that i didn't hear from his grandfather when i first started? holy shit, just think about it for ten seconds.
relevant_tangent@reddit
Why would a manager need to tell a developer anything about managing a team? I seriously can't follow this conversation. Have you guys never had a good manager before? A good manager is basically a senior developer's personal assistant...
3May@reddit
that's an incredibly stupid take.
Specific_Body8930@reddit
If the guy with 20 years of experience has been coasting for most of his career then a 25 years old grinder can be superior. It all depends on what kind of people we are talking about
3May@reddit
apparently unicorns have entered the chat
sebzilla@reddit
I get what you're trying to say here, but you're not saying it very well, and you've dug yourself into a hole with your approach.
If you have an opinion on all this, you should just state it.
As written, you seem to just be challenging other people's opinions without providing your own, and that's typically what we call a troll.
Hence the downvotes and negative reactions. Perhaps you don't care.
To actually answer this question: A manager's role is indeed to support their team of developers (provide cover, help resolve BS so they can focus on their work, help with admin tasks, nominate them for advancement, etc) but it is also, often, also their role to mentor developers in the non-technical parts of their careers, provide them with advice or guidance on how to navigate company politics or work with other people and/or teams, etc..
If your manager has a lot less career experience than you, it is much less likely that they will be able to provide you with that second set of things, even if they are able to do the first set just fine.
relevant_tangent@reddit
Thanks for adding a constructive response. I thought I was being constructive myself, but I'll try harder.
I'm not against that an experienced manager is better at some tasks than a less experienced manager, just like for any other profession. I'm against the implication that specifically she disparity should have any significance.
First, it's a strange dichotomy that an experienced developer should become an inexperienced manager or be forced to deal with one. The managers you get depend on your luck irrespective of your seniority or age.
Second, specifically to the OP response, if you h have 20 years of experience, and your manager is 10 years younger than you, that's an experienced manager.
T-shirts, to your specific print, the older and more experienced you are, the less value you get out of mentorship from your manager. Dealing with the non-technical BS is precisely what I need from them.
sebzilla@reddit
With age comes life experience, that's just a thing that happens. Effective people management requires empathy and a good understanding of the human condition, and also of how that maps to company structures and policies. And this isn't the kind of thing you can learn quickly or from theory.
It's not impossible, but certainly more unlikely, that someone younger will have a lot of this kind of work experience, and well-developed empathy.
In my 30+ year career at.. almost 20 companies (huh), I certainly have not observed young people having, on average, as much or more empathy than their older colleagues, or having a better understanding of what makes for an effective developer beyond the technical skills.
In particular developers tend to be cocky and "logical to a fault" when they're younger, believing that technical merit and clever work trump everything else in software development. That may be true in isolation but in a company made up of humans, it's rarely the case.
Again not saying it's impossible but we're speaking hypothetically here, so we should be thinking about the averages.
I have seen this many many times though (and it seems like many other people in this thread have also.
Developer and manager are very different skillsets. In fact I would say that a developer's technical skills are the least important skills they have when determining if they will make a good team manager.
As many others in the thread have said, a lot of companies suffer from the lack of advancement options for senior developers and so after a time, those developers go into management simply for pay advancement, and then find themselves in a job they don't like and aren't good at.
Agreed, but that's not really what was being discussed in previous posts. It was about an experienced developer finding themselves managed by an inexperienced manager.
In this situation I think "experienced" and "inexperienced" is a combination of actual age and job YoE (probably more YoE but both matter in the context of people management).
behusbwj@reddit
Part of a manager’s job is growing the directs. 3 yoe manager will not be able to effectively grow a 10 yoe senior engineer, but that is the position many people are put in.
myevillaugh@reddit
I've found managers under 30 haven't seen enough and overreact to everything. They don't push back above them. But they got there by being very good at managing upwards, so they do well for themselves.
PineappleLemur@reddit
It's not the age.. it's the experience they have and what they bring to the team.
Do you want a manager that has no technical background but is telling you to simply "go faster" without understanding the challenges?
ltdanimal@reddit
Agree with your first sentence but that's a pretty dumb straw man at the end.
Alternative_Arm_8541@reddit
I've had plenty of non CS managers and they couldn't understand the problem and had a 2 question management style "When's it going to be done and Who should I assign to this so it gets done faster?
TheCarnalStatist@reddit
Frail egos. If you're in your 40s and continue to be an IC you should expect the chance of your manager being younger than you.
rorschach200@reddit
I don't want to be a guinea pig for a never-been-a-manager person with 10-years less IC experience to trial and error their way at being a manager on me. That shit was tolerable when I had < 5 years of experience myself, when I have >= 15 I'm not signing up for that.
Efficient_Sector_870@reddit
lots of non-descript reasons
foodeater184@reddit
There's a point where you get tired of the minutiae of coding, constantly shifting APIs, ever-changing requirements and want to address the root people/organizational issues and making things better for the people who are more interested in coding.
jakofranko@reddit
I’m kinda walking that line right now, and for me, the problems stop being interesting after a certain point. Apps are basically a UI, a CRUD API, and a DB…everything else is mostly a variation on that theme. Maybe you need to handle cron or batched jobs, maybe the data sources are a little more complicated or varied, maybe you got lucky and have some interesting data visualizations that for some reason can be implemented via a standard library. But at the end of the day you’re kind of just storing tabular data and then displaying it.
The more interesting problems in software engineering are a lot harder to find. I love making games, I think games have some of the most interesting problems to solve. But it’s hard to imagine a salary high enough to be ok with the amount of abuse game devs take in studios. Interesting ML jobs usually want advanced degrees in statistics.
For myself I found that most of what I love about programming is learning and solving problems. As you progress, the learning that is directly applicable to work problems slows down…I’m reading about algorithms and game programming patterns and graphics programming for fun in my free time, but I’ve already learned the programming language and related tools that I’m using at work. The coding work also slows down; for me what was shocking is that I almost stopped coding when I became a senior engineer. Meetings, architecture, mentoring, and “direction” is more valuable than my ability to code even as just a senior engineer.
So I’m kind of at a point where I’m like let’s just drop the pretense and give me the role power to hire/fire/incentivize the engineers I’m leading, and a pay boost. Don’t act like you’re paying me to code. If I want to code I’ll do it in my free time where I can do something actually challenging and interesting. I’m also weird in that I have strengths as a communicator and mentor, and those are often skills other engineers lack, so it feels like I actually have something to contribute on those areas.
Hopefully the perspective makes sense. 5 years ago I would be horrified at the idea of going into management too.
barkbasicforthePET@reddit
At some companies there is less opportunity for growth as an individual contributor vs management. Higher leveling as an individual contributor is actually relatively new. You used to be shoehorned into management if you wanted to level up.
pa_dvg@reddit
Director here. About 10 years overall of managing people.
People think it’s money. I can tell you that money is a terrible reason to go into management because it’s not there. In fact you may be out earned by your direct reports depending on the exact mechanics.
Sometimes you get a bigger bonus target, but it’s far from guaranteed that you get it, especially in this day and age.
I used to be on a management track early in my career and I hated it. Endless meetings about the same topics over and over and over again and barely seeing the people I supervised. Never again I said and moved to an IC role.
Then years later I built some cool tools to do some stuff like manage test data in our environments, and the company wanted me to do more of it so they gave me three people.
This was the start of the best job I ever had. I was the manager, but I was also really leading a team in a direction I chose, with minimal company oversight other than to be made aware of where there were problems that needed solved.
I was also the product manager and that opened my eyes a ton.
Then eventually something unexpected happened and I found myself with a young person who wanted me to mentor them. Something I had never done before.
I worked with them for 9 months and eventually was able to hire them as a junior developer. She got into the career with no debt from school or boot camp.
Then her friends showed up and asked me if I could teach them too. I started a class.
Soon I was running my own bootcamp across the company and doing the most spiritually fulfilling thing I’d done up to that point or since.
All while leading my little team, becoming a better EM, PM and mentor along the way.
All good things come to an end though, and eventually got reassigned to something much shittier and less empowered.
I’ll spend my entire life trying to recapture the magic of those two years.
But I can tell you for the manager, the highs are very high and the lows are very low. Nothing you can do in code compares to handing someone a well deserved promotion, or helping them find their calling.
But nothing also compares to letting someone go. HR and red tape also are a huge drag at bigger companies.
I’ve never known a manager who wanted to be the richest and most powerful person in the room, but I know a lot who just want to be a good leader for their team mates.
Today, I’m at a startup with a small team again. I have three direct reports and two of them followed me from other companies we worked at together. I get to work with them closely every day and it makes me happy. But I also get to essentially play the role of the principal engineer and have broad discretion on what we build. It’s a great best of both worlds role.
octopus4488@reddit
Yepp, same here.
As a senior dev I spent half of my day on productive stuff, the other half on useless sync-meetings and complying with nonsense rules that were put in place to solve problems that no longer even exist.
As a manager I spend my half of my day doing productive work, and the other half on making sure sure my team gets to do useful/impactful stuff 95% of the time.
ksolomon@reddit
For me, it was burning out building WordPress themes. I can do one in my sleep at this point (and probably have at some point in the last 20+ years), so there’s no excitement in it any more. Once we started hiring more juniors, we needed someone to take the reins since my boss didn’t want to handle the day-to-day. I had the dev experience, just didn’t have any management experience, so the transition was painful in the beginning…it helps that we have a good team, and the “kids” (the oldest junior is the same age as my daughter, and I’d already been a dev for 10 years when the youngest was born. The joke in the office is I’m the dad of the web department 😂) know what they need to do with minimal oversight beyond code reviews, etc.
That also coincided with me rupturing a tendon in my hand, which more or less meant no dev work for 6 months…I still did the occasional work, but it was one-handed, and SUCKED…it’s better now, but my speed fell WAY off since the middle and ring fingers on my right hand don’t work as well as they should, and they’re as good as they’re ever gonna be at this point.
MiataCory@reddit
I love coding and making scripts.
When I do it for work, I don't love it. But, knowing how it's all supposed to go together has value, and they pay better than coding.
So, now I code for fun and "don't code" for work.
rugggy@reddit
There comes a time when code and technology lose their luster.
When you try to master something but the target of what to master changes every 6 months, technology loses its luster.
When you want to feel meaningful in life. When you outgrow your self-image of a 'nerd' and start enjoying interacting with other people, and discover that you've been toiling in the dark, unknown, anonymous, unappreciated, unheralded, and without the pleasure or benefit of being part of team or community, technology work loses its luster.
When trying to code is 90% an exercise in figuring out half-baked frameworks with little or no documentation, unpredictable stability, and occasional surprise breakages in the dependency update cycle, technology has a way of losing its luster.
People outgrow all these shenanigans. When you can move out of the muck and find equal or better income doing something different - you pounce.
artificialbutthole@reddit
This should be the top comment.
jonnycoder4005@reddit
40+ married w/ 2 kids. I've been writing software for 20+ years. My brain is tired.
artificialbutthole@reddit
I don't know why this isn't being upvoted more. Some people just don't really like coding that much. It is just a job.
TheCarnalStatist@reddit
I got tired of being informed by people above me about what I was supposed to do. The decision making is the part of SE I enjoy the most. Being the one to make decisions that everyone else implements requires not being an IC. I'm fine that a fine tradeoff. Some don't, that's also fine.
par72565@reddit
Impact - as a programmer I can directly deliver my code and can influence the other programmers with whom I work. However ultimately, given experience and tenure, you’re asked to review a project proposal or to parachute in to a project in trouble. That’s when you start asking - who made the decisions that resulted in us being in this mess?
When you see a team, yours or another, that are not following good practices. No QA; frequent releases that crash; users unhappy with what was delivered. Programmers like to delve into why/how things happen; we tend to be good at decomposing things into understandable pieces. We tend to be very analytical. Those same skills translate well into trouble shooting and setting direction.
Fact of life: when things go seriously wrong programmers are rushed in to fix it; people worrying about progressing up the management path run the other way. Office politics dictates that you not be associated with failure - even if it wasn’t your fault. The result is that the programmer who dives in and saves the day stands out & may be promoted as a result.
3a. Disasters can be opportunities; if you help the company recover quickly you’re a hero for a little while.
Some Programmers are good at self assessment. They see that they will always be a middle of the road programmer so they opt for a role where they can be better than average.
MONEY - excepting the opportunity to go public or a substantial share of revenue - programmer salaries top out. Large Companies use salary survey data to determine pay ranges. HR is tasked with paying enough to keep you but just enough. People tend to stay put if they are paid 80% of the ‘market rate’. However - take a managers job and you’ll likely get paid more than the programmers you manage.
Burnout / technology change : not being given sufficient time/resource to fix the system resulting in lots of unplanned failures. Your life is not your own ( a sample story below ).
Large hedge fund that ran a 10 hour overnight process. The process had zero quality control so every time there was a required piece of market data missing the program crashed. That meant somebody got woken up to diagnose and then fix the data problem. And this happened multiple times per night. Since it didn’t inconvenience management they didn’t care.
Those programmers would burn out quickly - especially if they had prior experience. So the company hired newbies out of school that didn’t know any better.
Resolution: new Head of development hired. Learned about the problem. Stopped about half of new development and focused the team on QA testing the existing software and improving quality. One quarter later: the system identified any missing data before the overnight process was started & the performance improvements meant the program ran in under two hours ( down from 12 ). Rather than being woken up each night the operators completed their work by 7pm each night.
Result: better environment for operators and programmers who then had time to do programming rather than constant debugging.
Career opportunities : often programmers come to understand the nuances of a business better than people working in the business itself. This is because the programmer sees all the edge cases and things that can go wrong. I know a lot of programmers who built derivative trading systems that became derivative traders because they understood the products intimately.
Retirement - many programmers make enough money to retire early. Others just make a good living but then coast into retirement. The latter can be very good at looking busy without doing significant programming. “Still looking for that elusive bug!”
splicer13@reddit
Unless you work in a field that is really interesting, dev stuff can get boring real fast.
Interesting can mean different things, like solving problems that resonate with you to hard CS problems.
artificialbutthole@reddit
ITT:
birdparty44@reddit
I’m wondering what’s next as a one trick pony: senior iOS developer.
I probably need to spend time becoming full stack to know a bit about everyone’s challenges before I’d move into management.
I think I like the idea of my job being more conceptual and people oriented rather than the daily grind of writing code.
Having said that, I’m finding AI assistance a breath of fresh air! Now I can just specify what I’d like it to do for me, review, refine, repeat. Much less grind.
detroitmatt@reddit
it's not just about $$. Most of the people in this field will be working for a business that sells a product. We might be driven by an interest in technology, but the business is interested in selling a product. Product management skills are what the business knows how to engage with (and reward). Your career is helped less by your technical ability (although you do need technical ability) and more by your ability to take responsibility for outcomes and deliver those outcomes. Viewed through this lens, we can see that the product owner has a greater ability to take responsibility and deliver than someone who actually writes code. It doesn't matter that what they're delivering is essentially code their team wrote.
From a more abstract political perspective, capitalism is about ownership: you have owners, and you have laborers. Owners are on top, laborers are beneath them.
dmazzoni@reddit
A lot of people are saying "money", but sometimes going into management really is the best way to tackle bigger problems and have a bigger impact.
If you've been working at a company for several years, you have a lot of expertise and ideas for how to make the product better, there's only so much you can do as an individual contributor. As a tech lead you might have more of a say, but there are still limits. As a manager you have an opportunity to really deliver something much bigger than you could as an individual.
Some people really enjoy that. They like tackling even bigger problems and taking on the challenge of how to get a bunch of people to function effectively as a team and make big things happen.
darkapplepolisher@reddit
Even as a mere senior engineer, I find myself gravitating towards management oriented tasks, simply because the biggest obstacles in the way of productivity for my team tend to be more systemic/organizational than technical.
That said, depending on your relationship with your manager, you can find ways to tackle those problems from either role. I don't have to be the manager in order to take some of those tasks off of my manager's plate.
nanotree@reddit
This is the only reason I'd consider it. I'm older now, not the 20s or even 30s something programmer. I still got chops, and get better, faster, and more elegant as I polish my craft.
But recently, I've found myself interested in office politics. More because I want to under the forces that prevent me from implementing the product that would actually be hugely valuable to the company. I've become more vocal and "step out of line" to speak up when the business is doing nonsensical things because they don't understand the technology they are selling and don't come to the engineers to talk and strategies.
I'm interested in changing the culture of corporate software development, at least within my own company, into something that is healthier long term. My company's current strategies will burn and burn and burn resources trying to gain an edge before trusting their engineers' ingenuity. And it's just psychotic, panic driven, fight-or-flight all over the place all the time.
holbanner@reddit
I'm not sure I've ever seen a manager fix something. I do believe I saw one try, but I sure as hell saw a lot of them being the problem
BoysenberryLanky6112@reddit
This. I've stayed on the IC path and am currently a tech lead, but one of the reasons I left my previous company which was a tech startup was the CEO, CTO, and tech managers were the only ones making real decisions around the work that was actually done. I spoke with principal engineers who said they stopped proposing tech improvements because management didn't listen. But if you were a manager, a job that was much easier to get than even staff level, you had the ear of the CEO and could influence the tech path the entire company went down. Many people would rather be making tech decisions than doing day to day tech work, and management is a much easier path to gaining that kind of influence that can really change/improve the path of your company/team.
misterlumbergh@reddit
This was my reason for transitioning to EM a year ago after four years at my current company, I can have a way bigger impact than as an IC. I had a lot of things I wanted to work better than under our old manager, and now I can see through changes that need to happen. I am a force multiplier for my team.
It's not that I don't like coding anymore, but there are certain things that I feel passionately need to be adressed that I now have a chance to affect. Things like culture, product direction, strategy, workplace behaviour, scalability, and most importantly: Making sure my team enjoys coming to work and thereby staying productive.
The money is a nice bonus though.
FoodIsTastyInMyMouth@reddit
Bingo, plus all those pet peeves that annoyed me as a developer? I can quietly task someone to resolve them behind the scenes.
dmazzoni@reddit
I think there are two different categories.
There are some boring administrative tasks that I prefer to do as a manager to shield my team members from needing to worry about it. I feel like my job is to make them more productive.
However, if there are annoyances that can be fixed, it's definitely part of my job to reprioritize. I can ask someone to drop other responsibilities and take a week to fix a flaky build pipeline, which will make everyone more productive and happy in the long run.
guareber@reddit
I fell into it after a previous boss departed and turns out I'm decent at it. I figured I could try and be one of the decent bosses, and those are rarer than the decent engineers.
benabus@reddit
In my case, I kind of hated coding for a living. I like doing a little here and there as a hobby and I've always been very good at it. I just really hated doing it for other people. When I got a chance to lead, mentor, share my experience, etc. rather than actually hands-on coding, I jumped at it.
Also, a good manager is still "in the trenches". We just fight with other managers rather than fighting with bugs.
Unlucky-Impress-9517@reddit
Because they are demented and mentally sick.
zagguuuu@reddit
I've noticed a lot of developers end up shifting into management roles, and it’s something I’ve been thinking about. Some of my connections who were super passionate about coding hardly get to write any now, and they often say they miss it. I wonder if it’s just something that naturally happens when you take on more responsibility — like moving into an architect or director role. Or maybe it’s a company thing, where there’s not enough staff, and someone has to step up.
ConsulIncitatus@reddit
One word: latitude.
As an IC developer you are simply commanded to work on whatever management decides you should work on.
As a senior leader, I choose what to work on, when, and how.
I report to a CTO. He never tells me what to work on, what my deadlines are, or how to achieve results. We work together on big picture stuff and I decide how we achieve it.
That level of freedom and power is something I will never, ever give up willingly. It is so much better than being a developer with agency only on how you write the code - and even that is a luxury in a lot of shops that is robbed from you by oppressive code reviews.
Plane-Parking-5048@reddit
A good engineer is one that can write code. A great engineer is one that is a problem solver. Some management roles go beyond people management, some are also involved i technical decisions. My reason for moving into management is that I got tired other people making the wrong decisions for a product I was eventually responsible for delivering
AJobForMe@reddit
In my current and previous companies, management had access to higher pay grades than devs, with far less day to day stress.
I’m not the type to hop ship and relearn a new matrix org and political landscape at a new job every couple years. I’m not knocking that, quite the contrary. I see myself as deficient because that gives me anxiety. So my path to more money was management.
20231027@reddit
I'm a director.
Unfortunately most of the projects I am interested in are only available to management. I am involved in acquisitions, annual strategy planning with sales and product management, setting up new locations, buying expensive techs, hiring consultants/ leaders/ new teams
magicSharts@reddit
I became a director from founding member in 6 years. Frankly speaking, there was no other way to grow The biggest challenges the company was facing were non technical and people related. I just went with the flow.
Now I am questioning my decision to switch to management so early in my career.
WishboneDaddy@reddit
You don’t need to go into management to have a happy, well paying career.
But make no mistake, Architects and directors are also in their own type of trench.
Emotional_Act_461@reddit
I switched because it’s less work. I get to tell my team what to build, then they demo it for me, I make suggestions for revisions, then they show it to me again, and I sign off and deliver it to the stakeholder.
So I only have to work about 20 hours a week. Also my salary is nearly double.
Aware_Magazine_2042@reddit
At a certain point in your career, if you’re a good engineer you realize two things: 1) writing code is actually really easy and 2) most problems are not technical but people and process problems.
Just this past week I spoke to a fellow staff engineer because I felt like I was writing a lot of really easy code, and I wanted someone else to gut check me that I’m writing too much. I spent maybe 6 hours in this PoC and he agreed, it was a lot of really simple code that I probably should write. Sometimes it’s not about the code you write, but the code you don’t write.
The week before, we were talking to another team where we were discussing goals and vision for a similar PoC. This went no where because the other team disagreed with our direction politically. Because of this, it led me to explore that PoC that I was talking about. It’s about aligning people around a solution, but sometimes those people don’t want to.
Once you realize these two things, a third realization follows: you’re more effective when you can help people not write code and align people around a solution. Once you realize this, management is a natural choice. You start working towards leadership in one way or another.
The problem is that a lot of companies don’t have an idea of IC leadership (“staff”, “Principal”, etc), so going into people management is the only way forward. There’s a lot of overlap between a Staff+ role and a people manager role, to the point where people outside of the tech world doesn’t really get where the line is (heck most inexperienced managers don’t know where the line is tbh). I like to describe the role like you’d talk about a ships crew. The manager is captain telling you where you’re going, while the staff is the navigator telling you how you’re going to get there. Most companies make the captain and the navigator one person.
butler_me_judith@reddit
Experience is another one I dipped my toes in MGMT for about two years to make it easier for me to become an architect. You learn a lot about how orgs and people work as an EM and how to effectively communicate.
MemesMakeHistory@reddit
Similar to other points made, many non-tech companies don't feel the need to have very senior ICs. It could be that management is more technical at those companies and/or the technical problems do not require deep expertise.
mikedensem@reddit
Two reasons: 1. Your last decade is when you make real money, and real money is in management. 2. You slow down as you age, so your plasticity and agility wane. It’s like an athlete, you have to move aside for the next generation at some point.
Puzzleheaded-Fig7811@reddit
Speaking with a lot of younger (therefore more recent) managers, I can tell you it’s usually money, status symbol, and being tired of constantly upskilling themselves.
I’m not saying this is a universal answer that applies to everyone, just the answer that I hear the most.
Tenelia@reddit
Because the realisation for me was that putting our heads down in the trenches and "letting management figure it out" was killing us.
So I got into management.
pwndawg27@reddit
I went management because I really only got into SWE for money and because the other disciplines weren't hiring in the US unless you magically came out of college with 3-5 years.
I really don't like having to keep up with every new trend of "simplifying" web hosting and backend (where I seem to keep getting stuffed into) is genuinely uninteresting to me. I'm decent but I have no desire to become a sql k8s platform guru and I really don't want to keep having to babysit servers all night. I'd go back to frontend if I could but most roles require full stack or like a million years on react (I didn't specialize in react) so I guess I'm doing this now... that's capitalism for ya.
Anyway, management after 3-5 years of stick time as a dev doing more strategic guidance type work not having to care about what happened at the last kubecon or what design pattern is best for some crud app and I've made more money with no on call responsibility so that's nice.
DefiantExamination83@reddit
I sent you a message about moving up into management
krywen@reddit
I just like it, managing people, caring about their careers, but there is more. I could have never understood how a company works just by writing code (how stakeholder interact with each other, which teams the CEO REALLY cars about, what are the power dynamic across teams, how to fundraise, etc), I understood all these because by managing I went broad instead of deep.
Def not for money for me, since I always manage engineers paid more than me and I'm less employable.
Also I feared being hyperspecialised in some technology or area, I thought at the start that managing skills would be more reusable across companies/industries, which is true, however I found that at the moment EM interview are twice as hard: you have all common coding/tech interview PLUS all the management specific ones.
Astrosciencetifical@reddit
Taking a manager position can ease the burden of constantly spending your free time to keep up, and to deliver tangible stuff. Also many companies don't have much of a career path or salary increase if you stay in development. You will also find that those who never really take dev seriously or just don't have skills will go for management, so you could find yourself managed by such a person. I think I speak for all developed that it is very demotivating working for manager who does not understand or put any value in what you do. So you might just take such a position yourself, and then build interresting stuff in your private side projects.
audentis@reddit
I noticed my strengths are utilized more as an EM. I enjoy doing things where I contribute, so naturally gravitated to this role.
I'm better at breadth than depth, and can deal with uncertainty relatively well. I can keep track of a lot of moving parts, and I excel at combining information from all sorts of different sources (primarily team members, but also customer requirements and documentation) into one trade-off. Meanwhile this is opposite for most team members: they are better at depth than breadth, and don't like the uncertainty from my role.
I do some work that makes it to production, but it's never work on the critical path.
Besides, at our company most management roles aren't superior to the ICs in the org chart. We're just the glue that keeps everything together. It's a different kind of workload but doesn't determine seniority - although some minimum amount of seniority is a prerequisite for the role, being EM doesn't make me their superior.
travishummel@reddit
I was an IC for 8 years and the EM for the last 2. I think it started as curiosity and grew from there. Sure I miss coding, but I’m still active on code reviews.
I think the best part is that if I get 2 people promoted, then it feels like I got promoted twice. It’s awesome when you feel like you contributed to someone reach their goals. Sucks when it goes the other way.
At my company you need to be an L6 Eng to become an EM. My theory is that if my goal was to become a L7 then it’s faster to go L6-> EM -> L6 -> L7. As an L6, you don’t get to see how people are evaluated. Once you see it, suddenly it’s obvious.
coded_artist@reddit
Money, Knowledge siloing, then interest.
BanaTibor@reddit
Being a dev is not just coding, especially when you are a senior dev or higher. From senior and above you attend more meetings and coordinate people than code. After a time it is like MMOs. I was into World of Warcraft for a long time. Still miss it sometimes, and thinking about getting back into it. Then I recall how really it was, some fun hours and then countless hours of mindless farming this and that. Programming is fun, if you only consider coding, the other activities are not so much.
canihaveanapplepie@reddit
This isn't my forever career. At some point, I'm going to do something completely different. In the meantime, I see projects being run and devs being treated in the same shitty ways (often worse) I complained about when I started out.
Except now, in management roles I can do it better or actually learn the reasons why things have to be that way and communicate that to my team better than it was to me. In reality, it's a bit of both. I miss getting to spend most of my time building stuff, but this is personally rewarding in a way that doing what I was told despite knowing it was the incorrect or least efficient way stopped being a long time ago.
Plus the pay is better. More stress and loads more meetings though. And I get to build a broader range of skills and a network for whatever I do next.
Alternative-Wafer123@reddit
The trend is to reduce mid lvl management nowadays.
ched_21h@reddit
For me it's because I believe that I can bring more value as team leader / EM than an IC. It turned out that I like interacting with people and building the process more than coding. I still can keep up with the speed of new frameworks and technologies - but I don't find it interesting anymore.
mistyskies123@reddit
For me:
Plus debugging people and people-based systems can actually be fun.
Nosferatatron@reddit
You get promoted to senior dev and find there aren't many next steps that allow you to keep coding. Even senior positions come with responsibility for others
shokolokobangoshey@reddit
Being a manager is the surest way to have some modicum of real autonomy in this business. If you have preferences for how things should be done, interest in influencing the day to day and long term, you can’t beat management.
It’s why/how I got into it. Years ago, My outgoing tech lead had done everything to get me to apply for his position, and I refused. He got me with “you know all those ideas you have about how we should XYZ, this is your best shot at making them happen. You have no idea who’s going to wind up in charge if you don’t try”. I wanted to change our ancient build system (Ant); hated how much bloated custom frameworks had dragged the developer experience. I applied, got the job and made the changes I’d been aching for
ProgrammerNo3423@reddit
Many reasons but probably money and the ladder is the biggest reason. You're told that the next step after being a senior is to go into management so that's that. Also, Some people also aren't confident enough or smart enough to go into the software architect job or don't know to do that, OR the opportunity to be one isn't there.
Devel93@reddit
Less quantifiable work and less accountability
K33P4D@reddit
As they do, people get corrupted by power, that's a part of growing up
fostadosta@reddit
I'm looking to transition into management in coming years. I just transitioned into faang and I notice some waay younger colleagues much sharper then I am. I also don't think I'd manage the stress and capability needed to be staff+. However, I have good people skills so I'm looking to cash in on that for long game.
PositiveUse@reddit
Some people have intrinsic motivation to / have the need to feel some sort of career progress.
Also: money
vi_sucks@reddit
Money and career growth.
There's a bit of a bottleneck with staying purely as a sole contributor. Theres a ceiling for where you can grow since it's hard to justify why you should be paid more to do the same work.
And even if stick on the Sole Contributor track, once you move from Senior to Staff or Principal or transition to Software Architect, you spend most of your time on broad design and strategy and less on actual coding. Even if you aren't managing people, you're still managing projects and overall plans rather than being responsible for direct implementation.
CyberDumb@reddit
Isn't it a little bit idiotic? In my experience, in my field, the average developer needs at least 8 years of(worthwhile) experience to write good code. Killing developers so soon means a lot of bad code .
SessionPale1319@reddit
Depends on the developer and their scope. Full stack I could see 8-12 yrs. If you work 2 or 3 then good code is just attention to detail and understanding of principles.
CyberDumb@reddit
I am in the embedded field and the amount of knowledge you need is vast. From hardware all the way to low level code in c, then c++ if the app is complex, OS fundamentals, testing, CI/CD, low level web for iot, then something high level for modeling like python/Matlab , DSP, git.
I have 7 years of experience and some of the above I am just familiar with.
vi_sucks@reddit
Sure, but in the context of a 40+ year career, 8 years isn't that much.
catch_dot_dot_dot@reddit
Your first sentence is very interesting. I often put a lot of issues into that context but I think a lot of people on Reddit are high earners (and American) so they think of their career as only 20 years instead of 40. I'm Australian and I don't know any software engineer or manager who has retired before 60.
DandyPandy@reddit
Don’t base what you hear on Reddit as what is the norm in the US. We aren’t all raking in $500k+ a year. Not everyone works at a FAANG. And the people who do usually don’t stay for more than a couple of years because they burn out. Startups are a gamble.
With over 20 years of experience, I’m not anywhere near the point of being able to retire. I’m shooting to retire at 65. I make a comfortable living. I can afford to take the family (two adults and three kids) on a nice (not luxury resort nice) vacation each year and a couple smaller trips for me and my partner. We own a modest home in the suburbs, two sensible cars, and we save a very responsible amount.
Most of us are working till normal retirement age. We make good money, but not necessarily retire early in luxury money.
catch_dot_dot_dot@reddit
Thanks, I probably needed to hear that to put everything in context. Sometimes it feels like I can't relate to other engineers in this subreddit.
Theoretical-idealist@reddit
I feel I definitely want to be sole contributor. Management is awful. I always feel unworthy of my position though, but I have no idea what is expected. It’s a very strange game. Java is always strange though.
carc@reddit
Management isn't so bad -- if you like building high-performing systems, it can be a jump to building high-performing teams that build high-performing systems. It's just a layer removed from the process.
Think of it as building an interface between two systems, but instead of a technical implementation, it's a process and human implementation. You're basically just wiring up the business needs to the execution of those needs, and the process is the contract to make sure the requests match the responses.
Neuromante@reddit
But eminently, building a system is not the same that building the people who build that system. Some of us want to "get dirty" and "be in the trenches", as OP said, because we feel more satisfaction from actually doing something than directing people do lots of somethings and losing contact with the "actual work", so to speak.
And for many of us, we just don't want to deal with people management either because we are not good at it, or because we just don't like it.
It's weird, because nowadays all serious companies offer a "management career path" and a "technical career path" precisely for that reason, but in the end the "technical" one is just management with a different perspective.
fruxzak@reddit
I've found that most places that offer higher level technical roles it's just doing two jobs.
Also it's much easier to get promoted as a manager.
Neuromante@reddit
There is nothing wrong with that. People forget that writing code in a team and managing/directing teams comprises two completely different set of skills and usually different types of people. The Agile BS (sorry, the way agile is implemented on most companies) kinda forces that (You got to do a demo in front of the client!), and it seems everyone has taken the kool-aid.
And honestly, I'm looking down that same path. I'm in a position in which there's already way too much business discussion and pushes from everyone to do this or that for my taste, and for me its going to be either stay as a Senior or switching to something completely different.
Odd_Lettuce_7285@reddit
The challenge w/ managing is dealing with different archetypes and personalities. Everyone has wants and needs. That can be a bit draining on your soul.
forgottenHedgehog@reddit
And those roles are less transferable than management.
Whatdoesthis_do@reddit
What about the burnout rate? Have you ever seem a 65 year old developer working in a team with those half his age? Writing code is, to a certain level, a young mans game.
Im close to 10 YOE, and the burnout is getting closer and closer.
git_nasty@reddit
I may do it at some point in the distant future.
polacy_do_pracy@reddit
I want at some point to play Dwarf Fortress irl.
Paul721@reddit
Well there’s a few reasons. Some are based on actually enjoying and relishing in being a great manager, getting the most out of others, being a force multiplier. Others are based on perceived opportunity and career growth. Also a fear of not being good enough technically to grow on the IC track. Let’s explore that one first.
Staff+ is mentally challenging. You are collaborating with the top of the top engineers. Trying to make a high level impact and hold your own with sometimes some of the most difficult people to work with. Not all of them of course. But you need to be at the top of the engineering game and stay there to make it. And for a lot of companies the ability to move up the IC track can become next to impossible.
There’s a perceived idea that management track leads to higher comp, and a much easier progression to higher levels. This is often not correct but can be for high growth companies that try to maintain many levels of management. If there are expectations of number of reports for each line of manager and the company is growing then obviously there will be a lot of opportunities to move up. The counter to that is that when the growth slows down tech companies will always try and cut management over ICs. The riskiest place in the tech industry is a 2nd or 3rd level manager.
Finally we get to the good managers. The ones who actually love the idea that they are helping others and getting the most out of their team while helping the company goals. Few and far between unfortunately.
Tervaaja@reddit
I have been enthusiastic programmer from a childhood. However, corporate processes and practices (=scrum) destroyed all joy I was feeling.
I prefer now either to manage or draw boxes and lines.
Ralisis@reddit
Ageism is pretty bad in software. If you are still engineering as an IC into your 40s-50s you will face discrimination.
Transitioning into management is a good way to “fit in” as you age.
Not supporting of the discrimination but it’s simply true. I’m sure there are plenty of engineers still writing code in their 40s/50s but companies absolutely discriminate on this basis.
miyakohouou@reddit
I moved into a management role a couple of years ago. Contrary to a lot of posts here, I still love writing code and I was (and still am) good at it. I still do get involved with technical work when I can, but it's mostly my team out by pairing with them or working through things at an architectural level rather than shipping PRs.
I never really intended to go into management, but I was leading a team on a short term basis to get something urgent out the door, and the opportunity presented itself to try it out. It's a much harder job than being an individual contributor, but there are some things about it I find rewarding.
First and foremost for me is that it's an opportunity to help build a team that thrives and lets people do great work. I've created a team where people genuinely care about one another, build each other up, find a sense of ownership in their individual projects, and still have a shared vision for where they are going. It's the kind of team I always wanted when I was an IC, and I'm glad that I'm able to help the people on my team have that now.
Beyond that, I found that as the years go by I still care a lot about the technology, but I've also gotten more opinionated about the business side of things. I've seen good and bad ideas, seen what makes projects and companies succeed and fail, and developed some opinions of my own. Being a manager makes it easier for me to influence those things in a positive way, and it's been a real growth opportunity for me to get more deeply involved in this side of running a business.
I might not stay a manager forever- I do still love building, but it's been a very positive experience (if also a difficult and draining one). If I do go back to being an IC, I think the time spent in management will have done more to improve my skills as a staff+ engineer than a few more years of writing code would have.
desolstice@reddit
Both of my parents were developers. I followed in their footsteps and also became a developer. Both of them worked at Fortune 500 companies for most of their careers. One parent retired as a systems architect with multiple patents to their name. The other despite being a great developer ended up going down the management path.
The one that went down the architect path went into the management role for a couple of years and hated it, so he switched back to a coding and design role.
The one that went down the management path always said it was because of one reason…. It really sucks to have bosses that are obviously less intelligent than you. This is something I have also recently had to deal with. It is almost as if some project managers try everything they can to sabotage the project, or they micro-manage to a point that it is suffocating. These project managers are an absolute pain to work for. The easiest way to avoid working for a bad manager is to become a manager yourself. Lead the team how you wished you were led.
My wife who funnily enough is also a software developer had another situation play out in her office. Their manager was promoted, so now someone needed to be promoted into the manager role over this project. One person applied for the position (this guy was in a PO position). Everyone in the office didn’t like this person and didn’t want them to get the job. So to prevent that from happening the lead developer from the team applied for the position and got it. This scenario was purely because this guy really cared for the product and genuinely felt that the other guy getting the job would be detrimental.
casastorta@reddit
Because at many companies it’s sold as “promotion” path instead of changing career paths. Even in companies which are clear that management path is different from IC path people switch to management talking of it as a promotion 🤷🏻♂️
denverdave23@reddit
At some point I got sick of reporting to shitty managers.
SoUpInYa@reddit
Better money and not having to constantly keep up with new code. Running on that wheel, learning and writing more code on your off-hours burns you out, especially when you get older and have a family.
fued@reddit
less work, more money, more acceptable as you 'age out' of coding
throw_onion_away@reddit
Because software development is getting really boring lol.
It's always just some glorified excel sheets, some glorified data plumbing work, or some other random pipelines that delivers some stuff. It's all the same but just different flavours. At least the people side is more uncertain and more... Fun? Less stale? Idk. Haven't quite figure this out yet.
HashDefTrueFalse@reddit
I'm a senior SWE writing code for 20 years and I'm considering it. Being an individual contributor is fine but doing it for more than a decade whilst constantly having to keep up with shifts in the software landscape is exhausting. I'm also disappointed we settled on the web as our platform of the future because honestly I don't find it nearly as interesting as desktop, native mobile, and embedded. All the app software and distributed systems I've designed and built have been remixes of each other and it's all starting to feel the same. All languages, all frameworks, all bleed together after a few decades. There's only one business model now apparently, SaaS (or so it would seem). I also think we're overbuilding most of the time, and don't like how artificially complicated we've made some things. And as the author of a unit test framework, I don't like how much importance we're placing on coverage, creating lots of busy work.
I'm finding that the most enjoyable part of my job in recent months has been mentoring the juniors beneath me, but where I am, mentorship-only roles don't really exist. So I'm left with a few options, one of which is management track, if I want new challenges. I haven't decided what direction to progress in yet, but hopefully this gives you an idea.
Colt2205@reddit (OP)
I feel your pain at 8 years experience. I think being forced to have to do everything myself, from dealing with servers, keeping a test, development, and prod environment separate, across a windows VM and three linux boxes, with no real deployment pipeline except manual labor, made me think a lot more strategically about how to apply unit tests, when to apply integration, and especially how to recognize when to go database first vs code first for DB management.
Also, what I found surprising was SQL server was easier to deploy and easier to manage on linux than windows. I could have backups automated and stored on another server without having to deal with windows losing the network drive.
AIR-2-Genie4Ukraine@reddit
Some people go for the good reasons ( bigger impact, enabling team), for so so reasons (more money in companies where IT is a cost center) or horrible reasons (I want to have power over people)
source: I managed people for some years, not for me. Some peers were psychopaths that looked forward to layoff season
Armobob75@reddit
I think all devs like having a say in things. Usually technical things, but if you work at a place for a while you get opinions about organizational things too.
And if your desire to make an impact on the business eventually outweighs your desire to make an impact on the project, you’re going to gravitate towards management.
justUseAnSvm@reddit
Because, by the time you become a tech lead, the majority of your influence is no longer in the code you write, but the tasks which multiple your effort across the team. The industry is shifting to the "player coach" model where tech leads are responsible for nearly everything about the team: planning, execution, communication, and the manager you report is responsible for several of those teams.
I like leading a team, it's very rewarding, but it makes sense to keep team leaders technical, and managers sparse. Otherwise, managers beget other managers, and a manager is a much less flexible player to have in your org, since they are measured on how many people report to them. I could get called into a meeting monday and find out my boss needs me to do work as an IC, and I'd be fine with it. A manager can't be used in the same way.
In big tech, you don't actually need that advancement to management, but that's not universally true throughout the industry. Most f500 companies are management heavy, and only let you have influence if you are a manager. If that's the case, if you want to have any influence or be any sort of player, becoming a manager is the way to do that.
shared_ptr@reddit
This is exactly correct and contains a lot of nuance that’s rarely understood, especially around relative inflexibility of non IC roles.
ltdanimal@reddit
Triggered, ha. This doesn't have anything to do with "flexibility". Is has to do with Senior leaders that have lost touch and don't really care about the messy middle and want more people to just "do work". The amount of things I have seen shoveled onto managers role is much more varied and diverse than anything I've seen for ICs.
When Senior leadership wants to consolidate teams, run team retreats, merge skill groups, implement the newest Agile thingy, needs gaps filled bc they fired the QA/Product/Support/etc, figure out how to deliver any shit news or decisions they made, etc etc its on the middle managers to figure it out. That usually is the actual role and there is no capacity planning for manager tasks. And also front line managers are becoming where they are supposed to do all that and ALSO make sure you are contributing code. Its ridiculous.
Also "team leads" usually are more senior devs with a few direct reports. That has been in place for a while. I haven't seen much change there. What I am seeing more is actual front line managers with 6-10+ directs and now being asked to contribute code.
shared_ptr@reddit
When I say flexibility, I mean the flexibility of the organisation to accommodate the EM role as it undergoes changes.
Lots of the industry has been hit with this over the last few years with RIFs becoming more commonplace. The awkwardness of having an individual on staff whose value is tied to the number of people they have under them vs what they can deliver themselves is difficult to navigate.
Not many people clock this which is why I thought the post I responded to was interesting. I don’t really connect with what you’ve said in your post (different contexts I guess) but did with the flexibility point.
cynisdom@reddit
Because few can stomach their peers turning into their bosses.
painedHacker@reddit
honestly it seems easier my boss just goes to her meetings and that's it whereas I have to write a lot of code + go to meetings.
_hephaestus@reddit
I think for a lot of us the reason we were interested in software engineering in the first place was because we liked solving problems. After a while in the industry, most people end up with at least one horror story about poor management, and I feel like getting into a position to prevent some of those situations naturally follows from the first axiom, even if a lot of us do end up not being so great at it.
4_fuks_sakes@reddit
Keeping up with new technology is number 1 I think.
PineappleLemur@reddit
That's just simply the progression path... People with technical backgrounds tend to end up being much better managers than a no background manager.
Harder to find of course.
marketlurker@reddit
I think you meant drop up.
sehrgut@reddit
Because they would rather be a bossy asshole than do real work.
DuffyBravo@reddit
After 20 years of writing code/architecture/Tech lead roles I wanted to do something different. I was good with people. I jumped in management 9 years ago and have not looked back.
ategnatos@reddit
I know some people at Amazon who realized they weren't going to make SDE3 so they went -> L5 SDM with the hopes of becoming L6 SDMs for higher pay. L5 SDM is risky, and some of them transitioned back to L5 SDE.
But it's about money in general. If you think your odds are better of being manager and you don't think you have LC skills or possibly ability to relocate for a better dev job, you'll become a manager.
dantheman91@reddit
Im a staff. I can type "staff X engineer" into indeed, and find a single digit in my areas that pay what I want to make. As engineering manager I can find 10x that
Okra56@reddit
These 2 managers I had told me the exact same thing coming from specific tech companies I worked for, Oracle and Dell. Teams that their ONLY emphasis was development.
Both managers told me their reason to swap into a management role from a dev role was that they couldn't keep up with the new generations. 22-23 year old graduates programming since 14-15 years old coming with 4-5 languages of experience and delivering great results. They had to adjust so it was either become better than them or go into management. They chose management.
drink_with_me_to_day@reddit
I am at the point where doing CRUDs, SQL queries and caching are a bore and drain me of life energy and are no longer challenging
The only coding I do are the more lower C/C++ and MVP'ing tech the team can't deal with or would take too long to wrap their heads around
Steering and enabling are fun
MonotoneTanner@reddit
If you’re content with a single company you can only play the ticket-code monkey for so long .
Plus a lot of non tech corporate companies (that just have a software department etc) don’t view developer as prestigious as native software companies
OldeFortran77@reddit
If you go into management expecting to have more control, I foresee a quick, sharp, painful lesson in your future. You'll be amazed at how much of "management" is being told to implement stupid and shortsighted policies coming from the managers above you. Expect resentment from the people below you.
Frankly, most of technical managers became managers because they weren't very good technically, or perhaps simply gave up trying to keep up with technology.
If you are good at all at detail oriented work, I don't recommend management unless you want to trap yourself. I also don't recommend it if you aren't good at "playing the game". Do you golf?
Budget_Sherbet@reddit
You don’t want to be a ticket solver for the rest of your life. Period.
headinthesky@reddit
Personally I was kind of getting bored and burnt out. Code is only getting more complex. There's more and more frameworks there's bigger challenges all of that. But I'm more interested in different problems now. Like building a team team Dynamics getting people together. It's like when people go from being a player to a coach, that's what I compare it to
Eire_Banshee@reddit
I got tired of the technology rat race and I can exert more organizational influence as a manager than an IC
tashtrac@reddit
Imagine all the worst parts of working in a team. No recognition for good work. Impossible deadlines. Never addressing tech debt. Asshole colleagues. Great colleagues that quit because they never got a raise. Tons of pointless meetings.
And then imagine you are given the keys to change and fix all of that. That's why I entered and stayed with management.
A bonus perk is that I can work for any company regardless of technology and don't need to significantly reskill. Jumping from a React + Java team to Angular + PHP team costs me almost zero overhead.
Jaded-Reputation4965@reddit
After a certain point, there's a ceiling for just 'writing code'. This isn't unique to software development.
'Doing the work' = output ceiling of your own 8 hours a day.
'Management' = output of your hours multiplied by the increased output of everyone else.
https://newsletter.pragmaticengineer.com/p/engineering-leadership-skillset-overlaps
Personally I'm a good engineer but not at Staff + level yet. However, I have excellent. Not average, 'excellent' interpersonal skills thanks to my former careers.
Why not play to my strengths? I love developing software. But 'software' is about far more than just writing code. Especially with the advent of AI.
Now, more than ever, people who are technical on multiple levels, are needed in leadership to ensure that effort is directed appropriately. Not just 'non-technical' people who talk BS and make ridiculous decisions.
wrex1816@reddit
I don't love the idea of being a manager, I'm much more into tech than being a people manager. But honestly, the more years I do this, I don't know how many more years I can do it.
It's not the technology or the problem solving, that's all stuff I'm interested in. It's the personalities and attitudes that exist within software engineering that for some reason are allowed, even encouraged, which would not be tolerated whatsoever in most other lines of work.
CodeToManagement@reddit
I did it for two reasons. Money and influence
I got a huge pay bump to move to management. Plus a way better bonus, and better pension contribution.
The influence part, I realised as a dev the scope of what I could change and improve was limited. As a manager I can do much more.
danknadoflex@reddit
Pension? You guys are getting pensions?
CodeToManagement@reddit
Not really sure why whatever I said gets me downvoted lol.
In the uk every company has to contribute to employee pensions. I think the minimum is like 3% or 5% of salary. My employer does max 12% as long as I put in 6%. So basically free money.
danknadoflex@reddit
Oh ok UK that explains it… very few people getting pensions in the US
dfcowell@reddit
There are a lot of cynical takes here. There are a lot of companies where it’s all about the money, but there are a lot of companies where there is a solid IC progression too.
I was an engineer who stepped into management for 6 years, got up to Director level, and have just recently stepped back into being an IC at the senior staff level, with a significant salary bump.
For me, it has been about impact. In the companies and roles where I was in management, I chose that track because they had systemic, structural problems that prevented their engineers from doing their best work. I could have a lot more impact by fixing those problems and improving overall team structure and engineering culture. You need to be in management to make those changes.
Now I’m in a company where there are people already working on that problem, and there’s a lot I can do in the technical space, hence changing tracks again. If my ability to drive positive change starts to reach a point of diminishing returns as an IC here, I’ll probably look at management again, but for now there’s plenty of work to be done!
crazyneighbor65@reddit
having a strong technical leader in a management position can have a much bigger impact than simply being a lead engineer. it's like stepping out of a player position and becoming a coach.
Scottz0rz@reddit
https://youtu.be/ULeDlxa3gyc?si=5AorRr_zVxATz3QL
But anyway, it's probably a multitude of reasons like wanting to deal with people and stakeholders and planning aspects more than just code/technology directly.
soulstriderx@reddit
To make your career more resilient to changes in tech stack, programming languages, architectures, etc.
Also to have wider impact in an organization.
Morning_July@reddit
To fire bad developers.
OkTourist@reddit
Money, burn out, after so many years coding isn’t fun anymore.
swgeek555@reddit
Money and control.
I stayed in the purely technical side as I disliked managing a team (as opposed to being a lead) but it was frustrating when managers could dictate the direction and the approach we are taking, especially when I felt it was the wrong approach.
Both times I declined to apply for manager after being acting manager I regretted not taking the position because of that.
stevemk14ebr2@reddit
Can I ask how you handle managers dictating technical direction (assume they're wrong). I've found myself in a particular political situation with one of my engineering managers as I pushed back hard against them trying to force an incorrect technical decision. I would safe to say neither of us like each other now, and well it's not great. They pulled some argument from authority stuff, and I told them as the project lead it's my say on final technical decisions around HOW (assuming aligned with ultimate goal to get XYZ done, the WHAT).
basskittens@reddit
Metrics. Agree on what success looks like ahead of time and then prove you delivered with hard data.
swgeek555@reddit
Wish there was an easy answer. I wrote out docs explaining my thoughts and rationale, but in the end it was their decision and I went along with it.
Right or wrong, the whole team has to pull in the same direction, otherwise if it fails they will not know if they were wrong or if it was lack of alignment. And admittedly I have been wrong at least once in my life :-).
stevemk14ebr2@reddit
Thanks, it's definitely not an aleasy answer ahah. I have design docs and all that weighing the alternatives. The semi technical engineering manager (I'd argue not technical) seems to disagree dispite that. For background I run a service X that creates very important data from users, the task is to get that data shipped over to system Y. I want X to directly send it's data to Y, but manager wants X to go through system Z first, and have Z send the data to Y on Xs behalf. X Y and Z all live in different environments so auth and connectivity is complicated, also involving schema conversations at each integration, with vary levels of fidelity that can be represented (lossy). I argue going through Z has the cons vastly outway any pros. The reason they advocate for Z doing this is because an organization we want to be friends with runs Z and is is trying to consolidate on it for their own processes, so my manager says we should too and my tool not using that teams flow is tech debt.
The data conversion being lossy alone is enough for me to fight this, but the auth, and connectivity don't help. I believe the high up managers are going to have me step back from this particular integration, and let another dev under the manager do it instead (likely their way). Sink or swim approach I think, or at least give me a way to not have to interact with this manager for a while. Wish me luck 🤞🏻
swgeek555@reddit
Good luck!
chessguy112@reddit
Money or they prefer working with people. I enjoy coding but I also have people skills. At which point I ask if I will pursue management and work with people or keep dealing with code. Seems like a fork in the road sometimes.
Feroc@reddit
When I decided to move away from developing, one of the main reasons actually wasn’t money or career paths. I was working in a department I really liked, but the development work got broader and broader. I started as a litte happy backend developer, but at the end I felt like a DevSecOpsFullStack developer, who also had to maintain some very old Perl Scripts. There was just too much that I didn’t enjoy anymore.
chris-mi@reddit
Being EM by choice I can give few reasons that make me enjoy management or I don't (very) miss being an IC:
kthepropogation@reddit
In a managerial role, you have significantly more power to create the kind of workplace you would’ve liked as an engineer. It’s easier to be an actor in how things play out, rather than subject to the decisions of others.
Others are chiming in with other good points. If you’re working harder than you’d like to actively keep up with everything new going on, it’s an area where the skills that make you successful are relevant for longer, you don’t have to work as hard to keep up. In lots of places, it comes with salary increases. Lots of people enjoy the feeling of power.
An EM with both heavy IC experience and strong “soft skills” can be an incredible asset to a team and a company. They can be very effective at enabling growth within their team, controlling requirements sprawl, managing and negotiating expectations. They function as an interface between the business and the team, which can be an incredible boon to both, and help both get what they need from the other. If you can do this well, it can be both fulfilling and lucrative. It can be a lot more stressful too.
JonnyBGoodF@reddit
I want to just remain an individual contributor because I love coding but dislike meetings but as senior management continues to retire or leave the company there's an increasing amount of pressure for me me to lead and be a manager "or else". This is a common scenario in my experience.
n00wb@reddit
For me it’s all about the end goal. I can make much more impact as a manager in supporting my colleagues to get the job done. Creating the space to have fun, grow and have solid engineering practices in place.
Also, I have always felt guilty when coding, did not feel right to have so much fun and get paid for it 😄
k0d17z@reddit
At a certain point in your career, especially as your salary and age go up, getting laid off becomes less about performance and more about cost. Companies start thinking, “Why keep the expensive senior when we can hire someone younger with more energy for half the price?” It sucks, but in many industries, that’s the reality. And also the money.
IncorrectComission@reddit
I'm not currently out of the IC track yet but i'm hoping to go into management. My reason for management is to be able to help other people grow their careers, my career so far has been full of managers who couldn't give a rats ass about my development and everything has just come from being in the right place at the right time so i'm hoping becoming an EM will mean I can provide meaningful help and guidance to people earlier in their careers.
false79@reddit
Imagine how quickly you could code over the course of a week of you were working 40, 50, 80 hour days and nights if it was just you.
Imagine how quickly you get the same feature out with managing 10+ devs effectively, they only need to work 40 hours a week.
Good management can solve getting features out the door and have the same sense of accomplishment without having to burn the midnight oil.
RapBeautician@reddit
Money and wlb
KuddelmuddelMonger@reddit
Mostly money, or they like being bossy, or they are really interested about trying to be a good manager. I've found all 3 types.
jdx6511@reddit
I've known several people who were pressured into, or reluctantly took, management positions, because of "promote from within" company culture. They all ended up being unhappy and left to get back into more hands-on development work.
saposapot@reddit
$ € £
tomqmasters@reddit
It's usually more money in the near term, but you can make just as much eventually most of the time if you stay technical. IDK, for me there's so much I want to do, but so little time. I'm somebody who could do most of the jobs of the teams I have managed, but there's only one of me, and the people I've managed can barely do their own jobs much less everybody elses. So idk, I guess I get stuck doing the managing then.
kiriloman@reddit
I was going for a management position because I found managing people much harder and interesting than doing technical tasks. That was until I joined a company with a very challenging and interesting product
engineered_academic@reddit
I got a family. Plus projects these days are more about execution pitfalls rather than language widget xyz, which I have way more experience with 20 years of shipping projects. People problems are way harder to solve than technical problems.
FancyMigrant@reddit
After 30 years I just got tired of having to keep up, and the money's way better.
myporn-alt@reddit
As you get older, the executives stay the same age and your career moves to management, you retire early or you get pushed out with your old ways of working.
Bitani@reddit
If you work for shitty companies*
Haven’t seen this in FAANG. Plenty of older devs.
exact-approximate@reddit
In many, many companies, the only way to increase your salary is by moving into management. There are companies which do have levels for technical contributors, but I find that it is rarely faster or better than going into management anyway. Obviously FANG companies are an exception to this.
Stubbby@reddit
My previous employer, when my manager was promoted to director, they couldnt find replacement, they asked the developers to step up. The team was a range of devs with 10-20 years of experience, one had 3 YoE.
Nobody agreed to move into the mid management, they pushed the 3 YoE guy to become a manager (obviously without bumping his pay or title).
So the answer is, some people specifically choose not to drop out of software to become managers, especially in poorly run companies.
UnnamedBoz@reddit
Money. Staying up to date with all the new tech. Tired of how things are developing. Tired of bad developer culture etc. with a lack of engagement. Programming can be a fun personal thing to do, but working in a team there are many ways it can become quite a drag in the long run.
spookydookie@reddit
I did it so I have options in the future. Who knows what our industry will look like in 10 years, but I will have experience in both IC and management so I will have more options in tougher times.
RayBuc9882@reddit
I have worked in Financial IT for over 20 years and the number of employees keep growing. What I learned when I managed people for a while before I went back to coding was that not everyone wants to code, but some want to get a leg into an another area, so they code for a while, then they migrate to something else: manager, tester, business analyst, operations, strategy, etc.