12 ms·
From engineer to manager: what I love, what I hate
- Prcmaker 3y agoI've watched a colleague go from a good engineer, to a great engineering manager, to an awful project manager. I see him hating what his career has become and I feel terrible for him.
- thoughtspile 3y agoI've also seen horrible engineers whose code made entire teams miserable become amazing managers tho
- BeFlatXIII 3y agoFor sure. It's absolutely NOT the expectation, but there definitely exist people whose talent is in people-managing with little to no domain expertise. IMO, whether one of these individuals can be used is the distinction of whether a role is line supervisor or management. Line supervisors need the subject knowledge to teach fresh hires and know how to identify and fix problems caused by slackers. Management would rely on the senior employees for mentorship and keep their ear to the rumor mill to identify suspect underperformers.
- ssss11 3y agoThat’s a shame, he can always try changing it up again. I’m the opposite - engineer to manager, didn’t like people management side of it, changed to project management and loving it. I do miss technical work though.
- Prcmaker 3y agoI really hope they do, but I'd hate to lose him as a colleague. Unfortunately it's likely to be one or the other.
- yamrzou 3y agoAre there companies that would hire you as an engineer for a team lead position without much prior experience? Or is the only way to transition within the same company?
- t43562 3y agoThe smaller the company the greater the chance of that IMO. I had to do it within my company and it was all a matter of luck, timing the right manager etc. Today it wouldn't happen again. I think it's also not easy to do in a static situation where people have a fixed image of you and your talents in their minds. So basically I think you need to move around - if it's not happening for you in one place you need to find another.
- thoughtspile 3y agoI haven't had any luck applying to leadership positions without prior experience. Your best bet is finding a fast-growing product: when the team triples, you'll need some new managers. I got to move around 2 months into my IC job, and now my team has grown to have another 3 leadership slots.
- OJFord 3y agoBut also make sure you're going to be happy if it doesn't work out. It's actually more likely at a larger company with established tracks IMO - hit the bullet points for next level/sideways move, say you think you've done so and that's what you want to do, be recommended for or apply internally for such thing. If you were considering leaving as an alternative plan then you presumably won't mind if that's in a different part of the org anyway.
- rsynnott 3y ago“Team lead” can mean practically anything, but if you’re talking about an EM, I think most companies would be _extremely_ reluctant to hire one with no prior experience as an EM. A bad EM can completely ruin a team; it’s not something that you want to take any more chances with than you have to.
- askonomm 3y agoAnd here I am, 12 years into my career as a software engineer, never, ever, wanting to be a manager. I just want to build things, I don't want to manage them. I see what it is like to be a manager as I work closely with them, and I just don't find it appealing at all. As a senior engineer, my words also often matter, but I don't have the huge amount of responsibility that comes with being a manager, which is nice. I want less stress in my life, not more. I guess my next 30 years in this career will be the same position I am in currently.
- mytailorisrich 3y agoSenior engineer is fairly low. At some point you may get tired of stagnating salary and being told what to do all the time. They are higher technical positions that have no or very little management responsibilities (up to senior principal engineer, architect, etc). It depends also on the company and how much they value you. Best I have seen is engineer with PhD and decades of experience be the research/architecture guru, no team, no direct reports, a lot of Matlab, and be "VP of technology" in a company of several hundreds.
- askonomm 3y agoStagnating salary? Every job change comes with around 20-30% raise usually, so I would not call it stagnant. Managers are also being told what to do, by those above them. Since I do not work for FAANG companies, but rather small-to-medium (regular?) tech companies, they mostly never have principal/architect roles. My current role, in most cases, is actually the highest IC role there is.
- mytailorisrich 3y agoIf you remain 'senior software engineer' your salary will be constrained by the market range for that position. When you get to the top of the range your salary will only increase in line with inflation/market forces whatever you do. It's not possible to get 20-30% more every time you change job unless you've stayed a long time in your current job and they were taking advantage of you (in which case those 20-30% represent what you were actually losing). As for titles, obviously what I meant relates to what the actual role entails. 'Senior software engineer' is usually not very senior, in my experience this often means a dev who can be left alone to deliver the specific feature they were tasked to code. As for "highest IC role there is" again, if the job description is very senior you can also negotiate commensurate title and pay.
- hknmtt 3y ago[dead]
- warkanlock 3y agoI started as an engineering manager (CTO of a small startup) a few years ago; my life has changed a lot, and for every aspect you love and hate, I share the same feelings. My additional advice here is to meditate. For real. Sit quietly long enough for your brain to switch off before making essential and impactful decisions that could harm your people. In the beginning, you become a kind of parent-to-child genius. You have to accept them and also understand their ways. The more controls you put in place, the less control you will have, as they will attempt to jump around and oppose the unnecessary bureaucracy (I'll do the same, honestly). My second advice is to always behave as if you are going to leave tomorrow. This will prepare your team and your peers and even improve your lifestyle.
- urthor 3y ago> My second advice is to always behave as if you are going to leave tomorrow. This will prepare your team and your peers and even improve your lifestyle. This is very good advice.
- spangry 3y ago> My second advice is to always behave as if you are going to leave tomorrow. In a similar vein, my ultimate management technique is to take leave and have my subordinates act in my position (for at least 2 weeks). It really accelerates their development and it's oddly reassuring to discover that I'm not indispensable. At the same time, I do wonder if it indicates that I'm doing something wrong given they seem to develop faster when I'm not there...
- yuppiepuppie 3y ago> you become a kind of parent-to-child genius. Ha! I just recently became a parent, and the skills are highly transferable between EM to parent. Some days I feel like I am employing skills learned on the job to managing my family.
- grilledcheez 3y agoI’m a senior dev currently interviewing for a team lead position at a startup. While I consider myself highly technical, the things that frustrate me the most day-to-day are teamwork related. Lack of trust. Teammates who don’t want to talk to each other. Other seniors getting away with subpar work. Lack of clear team purpose and product vision. Lack of buy in on common engineering practices. As a people manager these issues I care so much about would be within my sphere of influence and responsibility. For better or worse.
- madsbuch 3y agohow do you think they will get more into your influence of work?
- t43562 3y agoI felt this - a lot of the problems I've experienced with teams before could have been solved by the management. In practise now I find that I am a Team Lead and yet I have far less ability to influence things than I thought. There are a host of people including my boss who want to run everything and expect me to be a rubber stamp. In fact I get into shit more because I have to speak up for people in the team who are (unfortunately) rightly afraid to. Like "for a story to be ready we need the API defined" - how can QA work in parallel on automated tests when they don't know what to test? Scrum masters, POs, my manager, architects......they just talk whichever shit suits them today as if it was all self evident truth and tomorrow they're moaning about why the tests are late. Basically you get into the politics of who is to blame for the state of affairs and the people who chose those directions and strategies are well connected and good at shifting blame.
- srvaroa 3y agoI don’t fully agree with all points but there are many words of caution to be spoken about the expectation that by moving to a manager role you get more agency on the things that frustrate you as a sw eng. “The managers path” is a good resource to expand on that. https://www.amazon.com/Managers-Path-Leaders-Navigating-Growth/dp/1491973897 https://www.amazon.com/Managers-Path-Leaders-Navigating-Grow...
- shubhamjain 3y ago> Suffering from front-end fatigue? Can't keep up with the newest shiniest frameworks and tools? Management's got you covered! The "hot new" agile / kanban / scrum methodologies are 20–30 years old. The basic meeting types (demos, dailies, 1-on-1s) have been developing for centuries. > Frankly, after 4–5 years of working in a particular tech area, you can solve the vast majority of practical problems well enough. If you want some work challenge, you can: I hate takes like these. "Good technical skills are dime a dozen, but management? that's the hard shit." There's absolutely no lack of meaningful skills you can expand into if you're plateauing as an engineer. If you're a front-end engineer, go learn some design and product thinking, that'll help you give better input to other teams. Learn some scripting, and automate a bunch of shit. Learn some SQL and learn to query data on your own, instead of relying on others. The best manager I had had a wide range of technical skills, so was able to make smart decisions since he had a very holistic picture of the codebase. Technical management shouldn't be about following methodologies, doing 1:1s, and being a middleman, it should be about making good practical decisions.
- thoughtspile 3y agoNot saying management is harder than engineering, at all. It's just another nice big area to learn something new. Big companies tend to be quite prescriptive about role boundaries, so if you're an FE engineer, you can learn design and provide input as much as you want, but you won't likely get to design a new screen from scratch instead of your regular designer. I mean, over the last few years as an IC I fiddled with CI setups and automated QA, wrote some CLI codegens, but after some time you really notice you start inventing problems to have some fun.
- whstl 3y agoYou're mostly right, but: depends on your manager. I do let my FE engineers do mockups when they want. It is often objected by other people who wanted to do it (but didn't) or wanted someone else to do it (but didn't have time). But whoever is trying to make me and my team's job hell, will get the same treatment from me.
- coffeefirst 3y ago
- mattlondon 3y agoThe biggest pain is the people. You'd be surprised how childish grown ups can be. FFS just be adults and get along. 80% of my stress as a manager is basically solving playground squabbles between people old enough and experienced enough to know better. Then of course the other 20% of the stress are your reports actively trying to undermine you, or publicly question your purpose/existence, or cut you out of decision making processes, going behind your back and contradicting previous agreements, trying to short-circuit or subvert agreed processes etc etc for above childish reasons. Turns out that a lot of "professionals" are not professional at all and are actually pretty petty, spiteful, grudge-holding argumentative children who go into a strop (or as the article puts it "go lay on the grass thinking about their project") for a day or 5 if they don't get their way. The rest of being a manager is a breeze though! 10/10 would buy again etc :)
- thoughtspile 3y agoWell, it's well known that to become a team lead you must eat the previous team lead) To be fair, some managers over-optimize to protect against people undermining them, not sharing knowledge and responsibility and even actively removing top performers with leadership ambitions
- Xenoamorphous 3y agoSomething I’ve noticed in the company I work for is that team leads which still write code is that they will take for themselves the high visibility projects.
- thoughtspile 3y agoI even think this is sometimes in good faith, as in "this is some serious shot, better handle it myself to avoid failure". My favorite pattern is what I call "code sheriff" lead, who does all code reviews himself to prevent bad code from reaching trunk. Then proceed to complain how you can't go on a vacation because all processes stop.
- Tokkemon 3y ago
- t8sr 3y agoI have been a manager four times, twice at FAANGs. I disagree with a lot that the author says: - The ladder isn’t really taller. Most EMs end up clustered at the equivalent of L6/staff engineer. Promotions to senior manager and beyond are situational and rare. Meanwhile, my peers on the engineering ladder get promoted when ready, without needing to wait for the stars to align. (I made it to senior manager, but I was lucky to be in a growth area.) - The skills feel transferrable, but every pure EM I know who got laid off is still looking for work and ready to give up. Meanwhile, those of us happy to go back to IC roles have no trouble finding work. Corporate management cultures are actually incredibly variable across companies and not directly transferable. The single most transferable skill I know in this industry is Linux internals. - The idea that 5 years of experience is enough to solve most problems is crazy to me. 18 years in the industry, and I’m still very aware of things I don’t know and need to get better at. I know amazing engineers with 40 years of experience who are still learning and getting better. IMO the best thing about being a manager is that you get to spend a lot of your time thinking about the future, and you are more likely to be “in the room where it happens,” talking to and hearing from C-levels. It’s also the worst thing, because you see how the sausage gets made. I do agree with the things the author dislikes, but they get better. As a new manager, the author possibly hasn’t yet run into the thing you come to hate the most: senior management in many companies is basically a high school clique. Behavioral problems that would get normal people fired are sometimes tolerated in VP, C-levels, even directors sometimes, and working in such environments is trying.
- shubhamjain 3y agoAnother point: there many more senior+staff engineer roles than EM roles. Once you become an EM, it's much harder to make a switch, because: a) the roles are fewer b) companies are wary of bringing in an EM for a team (prefer to promote within the ranks, in my experience). c) switching from EM to a senior engineer role is hard both because it feels like a downgrade and because I see companies not that willing to offer it. Of course, if the company is on the right course, you've hit a jackpot and can become an important leader few years down the line, but I know many EMs who are trapped in a bad org because of this. I believe engineers transitioning to a management role should keep these things in mind. I prefer making less bucks and keep my peace of mind about moving somewhere else.
- lll-o-lll 3y agoI’m a problem solver and big picture thinker. I like working out the solution and helping solve the obstacles. The role that has always fit the best is “architect”, but it seems to be going away as a title. No matter, the need for the work remains. But I’ve done a few of the other roles over the years. Team Lead/manager, Scrum Master, Product Manager (without the title). Here’s my take. A good manager requires a very different skill set to an engineer. The primary skill is to have extremely low neuroticism. The ability to make good decisions and present a calm and rational exterior under prolonged stress. 90% of lower level managers do not possess these attributes, and under stress, damage the team and company. If you want to be a manager, honestly assess how you respond to stress (particularly prolonged). Do you lash out at those around you? Hide or freeze up, unable to make a decision? Blame others and seek to protect yourself or reputation? These things, as boring as they sound, are the real differences between effective managers and everyone else.
- natsucks 3y agothis. this right here.
- rcbdev 3y agoI've noticed the most effective managers I've worked with came from calm low-stress countries with similar work cultures - maybe the key to solving crunch and burnout is to create a regulatory environment where a worker's entire livelihood (health, rent, loan payments towards public universities etc.) is not solely dependent on keeping their job?
- atomicnumber3 3y ago"But of people aren't mortally afraid, they won't work hard enough!" - American capitalism I once had a manager (not my direct manager) tell me "maybe some fear is good?" No, it's not. Fear is useful for outrunning predators, but it is a useless emotion for programming computers. Unfortunately that particular phrase had come to that manager from the CEO, so, yeah. That company is a mess of short termism and hasty irrational decision-making and constant thrashing / "why can't we execute on big projects". It's because everyone is so scared that they're just trying to survive, and rule number 1 of surviving is to avoid large unpredictable projects. I detest this whole line of thought because it's completely at odds with the reality - that people, and especially programmers, are creative and inventive by nature and are the last people who would "do nothing" if not afraid.
- deleted 3y ago[deleted]
- quickthrower2 3y agoI have found EM positions (where you lead a team of 4-8 and your reports are ICs) to be way more stressful and don’t really pay much more. VPEngineering is where you get a meaningful pay increase. In addition you need to keep up with the tech as you need to evaluate the skill level of people in your team plus they turn to you for advice. And it is way more tiring. Keeping up with what many people are doing, at a technical level, plus all the people related stuff, bureaucracy etc. Needing to attend lots of meetings and sync up. I agree it has a better career path for most, because technical career paths tend to either require a FAANG or maybe a ThoughtWorks or just massive IQ and effort to learn something like C++ HFT to rake it in. Or maybe be a sales engineer or growth engineer. Or founder.
- thoughtspile 3y agoBut then again, c++ hft and payment processing aren't exactly low-stress jobs either
- quickthrower2 3y agoYes indeed. My point was more that to make more money as a IC there are niches but there is no general track, but as a manager you stay at your crud webapp company and can manage more and more people.
- brycewray 3y ago> Your words have weight. If you, an IC, say "guys, we really should write tests", everybody goes "oh, crazy old Vladimir, all grumpy again, haha, where do you see tests fit here?". If you, an EM, casually say "guys, we really should write tests", you might be surprised to find the tests unexpectedly growing in different places. Pleasant. Many years ago, I was standing in my then-boss’s office while he got off the phone from an apparently successful request to have somebody in another department do something for him. He looked up at me from his desk, grinned slightly, and said in a bemused tone, “Well, I didn’t get any prettier when they changed my title to ‘Manager’ [from ‘Specialist,’ before I was in his team], but it sure helps me get things done.”
- waynesonfire 3y ago> guys, we really should write tests Oh sure thing, assign another task to an understaffed inadequetly skilled team with a roadmap due yesterday.
- zeroonetwothree 3y agoAs the senior IC on my team it’s my manager that asks me to bring things up with the team since they actually listen to me. Managers just get ignored unless they actually threaten you with consequences and you have to use that sparingly.
- 93n 3y agoSenior here too. It's a mix - usually my manager pushes hard on the less in the weeds-type topics, and I push on those in addition to the lower level topics. I can say with certainty that neither my manager nor I are ignored.
- srirangr 3y ago> So, if you're tired of keeping up with the latest hot thing in tech, a management role can provide a well-deserved relief. Do keep an eye on what's happening on the tech side of things, but there's no urgency, and no need to get real deep. This is such a poor advice. In any company that has a dozens customers, your team is likely to face technical problems. When your team faces a problem and you are unable to solve it, your team will notice that and they will stop looking up to you. In fact, any engineer who solves the problem will be the hero everyone admires. The approach mentioned by the author makes you a good "boss", but not necessarily a good "manager" or "supervisor" or "leader". > Life of an engineer is relatively relaxed. If you don't have anything urgent, you can go lay on the grass for half a day, thinking about the future of your project or something. You can miss a few meetings on short notice, no questions asked. In which company does this happen, I wonder!
- draw_down 3y ago[dead]
- thoughtspile 3y agoIf you want to build a decent team, you really have to relax your grip on the tech part. You don't fix every problem yourself, but have someone who can fix it available. Otherwise, people don't grow, and you can't take a vacation. You totally need a general (middle / senior level) understanding of technology, but having a separate person with strong technical chops is key. > In which company does this happen, I wonder! As a staff engineer on a design system for a top 50 website, roughly half my job was detailing a tech roadmap and identifying what can break across the codebase, something you can do perfectly well on grass.
- robertlagrant 3y ago> When your team faces a problem and you are unable to solve it, your team will notice that and they will stop looking up to you. In fact, any engineer who solves the problem will be the hero everyone admires. This is quite revealing. Being a hero, or being looked up to, might be some people's goals. But definitely not everyone's.
- Jnr 3y agoSomehow I managed to read the title as "From engine to engineer". I moved from engineer to manager some years ago hoping I would get access to new tools to be able to push forward some necessary innovations, but it seems like I was constrained even more. Currently moving back to engineering and thinking that I should probably start my own thing soon.
- runamuck 3y agoI once led a team of PhD level IC's. I had to find them work, keep away the dreamers and keep them happy. I would no joke spend sometimes six hours at a time talking to them individually, playing guidance counselor, playing the role of comforter. I never thought that would land in my job bucket! One of my guys helped win two separate 10 figure deals so my time payed off!
- vander_elst 3y ago> If you don't have anything urgent, you can go lay on the grass for half a day, thinking about the future of your project or something Is this something common? I'm working as IC at FAANG for 6+ years in different teams, but I've never really experienced something like this. I've always been working on stuff that should have been finished yesterday.
- titanomachy 3y ago> stuff that should have been finished yesterday. I’m sure it depends on your org, but you can often choose how seriously to take that pressure. I’m also a FAANG IC and work is usually pretty relaxed. It’s a marathon, not trying to burn myself out. You really have to do near-zero work for a long time to get fired and it seems like promotions happen on a pretty similar schedule regardless of how hard people work. Keep your commitments, but commit to less. If you want to get promoted do one good piece of L+1 work instead of trying to cram in more L work than everyone else. If your manager tries to manufacture stress to make you work harder, find a better manager.
- dz08dl 3y agoMy background is the opposite; I'm a mediocre software engineer but have quite good people skills. I'm experienced enough to know what takes time and which parts of the system are more critical than others. I have a few senior engineers whom I really listen to carefully and to whom I give a lot of trust and empowerment. I don't make design decisions, they do and I give input. I take responsibility when we fail (and learn from it) and give the team credit when we succeed. In my humble opinion, being a manager is more about people than anything else.
- thoughtspile 3y agoI think that's the optimal EM career path TBH. It's a shame many companies don't have an official middle-to- manager switch mechanism.
- dz08dl 3y agoI like to think I'm a good fit, but of course, I need to improve my skills, like anyone else. At the end of the day, we are working with people, and there's no one-size-fits-all solution. Sometimes the most skillful engineer is the best fit for the EM position. However, I truly believe that to get the best output, you want team members to commit as a group and to feel that it's rewarding to achieve goals and have personal development. Unfortunately, not everyone has the luxury of a long-term perspective.
- flappyeagle 3y agoThere are two ways to be a manager You can think of yourself as a people manager agnostic to the org goals Or you can think of yourself as the captain of a team leading them to victory It’s helpful to know what someone means before trying to understand their thoughts on management
- crossroadsguy 3y agoThere’s only one reason (and only one) I would want to move from the coder/IC role to managerial track — and that is the white-boarding interview rounds that is needed every single time I want to switch jobs which needs (almost) excruciating preparation afresh - from scratch. (Yes yes, there are roles without that and that’s incredibly rare). Often, I just stay in the same job thinking of that preparation and saying, “oh god, not again!”.
- RickJWagner 3y agoPerhaps the best anecdote I've heard on this topic came from an older COBOL programmer who went from being programmer to manager back to programmer. I asked him why we went back. He said "The problem is that they nip at you from the top, and they nip at you from the bottom." Meaning a programmer usually has one primary boss nagging. A manager has a boss above nagging and people below nagging.
- moribvndvs 3y agoPart your experience depends on your organization, as well as your disposition and predilections. My foray into management absolutely fucking sucked. I was a shock absorber and clutch plate between team members and board/executives/senior leadership. On bad days I was the bearer of bad news or executioner. It was strictly a top-down affair; despite endless bloviating about open doors, open minds, and being empowered to lead and make changes, I was expected to do what they told me, keep myself and my team in line, and if I had any ideas they’d “bring it up in their next leadership meeting” (spoiler: they won’t, or if they do, it will be disregarded). Despite given a mandate, I had very little authority. You also have to deal with idiosyncrasies with other managers. Lazy ones you have to pick up the slack for lest you become blocked. Bad ones who poison their team and create mistrust that spreads to others. Overeager ones that somehow seem to get their way or maybe have an easier department but who nonetheless get the attention of senior leadership where unfair expectations are placed on you. The day-to-day was miserable. I’m highly technical and I like to get my hands dirty, being a manager vaporized a significant portion of why I enjoyed working at a tech company and mostly left me with the reasons I don’t. Being a Jira or spreadsheet jockey, filling out PIPs, IDPs, KPIs, budget proposals, expense reports, screening interviewees, managing petty squabbles between people, juggling PTO calendars, scrum bullshit, and endless fucking meetings. I’ve never been so busy doing what felt like so little. Sometimes it felt like I was babysitting people that, as a peer, I enjoyed working with. I was also utterly repulsed by HR. I don’t know if HR has made a bad turn lately, was always like this, or my experience was just organizational, but these people are Stasi-like agents that seem to want you to spy on every little detail and use it against you and the employee. Yet when I actually needed them, e.g. conflict resolution, they were completely incompetent and insensitive, enraging employees rather than empowering them. They always sided with senior leadership, even when that person violated our own handbook. Unlike the author, there wasn’t really anywhere else to go. Senior leadership doesn’t have a lot of openings. At best, I just get shifted around to other teams and maybe get dropped in one less fucked. I enjoyed mentoring a lot, but sometimes reports looked to me like I’m a parent or a therapist and it was too much (and HR useless). I enjoyed strategy and design, but senior leadership was frustrating and frequently didn’t listen or involve me at all. I enjoyed delegating and giving reports opportunity for growth, allowing me to stress about the minute details less, but now my ass was on the line for the entire team which is waaaay more stress than just doing the work. I generally chalk it up to me being a poor fit for the role in a dysfunctional company, but talking to other managers, it seemed my experience was not uncommon.
- bartwr 3y agoI enjoyed the post and appreciate the author sharing their perspective. It's one of many valuable datapoints for anyone considering such a transition. I agree with a lot, but like others - disagree with some. My background: I've worked in tech for ~14 in all kinds of roles - from pure junior IC, through a "team lead" (something between an expert IC, a tech lead, and a manager), "tech lead," company's "technical architect" (highest level tech lead, peer to the technical director, but without any direct reports), and something akin to a tech director. Now I'm back to IC. Companies from small gamedev ones (80 people total, 15 engineers), medium gamedev (30 engineers and coding technical artists), huge gamedev (Ubisoft where you can have 100+ engineers and 1500 people total on a project), and for the last 7y "big tech". The idea I would like to push back the most is that "your words have more weight". I have never had trouble getting my opinions heard, even if I didn't push them. Being the expert IC and "problem solver" sometimes I'd have even CEO asking me directly for advice and how to solve some issues (both technical and non-technical!). Not always following them, but I didn't expect that. Having an official title, in theory, you can use some "authority" to formally push those ideas. But... in practice, it does not work better. People will still go directly to the most technical experts. And if you abuse the position/authority/title (I hope I never did that, but that's not for me to judge...), it can cause resentment, pushback, and more disagreements. You will also hear less of gossip and honest feedback, to some engineers you becomes "not one of us anymore". It can also destroy friendships. I had a great friend (meeting socially with our wives once a week, sharing interests) who was my peer and was then promoted to my lead. I still really liked them and wanted to stay friends. We always had technical disagreements (which were fine for peer ICs). Later, some of those technical disagreements and my bringing up issues publicly caused him to get bitter with me (as the upper management saw those and took my side on some occasions), and eventually stopped the friendship completely; after I left the company, they started ghosting me. :( Similarly, on a few occasions, I agreed to lead/manage formally (in one case, it came from me - in other cases, I was asked to). I agreed because I thought, "Things are f-d up; I can solve them by being closer to the upper leadership and helping the team succeed." Man, I was so naive. :( I didn't have any more authority or power with the higher-ups, and there were more disagreements. They expected me to enforce policies I disagreed with. As you can imagine, this didn't last long, and I always ended up leaving the team/company and being super burnt out. So now I'm happy to be a staff-level IC, an expert, and a "hacker," playing with problems hands-on and building my expertise further. The field grows so quickly that there is always something exciting and new to learn and do. I would happily be a tech lead of some project close to me (luckily, at Google and similar, it's flexible, per-project, and not formal), but I probably do not want to manage again. Maybe it will change, depends.
- zerolayers 3y agoI've written about the opposite and the motivations behind it. Was hoping to publish it as a book, but after shopping it around briefly, didn't have any takers. I did post a few "chapters" if anyone's interested - https://www.zerolayers.io/p/wonder-ch1-p1 https://www.zerolayers.io/p/wonder-ch1-p1
- city41 3y agoA bad EM can do so much more damage than a bad IC. I don't think that's talked about enough. In my now very long career I've had 1 great manager, a few good/decent ones, and a lot of lousy ones. The lousy ones just make the job so much harder and sometimes outright miserable. A bad EM coupled with junior ICs can be particularly bad combo. At least as I got older I came to realize I can work with bad managers and help move things towards a better place, or bail if I feel it's hopeless.
- jaxr 3y agoHow would you define that one great manager? What personality traits, behavior, skills made that person stand out? I'm curious as I'm getting more managerial responsibilities.
- zeroonetwothree 3y agoThe key is to remember your job as a manager is to unblock your ICs and make sure they are working on stuff that matches their skills. It is not to: - Overrule them on technical decisions - Create extra processes to follow because you are insecure Being a good manager is all about doing the minimum. That’s why you see comments earlier in this thread about leaving your team for a few weeks.
- AirMax98 3y ago> First, you can easily take on a team with a wildly different focus — mobile developers, infrastructure, ML engineers. You'd need some time to get up to speed on the big-picture technical struggles of your new team, but most companies would take this shot. If you don't want to be an EM any more, you're well-positioned to move to a project or product management role. Have to comment that this is just completely wrong and we need to stop telling ourselves this. I’ve experienced a lot of pain with EMs who have no idea what is really going on in a codebase because they have little domain expertise, no idea what tradeoffs are made by developers, and, crucially, do not ever punch the keys and commit anything. Why? Because frankly, they already have the job. If you don’t ever interface with the codebase and don’t really understand what it does, but you still feel so inclined to steer the ship, you’re a product manager, not an EM. Possibly worse because there is more credence given to you? This is most likely advice for someone who just wants to issue vague edicts to a team that frankly does not need them.
- musicale 3y ago> As an engineer, I hated bloody corporate BS: individual performance reviews, Good to have someone acknowledge that individual performance reviews are ineffective nonsense. I have seen little evidence to contradict this in organizations that I am familiar with. The result seems to be that promotion is largely based on seniority, personal influence, random chance, or changing jobs.
- sleight42 3y agoEDIT: re-read and saw that you have to find the weakest link every 6 months. That is awful. As a manager of several years now, you missed one of the absolutely worst parts: "performance management" a.k.a. when one of your reports is repeatedly/consistently unable or unwilling to meet expectations and you have to put them on a Performance Improvement Plan. Not only are PIPs a slog for you, they're absolutely torturous for your report. If you have a shred of empathy, it's tough. If you have a lot, it's agonizing. Add H1B status to that mix and you're possibly the person responsible for sending this person out of the country. I had two years across two jobs where I inherited teams where many PIPs were called for. It led to me quitting the second job outright and nearly a year of sabbatical recovering. Harming others is not why I became a manager—really the opposite. On a good day, I get to help people grow and be a part of their victories. On a bad day, I'm at least indirectly responsible for their suffering and feeling miserable about it for at least days. It can be a tough gig.
- angarg12 3y agoIt seems OPs opinion is heavily influenced by their personal experience, and it doesn't generalize well. In fact I have the complete opposite opinion on several points > Your words have weight. If you, an IC, say "guys, we really should write tests", everybody goes "oh, crazy old Vladimir, all grumpy again, haha, where do you see tests fit here?". If you, an EM, casually say "guys, we really should write tests", you might be surprised to find the tests unexpectedly growing in different places. I can't generalize, but in my company engineers trust Staff engineers way more than managers. Everyone has informal authority, and from my experience engineers tend to respect other engineers more. As a manager you can ask people to do things, but there is no guarantee they'll do it. And if you need to resort to your formal authority to resolve something, things probably went wrong somewhere. > Frankly, after 4–5 years of working in a particular tech area, you can solve the vast majority of practical problems well enough. If this is the case, then you are certainly not pushing yourself hard enough. Maybe it's company specific, but right now in my team there is a neverending list of ever increasingly bigger and more complex problems. The idea that you can master everything in 5 years sounds extremely naive to me. > Life of an engineer is relatively relaxed. If you don't have anything urgent, you can go lay on the grass for half a day Please OP tell me where you work. I'd like to lay in the grass half a day, rather than being constantly pulled into 10 different directions and having to push back on new requests.
- oars 3y agoVery useful post for me to refer to in the future when transitioning into engineering management. Archive link: https://archive.md/HqCSb https://archive.md/HqCSb
- nehal3m 3y ago>If you, an EM, casually say "guys, we really should write tests", you might be surprised to find the tests unexpectedly growing in different places. Pleasant. I misread that last word as peasant. I felt simultaneously insulted and ready to write some tests.