Hacker News new | past | comments | ask | show | jobs | submit login
Choosing the Management Track (danielna.com)
190 points by luu 28 days ago | hide | past | favorite | 117 comments

Whatever you do, don't seek to join a management track because you think it's the "next logical step" or some reward for being good at coding. It's not that. It's a different job.

Gather some evidence about whether you're good at helping people solve their problems. All sorts of problems. Problems not even having to do with work. Ask whether you're good at communicating up and down, high level and low level. Do you enjoy answering dumb questions and explaining things over and over again? Are you good at switching between topics that you didn't want to switch to, hour by hour? Do you like writing reports and managing projects and Gantt charts? Are you "a people person, I'm good with people dammit"?

Would you take the job if there were no pay increase? If the answer is no, then that's likely not what it's going to bring you -- it's probably going to bring you stress and dissatisfaction more than any potential pay difference. Of course, it may vary a bit by company, but this is often a reasonable caution.

Think hard before just jumping in. Managing people isn't what many think it is!

> Whatever you do, don't seek to join a management track because you think it's the "next logical step" or some reward for being good at coding. It's not that. It's a different job.

It is certainly a different job, but the reality of today's corporations is that outside of a few niches, it certainly is the the next logical step. It is also easier to move down to IC than the opposite (by changing jobs), and getting back in management if you have a good resume.

Yes, some companies have technical tracks where you can grow your career well, but the reality is those are few, and moreover, even when you have them, growing in technical track is actually much harder than the management track. And technical track involves a lot of meetings/discussions as well. E.g. there was recently a post on HN about principal engineer, and their job overlaps with what I do as EM quite a bit.

I have met many engineers who are around 50 years old, did not want to go into management, and they are fairly miserable. If you're a kernel hacker, sure, you will likely be able to get paid working on enjoying it until you retire. But otherwise... It ends up being consulting, 'architects', and other jobs that are not that much more challenging technically speaking than engineering management. They get paid much less, and have fewer opportunities.

Also, honestly, the whole thing about "management is a role, not a rank/title" feels like another trick by companies to low ball salaries.

This is true in a lot of industries - if you're lucky enough to be a developer it isn't though. If you have skills and feel like you've hit a ceiling for advancement then shift companies - a lot of organizations have limits of how much they'll pay technical employees that are far below the limits on management but there are organizations that would treasure your skills and compensate you appropriately.

I will say that it's hard to avoid moving into leadership positions as your gain seniority - if you have issues mentoring others, estimating project and leading a discussion then your options are more limited but there are still some good opportunities out there for you especially if you're willing to be frank about any social anxiety that contributes to those weaknesses.

> It is also easier to move down to IC

I don't know about that. Once you are at "non-technical" position, people assume you are non-technical when looking at CV and such. We had technical position open and this was super visible in one applicant. It might have played role that she was woman, but I think it would just milder with guy - but still present.

So you're right about the CV assumption. But if you grow as an EM and beyond, it helps growing your network faster, and resume stop being as relevant. To be fair, it does help I am in an area (AI/ML) where even as a manager, you're assumed to have a certain technical level, fairly or not.

My experience is that consulting pays more, but only if you can keep yourself in it full time.

Consulting can pay a lot more (for a typical engineer) but it really is a different job from either of those.

what do you mean by consulting? things like SAP?

It's a good question, and to be fair there is a broad range of things that go on under that label.

I would draw the distinction between freelancing and consulting this way: you are freelancing if you directly or indirectly (e.g. through a body shop consulting agency) are providing variable bandwidth for a client. So they could probably do the work themselves but need more horsepower. By comparison consulting would be where they bring you in to provide insight, experience, or skills they do not possess.

The lines are somewhat blurry.

not the earlier parent, but ... I read it to mean self-employed. I 'consult', although probably at least 60% of the time it's just ... code/development. But with the experience I have, some clients engage me to be more than a pair of hands, and there can be 'consultative' engagements: helping develop plans, strategic guidance, etc.

But it can also mean working for a larger agency, focusing on specific areas (of technology, or industry, etc). To me 'consulting' has some connotation with 'deep expertise' in one or more fields.

Yes, there is a lot of variance in consulting. It also often involves a lot of travel, which I personally really hate.

I was the opposite, I loved the doors to travel consulting opened up. I could go on a trip wherever I wanted every weekend (after spending the week with the client) and sometimes actually did. It's actually one of the parts of my life I miss most since the pandemic, but alas it is a first world problem and I have it much better than most.

Tends to be much easier on single folks. Good friend of mine and I worked at the same place for a while, and he moved in to a consultant role, doing a lot of 'on-site' work with clients. Initial review, few days working with team toward goals, writing up reports, etc. He did like the pace - rarely worked on the same gig for more than a few weeks max - but travel really started to wear on him, typically around 80% travel. Definitely takes a toll on family life.

It was the travel that killed it for me. I loved the work, especially the metal distance you can maintain from your clients. But the constant travel was draining.

I have no idea why you were downvoted.

Consulting often involves traveling and that's not fun for everyone.

I have met many engineers who are around 50 years old, did not want to go into management, and they are fairly miserable.

Forcing yourself into a role you aren't really suited to is a recipe for becoming miserable.

I don't think the GP was saying the engineers were miserable because they stopped being engineers and went into management. I think he was saying they were miserable because they didn't go into management and then found that their careers were at a dead end.

While all that may be true, it's also true that in many companies once you become a manager you are empowered to take actual technical decision. It's the manager that chose technology, high-level architecture, development methodology, project management technology, evaluate feature vs quality, ... and most important, actually protect him and his team from the constant bullshit coming down and sideways.

Right before Corona hit us all there was a chance for me to grab a new minor management position in my group at work, where it was decided that we should create official ~5 person teams with a leader out of the whole group. I applied but ultimately didn't get the job (my colleague who did get it was more qualified ultimately for this specific task). And boy was that a good thing... now that I see everything that he had to take on in addition to what he did before, or rather what he is doing instead of what he did before, I am so glad I do not have to do that. But I still worry that my (bigger) boss wants to push me in that direction as I now have to get certified in project/team lead management work, which will a. make it harder to avoid that kind of tasks in the future and b. makes me wonder how he sees the workforce and how he values people not doing that. In addition to that I feel that a lot of our IT projects, while they are often interesting to work on, tend to be dysfunctionally organized: they are almost always planned by calendar dates well in advance, then staffed, then the scope is decided on, then everybody scrambles to try to get it done in time.

Writing that I might need to look for a new team Anybody hiring SAP Consultants / ABAP developers with 10+ years of experience interested in a CRM-to-S/4 migration? :D

It could be that your manager sees something in you that makes them think that you would be a successful manager yourself. Good managers can usually spot others with potential. And your frustration with how projects are run is often one way that people are tempted into management - you think you can do a better job! And sometimes you can, that's the best part.

> It could be that your manager sees something in you that makes them think that you would be a successful manager yourself.

It could also be that his manager needs to check boxes on how many of his people are qualified in particular areas, whether those qualifications actually mean anything or not. Or that the more people he has working for him who he can say are "team leads" or something like it, the greater his own chances of moving up.

It might well be that he sees something like that, but (at least here) the frustration would definitely increase, not decrease. In general I could imagine a job like that, I mean, I applied... but there is a trend in this company, it seems ;)

> It's not that

It IS that, money wise, in all the places where even the best employed developer does not even make close to 100k, e.g. all of Europe. Which is why a lot of managers in IT suck. They are previous developers that reached the developer salary ceiling. Then you can only become architect or some kind of manager.

Building on from that, a lot of large organisations have no progression for developers that isn't up the management ladder. I got sucked into this - realising I wanted more money, so got promoted into the management track (as that was the only route), and hated it. I soon quit the org and went freelance, where I could close the salary gap, yet still remain hands on technical.

How did you do that?

I am in the same boat, got into tech lead position for more money. As a tech lead, I have 0 power and a lot more responsibilities. Hate it.

I tried to go back to dev position but management kept blocking it. So I have been practicing leet code and hoping to go to one of FAANGs. But maybe freelancing is a better route for me. Only thing is that whenever I look up freelancing rates, they are quite low compared to my current average Texas SWE salary.

I think a lot of these discussions are missing the locale that many people are living in. The amount of people who are contracting or freelancing and raking in FAANG money ($400k+) is likely a lot lower than people are being lead to believe.

If you want FAANG money, just join FAANG.

I agree. Location is very important here.

If one likes to work in Southeast Asia for example, it doesn't take FAANG money to enjoy living there.

> Only thing is that whenever I look up freelancing rates, they are quite low compared to my current average Texas SWE salary.

"looking up freelancing rates" is almost ... impossible? Most places I see that offer that are self-reported numbers, and I don't know who's self-reporting. Freelance is going to be largely what you make of it, but there's definitely a 'sales' aspect to it, at least periodically. You need to connect with prospects, demonstrate ability, set up a deal, get paid, do the work, get more paid, etc. It's not impossible, but definitely takes a bit more work for many folks. Word-of-mouth referrals helps remove some of those steps. Finding another agency to work for/under can help too - they can handle some of the 'finding work', and maybe even billing, but they're going to take their cut. May or may not be worth it - you can definitely get more flexibility, but that's not everyone's primary goal. And... with the pandemic, most people are remote working now anyway, and have some more flexibility than they had a year ago, so there's a bit less obvious win there as a comparison point.

All of Europe seems to be quite a stretch. I am earning north of 100k euro as IC in the Netherlands, most of my peers are doing the same here. I also know quite a few people in Ireland, Germany and Sweden doing better than me.

In NL? What roles do you and your peers have?

I am a regular/core developer, others are either core or seniors.

Are you working at a special place like Google? A quick Google search lets one think 100k is absolutely exceptional in NL.

No, not Google or other FAANMG company.

That's the problem with quick Google searches and not living and exploring job market in the given country. I agree that there are truly a lot of developer jobs in NL paying in 40-70k range. However, there is non-exceptional number of jobs paying above that.

I won't name the company I am working for, I will just outline industries which offer 80-120k+ here in NL: obviously, FAANMG; financial institutions; hospitality; healthcare. And most probably a number of others that I am not aware about.

Also there is quite a discrepancy in pay among companies even in the same domain, so generalizing is difficult. E.g. I used to work in TomTom and I know the pay there is in 40-70k range. However, I cannot say that it will be the same for e.g. Phillips.

Agreed, equivalent compensation between IC and management might be a common thing in USA but it certainly is not in Europe.

Switzerland a notable exception.

One of my first development supervisor tasks was to talk to a developer about their body odor (there were complains from other staff). A few days later, after some super fun HR consultations, I had to send him home to shower -- and then repeat the same thing every few months.

Similarly: One of my first issues to deal with was when one team member yelled at another team member's dog...spent a day trying to figure out what to do and in that day the yeller quit for unrelated reasons. Dodged that bullet I guess

If it makes you feel any better, I've had the "please don't trim your toenails on your desk" discussion.

I've had the "please turn off your zoom camera if you're going to floss your teeth on a call" discussion. (Was using his own zoom video preview like it was a mirror so everyone got a good close-up.)

Pre-video call days, but... years ago, I had a phone interview with engineering manager. Had made it past initial screen, was ... interested in working there. Talking to the guy for a bit - I'm working on making all my points as best I can, trying to impress, then I hear "Noah, go talk to mommy - daddy's on the toilet!" I couldn't focus after that, and not sure he'd ever paid attention enough such that I had a shot anyway.

OMG I'm sorry but that made me laugh so hard. Who does that?!

> Gather some evidence about whether you're good at helping people solve their problems.

I mean following 100%: that is not what managers do. That is feel good theory of ... something. But, it is not what managerial work entails. Managers also dont explain dumb questions all that much nor explain things over and over again.

In my experience, what managers do is

- shoot the shit with us in endless meetings

- present regular progress update slide decks that no one cares about

- periodically get together to determine the comp of people who actually work

This is just the same ridiculous, overly cynical nonsense people have been saying for decades regurgitated.

- Good relationships are a requirement for a good manager.

- You may not care about them but executives do, and the manager is judged on their quality.

- If you don't think managerial work is work you must have truly had some terrible managers.

> - Good relationships are a requirement for a good manager.

Except that managers tend to have pretty bad relationships with their peers and have routinely bad relationships with people under them. It is to large extend structural, managerial work pretty much rarely involves actual cooperation with people on the same level.

> - You may not care about them but executives do, and the manager is judged on their quality.

They are judged by the relationship toward executive primary. That has little to do with quality of relationship to anyone else.

Manager here.

I think I have good relationships with my peers and vice versa. We cooperate literally constantly and often help each other with things while receiving nothing in return. When I look around my org, I see this as the norm.

Congrats on having a different opinion/experience, but I don't think yours is any more valid or any less "ridiculous/nonsense" than mine. It's my experience and if you think you know better than me what the real value of managers is in my world, I think that's arrogant and a bit delusional, honestly.

> It's my experience and if you think you know better than me what the real value of managers is in my world

Your inability to judge of the value of a manager, even a bad manager, doesn't make someone else delusional.

Reductively, if it were really the case that no one cared about the slide decks your managers were presenting, they'd be told to stop and do other things instead. So clearly someone does. That someone obviously isn't you, but that doesn't really matter if someone else gains enough value from that communication.

> Your inability to judge of the value of a manager, even a bad manager, doesn't make someone else delusional.

Doubling down on the arrogance! Funny stuff.

Do you make all these assumptions about things you know nothing about in your actual job as well?

> that doesn't really matter if someone else gains enough value from that communication

It would matter if the managers cared about all the employee time they were wasting with these meetings. Managers could present to only the people who care and not demand the attendance of those for whom the material is uninformative.

> Doubling down on the arrogance!

I'm a different person. And it's not arrogance to re-assert someone else isn't delusional for disagreeing with you.

> It would matter if the managers cared about all the employee time they were wasting with these meetings.

This doesn't actually address what I said. Someone seems to think these meetings have value.

I did acknowledge the technical accuracy of your statement, implicitly, before moving on to something more interesting. It's just too banal of a point to spend a full sentence on. Of course someone is demanding these slides. Feel free to mentally amend my original claim. Sometimes I write in a humorous, rough way, maybe it isn't for you.

Don't worry, I don't hold all managers in contempt based on my own limited experience in my particular org of my particular company in my particular industry. I'll make sure to update this post if I come into contact with ones whose contribution I respect more.

What you've listed resonates with me yet 10 years in I just can't break into management. I'm a high performer and am compensated super well. I've been told by others to "shut up and do your job, your pay is fantastic" but there is an inner yearning to help others be the best they can be and also compound the skills of a group to accomplish greater business goals, many of which I'm suffering to complete now under the tremendous stresses that seem unfair for one person.

This isn't the first time I've been in this or seen this situation play out. Businesses stacking an impossible list of responsibilities on one person until they burn out and leave, then get replaced by a manager and 2-3 others.

So I ask, for those of you who have intentionally made the move, how did you do it? I feel like I can't be any more transparent with the business that it's the direction I'm looking for and that I will leave soon if it doesn't happen. But then what, do I keep playing this game into perpetuity until my luck changes?

That is because what he wrote is not most or actual managerial job. Yes, managers needs good social skills. But those are not defined as "be pleasant to all the people all the time". It is more of "be able to negotiate and push for what you want when you wont be punished for it". Accomplishing more and more wont get you there. Guessing right when to demand what you want and going for it, including leaving when current company is not cooperating, is what gets you there. Even as real manager of multiple people, others will try to stack more and more on your team. And you have to negotiate and push back - but not when the person you are pushing back would retaliate.

Make following exercise: how many managers you know are actually spending much time with "helping people solve their problems" or "patiently answering dumb questions"? Managers I know spend some time with it, but frankly, much less then analysts and not much more developers.

Another exercise: Do you know managers that are unpleasant around, arrogant or misinterpreting people? Do you know managers who are actually not good at all at communicating down chain? Because I know a lot.

what the exercises show is that none of that pleasant communicating to all has to do with who is actually successful as manager or selected for management.

You are describing politics (in other words, status seeking). It happens everywhere, even at IC level, but I agree most of it happens in management.

Yet, politics is not the same thing as managing.

Engineers tend to conflate politics with toxic politics, and that's a source of a lot of confusion.

Toxic politics are everywhere, but the ability to negotiate, navigate the organization, find what make people w/ authority tick, is crucial to any successful manager.

Large organizations are constantly trying to decide what to do and how to do it. It does this by consuming information at every level of the hierarchy making decisions and then pushing that information up and down the hierarchy. (Obviously lots of information is translated along different lines than the written down org chat)

Politics is how every organization makes decisions. It's understanding the information flow, the decision making process, people incentives, and how to influence these to get the outcome you want.

Managing up is about altering decisions made above your level (info moving up) and managing down is about taking those decisions made above your level translating them into decisions that affect your team.

i.e. Managing is very much about politics.

Politics is huge part of managing. It is not just status seeking either, but yes, important part of it is status managing. You cant do successful managing without doing a lot of politics - towards people under you, towards people over you and especially a lot towards peers.

Engineering has politics too, just different kind of politics. You also spend a lot less time explicitly doing politics. But, a lot of what is going on in code reviews for example are dominance games and status managing. How you present yourself so that they perceive you as technical the right way matters too.

It is usually easier to become a manager within your existing company, compared to starting with an EM role.

If that has not happened to you even after being clear, it can mean different things. It could be that you are within a group that has little growth, and does not need a new EM. Some political reasons. Maybe your manager is terrible and does not seek opportunities for you. etc...

In this case, my advice would be to join a mid size company which has growth, and you join as a senior engineer. Startups can be another way (that's how I did it), but that's more difficult to plan. I certainly did not plan it this way myself.

I applied for a job that was the position I wanted. I feel like you'd probably have more luck doing that than trying to convince a company who seems to be getting a lot of value out of you doing what you're doing.

It's usually pretty difficult to get hired for a management role without any experience. Most of the time you break this dependency loop by being promoted internally first.

Send me your resume (contact info in my profile)?

I am aggressively hiring EMs, and will definitely consider first time managers.

>>> Businesses stacking an impossible list of responsibilities on one person until they burn out and leave

From that and your whole post, I'd take a guess that you are a top contributor easily getting more and bigger projects.

My advise would be to stop getting more responsibilities. It has to be done by your end, you need to not do anything more.

There's some more work coming up? Don't take it, don't get involved in email threads about the new projects/tasks. They will find somebody else to do the work. They want you to be oncall after hours? Don't do it, phone is off.

Good fast workers are a magnet attracting more and more work until they burn out under the load. Look around you and notice people doing no more than they are required to, learn from them, it's the only way to last more than a few years at any place.

I really, really like the business I work for and when I was offered a chance to manage the dev team (was a team lead/senior developer - been a dev for 20+ years) I took it. I have written enough code. I wanted to be in a position to get projects done for the business. To facilitate the work, to help guide it, to be a manager that programmers could work with. And so far, so good. I am way more stressed out than ever but this is my own making, and I am learning to live with what is ultimately a different kind of stress than you experience as a dev.

I really like the comment about "would you do it for the same money". If the answer is no, you are probably better off not doing it.

question, are you a white guy? I find too many techies have trouble with managers who are not, and too many companies are willing to let quiet bigots be bigots.

Management is a different job but a job with more power, authority and information. Managers will decide the compensation of ICs not the other way around. They will be the first to know of major decisions that company is taking.

As you grow experienced as an IC you want to say in the product roadmap. Usually that only happens at the management level.

Compensation is usually decided by HR, based on some pay bands in the company. The best you might be able to do as a manager is to try to nudge the candidate a bit to the higher end of the narrow band.

Actually I think most middle management has very little power or authority. Try firing a customer and see how far you get with that if you aren't running the company.

Completely agree. The first time I tried it was a disaster - hated what I was doing and missed what I did before. A second attempt a few years later when I was ready and I thrived.

Would you mind elaborating more on what changed from the first to second time? Did the situation change? Did your perspective/goals/motivation change? I'm currently in my first stint in management and really disliking it, and wondering if/when it might make sense to give it a shot again.

>"Would you take a job with no pay increase."

Same statement can be made for every career step. If your pay did not change, would you do the work of E6 at an E3 wage? If I am moving to a position where I deliver more value to the company, then I should be paid accordingly. We need to move off this work for free trope.

I think you're imagining a "work for free trope" (which exists, but definitely not for mid/senior/staff engineering levels) where there is not one. It's a thought exercise, and being overly pedantic about it is not helpful.

The point is that if the only reason you have to move into EM is the bigger paycheck, you're most likely going to be happier sticking with your IC role and having the slightly smaller paycheck but enjoying work a lot more.

I was a long time developer who became a manager. I chose to become a manager because I enjoy the people aspect of it. I see my primary responsibility to help my teammates be successful and deliver high quality products.

I considered taking a path through architecture but chose management because I felt like I could have a larger positive influence. As an architect I could design a few good software solutions but as a manager I can help coach a group of people who each go on to make great designs.

I do miss coding but I try and make up for it by setting aside time to pair program with teammates and perform “shadow PRs” (PRs that I review but don’t approve that I follow up with to see if there are things I missed that the team picked up on or vice-versa. I also set aside 2-4 hour per week of personal time to keep my skills sharp. I’m a firm believer that a software development manager should retain some technical chops.

Here are the values I try and live by as a manager:

1. Take less than your fair share of the credit and more than your fair share of the blame. 2. Commit yourself to the success of your team and your own success will follow. 3. Be transparent and honest. 4. Don’t be afraid to admit when you’re wrong. 5. Be decisive.

I've never really understood the "architect" role, maybe because I've always stumbled across poor architects, but I generally don't agree it is a good practice for someone to make decisions (architecture) and not deal with consequences (actually code within this architecture). Those decisions should be left for team to make and, yes, opinion of more experienced devs should be weighted more, but everyone should have a right to speak.

Something that connects with above statement: most architects are involved only at the beginning, which is so unimaginably stupid considering the fundamental truth about software development which is: "requirements will change".

Personally, if I hear from recruiter that they havea an architect in team I always say "thank you, but no thank you".

Thanks, agree to every word.

Oddly, I just went from a director level position to staff engineer at a new company, and am getting paid 50% more. I feel like I won the lotto. Management was stressful and full of nepotism. The only positives were being a bit upstream in the decision making process. I do think its good to for ICs to get out of their comfort zone and take on some management tasks though. Its important as you become a senior engineer, to not just contribute to the code but to also help mentor the team, sell a technical vision and take responsibility for delivering the product as a whole.

What type of process did you go through for this transition? I recently stepped into a director level position and have been loving the management and vision-crafting process, but have been curious that if I ever choose to step back toward an IC role, what that looks like in terms of interviewing/retraining/etc.

I sold myself back into an IC position by focusing on my domain knowledge and architecture skills which was still part of my director role. I think the higher pay is an exceptional case where they are paying more for my domain knowledge than my programming skills.

Where is this?

I find this hard to relate to in SV. I can't imagine a director ever getting paid 50% (or 1/3 - whatever the math is) less than a staff software engineer at the same company. Sounds more like you were going from a "director" level position at startup to staff at FAANG...

I would agree, it's awful I hate it. I used to produce high quality work all day and have fun. I thought it was the next logical step because my boss knew I was intelligent and I did big projects all on my own. Managing people especially older people has been awful, I'm not trying to be rude it is just what I've experienced. There are so many more things you have to care about and when I became a software developer I did it because I did not want to put on a smile for customers at a cash register all day. It's awful don't do it and don't get tricked by your boss when he calls it "tech leader."

> Managing people especially older people has been awful

I am really curious about this. What did you find awful about managing older people?

Generalising perhaps too much, I find older people generally easier to work with than younger people. They seem more sensible, like they have become comfortable with themselves.

Well I guess giving you a number may make a little more sense. The team is 4 65+ year olds, a 25 year old and me at 31 (there have been some younger interns too.) The 65+ crowd don't care to learn new things (ie git, using json with javascript, ORM frameworks, any type of bash commands) they're just skating into retirement copying/pasting the same train of thought for the past decade. At least the younger ones care a little more about self development.

That sounds fair.

That's not been my experience with most older people, but I can imagine, especially with those looking forward to retirement and leaving work behind.

I've found older people willing and interested to learn and use new things including tools and languages, wherever things take them, while also calm like they aren't trying to prove something any more. I'd like to think it's because I inspire and make things interesting and fun :-)

Like you I have found the younger ones care a lot about self development.

A small number of those have been difficult to work with, wanting to prove how "right" they are to people who are effectively above me in some hierarchy, which boils down to being argumentative, not caring about my point of view and making things more office-political than they needed to be.

Mostly, though, I found younger ones friendly and eager to learn things and have challenges, somewhat self-conscious and self-doubtful, and having a more modern social conscience, e.g. climate concerns. Overall pretty nice people.

Although I've seen projects where there was way too much copy/paste, it's been from all ages. Maybe different reasons underlie why though. At times I almost seem to specialise in writing scripts to de-duplicate other people's giant copy/pasta code and detect variations to maintain its behaviour :-)

Only sideways related, but this one...

> A team of talented ICs ships high quality work, but they have one or two very senior brilliant jerks. Other teams do not like engaging with these brilliant jerks so they avoid interacting with the team. Consequently the high quality work of this team does not have organizational impact.

Uuuugh that resonates so much with me. I've seen teams build stuff using evidently wrong infrastructure, just because the team responsible for the right infrastructure was dominated by a few pretentious bureaucratic assholes.

The largest benefit of the management track in high wage countries is that management is much less likely to be outsourced than engineers.

At least in "corporate America", middle managers are often the first to go in layoffs because it's harder to directly attribute their work to the end product. And a higher salary puts a target on your back. It's harder to let go of the folk who are actually building your product without having an immediate impact.

When I think of layoffs benefiting the business by cutting underperformers, I imagine that as lot of those underperformers can be found in middle management.

If you are a talented manager, you are likely to be headed for further promotion, not waiting for the firing line. I guess it's more of an up or out situation, if that's what you were thinking.

I think it's just harder to get a clear signal of the value that each manager is delivering. Sure there are some headed for promotion, but deciding between an average and underperforming manager can be a tougher call. And getting rid of one just means that all their ICs get reassigned to some other manager, but the immediate impact to projects/deliverables is probably pretty minimal in the short term at least.

Changing managers throws a team into mayhem for the short term. But if the manager wasn't getting results anyway, it obviously pays off very quickly.

I think like any profession, there is a spectrum, and the better you understand the skills, the clearer you can assess them. It takes a little longer for a manager's performance to play out, but underperformance is just as clear as undelivered or bad code. If the team is unhappy and results are inconsistent, the manager is to blame (fairly or not, which is part of the job).

A more cynical view on the parallel track: https://www.spakhm.com/p/parallel-tracks

Great article, though I'd call it realistic more than cynical.

What sucks is that if you want to stay developer, people think you are not motivated. In other professions like doctors or lawyers, you can stay IC and no one says anything.

Even IC track is not exactly software development. As a tech lead, I do a lot less technical work, and spend a lot of time doing business processes. I wish we were a lot more like doctors, and focused on what we are good at doing instead of always going for next title on corporate ladder.

As a doctor, your are part of a big team managing people's health. Whether you are primary care or a specialist, you know that others are just as important to patient outcomes as you are. If you take that same attitude as a software developer, you'll realize that "management" is everybody's job. Those developers who don't are like little small town family doctors with no network. You'll probably do a decent job at keeping a small number of people alive as long as nothing goes wrong.

Agreed, development is a team sports. There are a very developers who have built anything with impact by themselves.

Post really resonated with me which is perhaps ironic given I’m looking to switch back to being an IC after 3 years. I think I got pretty good managing in that time (at least, got much better than I was). But at the end of the day, I feel the IC tracks pays roughly the same for much less stress. And it’s much more intuitively rewarding. Yes, coaching up someone and seeing them get a promotion is great. But it takes so long to get that payoff. Ultimately, for me it’s a question of happiness.

Plus, if you’re a good leader you don’t really need the title to affect change.

Total aside but the comment about joking “you’re fired”— does that actually happen? It’s just so...unfunny. In any context. Never mind being super inappropriate. I ask because this is the second post on software eng. mgmt that’s mentioned that exact point.

From my experience, I can say there are 3 types of managers:

- with little or no programming knowledge

- with moderate programming knowledge (they used to be developers long time ago)

- with excellent programming knowledge (they recently switched to management or they still develop)

...and it is really PITA to work with that group in the middle - they assume they know some technical stuff (but they don't or it is highly outdated), they underestimate complexity and they are always relating to the times when they used to write code with that passive aggressive narrative like he thinks he would do better.

Obviously I've made some generalization here, I bet there are exceptions.

It is pleasure to work with the first and the last group because the first one needs to trust development team and the last one just does.

Regarding point 1:

Makes you wonder why some (too many, really) companies are putting SE managers through the same coding interviews that they do with junior engineers.

As it turns out, when you've been a manager for years and years, coding hasn't been part of your daily work for about just as long. And when you decide to join another company, to continue to work in a managerial position, there's gonna be just as little coding there.

But still they insist you to do the same cookie-cutter DS and Algo questions.

(Note: this obviously doesn't apply for every company - but there seems to be a lot of cargo-culting going on, and trying to generalize the interview process for everyone in the industry)

Was at a very fast growing tech company until a couple of months ago on one of the core teams and while we did put engineering managers through coding and design interviews, they were not held to the same standard as a staff or sr staff level engineer.

The main goal was to understand how they approached problem solving and handled things they may not know since that was a key ability we wanted in our managers. Managers still need to be technical, even if they aren't coding on a day to day.

So while the questions may be the same, the way they are graded/evaluated may not have been the same.

having the ability to code on a basic level is actually a desirable trait in a SE manager. It helps when communicating the day-to-day. It also makes it easier to have conversations surrounding technical debt

Many technical people end up in management simply because management is usually paid more for fewer hours. In some cases it's impossible to increase your salary unless you become a manager.

Moreover, it's a lot easier to see where you are in the management hierarchy, so the career "ladder" actually exists in a way that it doesn't on the technical side.

Two important observations not found in the article:

1) Top-notch programming talent is often paid more than their manager.

2) "They nip at you from the top, and they nip at you from the bottom." Programmers have to deal with a manager. A manager has to deal with subordinates AND a manager.

I've known several friends that tried both and preferred programming.

I've changed to the management track about a year ago, and this post resonates a lot with me. It has been one of the hardest jobs I've done. On top of all this, the thing that gets me is that the feedback cycles get much longer, and you're never sure if changes are having the right effect until much later.

Hard and enjoyable sometimes don't go hand in hand. When you say hard, does it mean it's not also rewarding or enjoyable? I ask because I have been pushed to start working towards the management track by my managers but have always rejected it. I still don't feel the want/need to manage.

Personally it has been a really mixed bag. I tend to wear my heart on my sleeve and have a high sense of ownership of the things in working on. That can get really difficult when I personally am not happy with a high level decision, but have to toe the company line. Your team takes a lot of cues from you, so you need to be really careful what you present to them.

Also think about what you want to get from a management role. If you want prestige, you wont get it because you should be giving away all credit to your team. If you want interesting tasks, you wont get them because you should give them to your team.

Thinking about it now, it's like when you grow up and realize you can have ice cream for every meal, but you also recognize it's a really bad idea. You can do whatever you want with your team, but you know you need to be responsible.

I was similar to you, I wasnt really interested in the role. The thing that made me accept it was that I wanted to know if I could do it. It turns out I can, but it is draining in ways that coding never was.

Dont get me wrong, I dont regret it for a second. I have learnt so much in the last year and the experience has made me a better person. I understand a lot better how things work behind the scenes in companies, which will serve me well for the rest of my career.

Overall, I think it is worth trying and is an extremely valuable experience. The rewards are completely different and whether or not they are enough depends entirely on you. Personally, I'm considering a switch back to IC, but I do not regret my time in management.

I relate 100%. Switch back to a technical leadership role from people management at the start of the year, after three years as an EM.

It’s like a massive weight off my shoulders, and I appreciate the time I get to focus without distraction now.

Great thing is since I proved myself in that role, they kept my compensation the same in the IC role, so there’s really been no downside thus far.

Might reconsider once my toddler and infant have grown up a bit more, but right now an IC role is just the ticket again.

If you slightly shift your perspective and think backwards from "what does it take to get _products to market_" then the the question of management track vs. IC track goes away completely.

It would be impossible to pull off creating _any_ product, say an iPhone, unless you're willing to manage people at _some level_.

Most of the folks who drive innovations today have some form of management experience. They could end up _promoting_ themselves to being ICs again or stick to being managers. Some managers at big tech co.'s have come via acquisitions. Some others are ones who've been around long enough at places like Google or Apple and are capable of venturing out on their own. Examples abound: Tailscale, Humane etc etc.

How do engineering managers actually measure the productivity of their teams? This seems like a crucial issue for an engineering manager but it rarely seems like people are happy with how this is done or it's all just subjective.

If you're not very close to the money, that's very hard. You can measure the team's productivity, but going down to the individual level is difficult. The process is also fundamentally political in the sense that it is a zero-sum game: there is almost always a certain budget available, independently of how individual people perform. The best short description I know about the constraints of performance reviews was written by Sinofsky: https://medium.learningbyshipping.com/performance-of-perform...

This is something that has to be done, but I know very few managers who enjoy the formal evaluation periods. That's certainly the part I myself enjoy the least.

I was almost hesitant to click on this because of some of the not-so-helpful stuff I’ve read in the past on this topic. But I think the author really hit the nail on the head here.

If you’re someone who’s thinking about making the move into management.. I strongly recommend giving this a read. It’ll give you a sense of some of the responsibilities, dynamics, and challenges you’ll be likely to face. They all ring very true from my experience.

Btw, this article and associated discussion "If management isn't a promotion, then engineering isn't a demotion":


also provides another perspective why choosing the management track has value beyond purely a salary motive.

This comment in particular has wisdom: https://news.ycombinator.com/item?id=24444955

“Welp, you broke production. Pack your things, you’re fired.” Ugh, when was this humour ever funny? I'm a manager, I like to joke around with my team. There's a lot of comedic ground to cover before you start joking about people being fired.

You'd be surprised. I've seen a number of times where new managers used to just being one of the team don't realize that joking about performance, compensation or someone's job takes on a very different tone when they have some actual or perceived power over these things.

I agree, this is an easy mistake which arises from a history of "friendly" office banter.

Especially if you're used to being playful with humour and words, and acting like mates humour at each others' expense.

Jokes about performance and firing have a much bigger impact than the inexperienced manager realises. But I think it's not great when non-managing peers do it to each other either.

Unless there are really well established relationships and a good track record at work, there's going to be some background thought, conscious or unconsciously adding a little stressor: "I wonder how much they really mean it" and "I wonder if my boss thinks like this too".

A lot of people have imposter syndrome already. It doesn't take much to add a bit more.

It can be funny when coming from one IC to another IC. Which I think is the point of that sentence. Jokes that may have been funny and have hit home when you were co-workers suddenly have very different connotations now that you might actually have the power to fire someone.

I did this back in the 90's and while it's a nice bucket list entry I wouldn't go back to it.

As someone who joined and then departed the management track fairly recently, there’s another aspect here that’s not mentioned, but contributed to my finding other work: as what I’ll politely call social awareness has grown in companies, even technical managers are expected to buy into and boost to their team a lot of policies I flatly do not agree with. Not too long ago prime concerns for employment were suitability to the job, now it’s whether they’re the correct gender or race. Team dynamics are supposed to focus on sharing deep meaningful emotional personal things which I believe is both inappropriate and unprofessional (and hurts team dynamics). I was subjected to sensitivity training where I was supposed to admit my racism/sexism by virtue of not being a female POC, and new employees who were not white men (or H1Bs) know they can get away with all kinds of bullshit because while they may not have been diversity hires the company is highly motivated to keep a diverse-appearing workforce. Conversations about technology or business basically became nonexistent - I felt like I was being asked to be a social worker first and only. Eventually it became so frustrating I left for an IC role and couldn’t be happier. Now when my boss asks if I want to get involved an effort to root out all the bad technical words we use and replace them with rightthink I can just say no thank you instead of pretending I buy into any of it.

This is just shitty company strategy or corpo/wanna-be-corpo bullshit, I think you can find smaller companies where poor performance is harder to hide, thus they can't afford it and everyone's happy (except people who actually benefit from that bullshit, but they are not there because they were already fired).

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact