Choosing the Management Track
blog.danielna.com
blog.danielna.com
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!
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 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.
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?
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.
Yet, politics is not the same thing as managing.
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.
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.
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.
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 am aggressively hiring EMs, and will definitely consider first time managers.
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.
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 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.
- 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
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
Consulting often involves traveling and that's not fun for everyone.
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.
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.
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.
Forcing yourself into a role you aren't really suited to is a recipe for becoming miserable.
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.
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.
If you want FAANG money, just join FAANG.
If one likes to work in Southeast Asia for example, it doesn't take FAANG money to enjoy living there.
"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.
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.
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.
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.
As you grow experienced as an IC you want to say in the product roadmap. Usually that only happens at the management level.
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.
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".
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 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.
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 :-)
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 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 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.
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.
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.
- 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.
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)
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.
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.
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.
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.
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.
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.
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.
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.
https://news.ycombinator.com/item?id=24444644
also provides another perspective why choosing the management track has value beyond purely a salary motive.
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.