9 ms·
I've had some god awful managers in my engineering career and my managerial philosophy is twofold: have empathy and keep coding. Most, if not all, of my manage
by halfmatthalfcat 6y ago
I've had some god awful managers in my engineering career and my managerial philosophy is twofold: have empathy and keep coding.
Most, if not all, of my managers over the past 10 years have been people managers cloaked as engineering managers who have all stopped programming a decade ago. So much respect is lost for managers who have turned their back on the very craft that brought them into management.
Before the people manager crowd chimes in with "it's not my job", "we have leads", etc, I want to say that it's about the principle of the matter. I don't care if it's "not your job", on principle you should want to keep your skills sharp in order to fully relate to your supports and, if shit is on fire and you're the only one around, to actually do something and fix the problem instead of completely leaning on your team.
- watwut 6y agoI dont need managers to be coding. I do need them to have technical background and willingness to understand what tech is relevant to them - I had only bad experiences with non-technical managers. But I really dont understand why they should be coding. Even active developers are not able to fix whatever in any module, you fix only in areas you understand. When shit is on fire, I dont want managers or other random developers to create a bunch on hotfixes that will cause new problems. I want managers to organize the project in a way that shit wont burn on every release.
- halfmatthalfcat 6y agoThey should be coding because they're "engineering" managers. What's the point of having engineering in your title if you're not actually practicing the craft? They should be coding because they'll be able to relate to their supports in a deeper and more fulfilling way. They'll be able to mentor and provide guidance on technology best practices and patterns. They should be coding because they'll be able to more accurately plan and execute projects. Understanding and applying the technology is understanding it's pitfalls and anticipating potential upcoming challenges.
- marcinzm 6y ago>They should be coding because they'll be able to relate to their supports in a deeper and more fulfilling way. That's a valid point although I've seen it go badly when a mostly out of touch manager (time is finite, even the most technical manager will be out of touch) thinks they're still at the top of their technical game. They then force out of date engineering decisions on the team. >They'll be able to mentor and provide guidance on technology best practices and patterns. That should be done by the senior engineers and tech leads with support from the manager. These are the people who spend 100% of their time thinking technology while even a technical manager will do it 25% of the time. The manager should be the one to structure these conversations, formalize mentorship processes and so on.
- bluefirebrand 6y ago> That's a valid point although I've seen it go badly when a mostly out of touch manager (time is finite, even the most technical manager will be out of touch) thinks they're still at the top of their technical game. They then force out of date engineering decisions on the team. Yes, or even worse they don't respect it when their team tells them something is hard to build and will take more time. You get a very "back in my day I'd put this together in a weekend what's the big deal" attitude from people like this.
- throwaway3699 6y ago"Engineering" is more than coding and engineering managers can provide insights and value by demolishing higher-level roadblocks for their IC colleagues.
- dasil003 6y agoThe role where you're still hands-on on a team is sometimes called a Tech Lead Manager, and there is a ceiling to this role. The next step up is true Engineering Manager where you have to be able to talk to engineers on other teams and gather information without being familiar with their code. If you rely on direct knowledge of code in all circumstances you won't be able to effectively operate in an organization with thousands of engineers and millions of lines of code. This is super hard, and relies on deep experience in the trenches (preferably 10 years+), but it is the only way to solve broader organizational problems that cause projects to fail, and many eng months or years to be shitcanned.
- dominotw 6y ago> need managers to be coding. > understand what tech is relevant to them can they really understand tech by merely reading whitepapers and youtube videos?
- dimitrios1 6y agoThe best engineering manager in my career was not amongst the best developers I knew. (Conversely, the worst engineering manager in my career was one of the best developers I knew). He had two particular skills that many will never have or take a decade or two to cultivate: he could provide you feedback, empathetically, and make you feel like he is genuinely interested in your success and improvement, and he could read a room like no other, often times being the one to say the right thing to break the tension in the room or ask the right question to get us over a roadblock. I know you aren't saying be the best or focus on coding, but if I look back and had to pick between the two, I'd pick the engineering manager who has cultivated the soft skills. At a certain scale, all engineering problems become people problems.
- halfmatthalfcat 6y agoThat's fair but my perspective as a lowly engineer was I wanted a role model to learn from and help upskill my career. My people manager managers never had the skills to provide me with any growth, the only reason I'm at where I am today is because I decided I wanted to level up and taught myself outside of work. It's my goal as a manager to be that manager that I never had and lead by example for my reports technically in addition to the expected soft skills of a traditional people manager.
- blacktriangle 6y agoThe thing is that role model should not be your manager, it should be a senior developer. A good manager is not a role model to teach you, a good manager realizes the importance of lowly engineers having role models and creates a structured mentorship program to make sure that need is being met.
- halfmatthalfcat 6y agoI don't understand why managers cannot fulfill both roles though? The job of management isn't hard (I'm doing it). Outside of the project management responsibilities, there is a lot of time doing nothing. If I wasn't coding, as a manager, 80% of the time I would sit around doing nothing. I strongly believe that managers should be able to fulfill both roles but maybe it's just because I've been burned by so many managers in the past.
- marcinzm 6y agoYou highlight one of the reasons it's BAD for an engineering manager to still be coding or at least able to code your production code. It incentivizes them to just hack things themselves rather than building proper processes and structure for the rest of the team (on call rotations, training, breaking silos, etc.). Overall that leads to a worse engineering environment rather than a better one.
- halfmatthalfcat 6y agoI don't see where I made the connection between practicing the craft and hacking together solutions. If an engineering manager (presumably one who attained this position because they were or are a good engineer) is going to fix something, they're going to apply best practices because they know what they're doing. If an engineering manager was hired just because they know how to manage, well then they aren't really an engineering manager, are they? They're just a straight people manager and in my opinion, shouldn't be managing an engineering team. They should be a project manager.
- marcinzm 6y agoEngineering skills decay with time and even the most technical manager will be out of touch compared to someone who spend 100% of their time on code. They also have the pressure of the buck stopping with them and not having to deal with the tech debt fallout which creates an incentive to just hack things. Some will avoid this but most won't. >presumably one who attained this position because they were or are a good engineer Why do you presume this? Management is a very different skill set than engineering. The best engineers having to become managers to advance their careers is an anti-pattern which most modern tech companies avoid. Managers thus tend to be average engineers who are good at people and process.
- halfmatthalfcat 6y agoThey don't have to spend 100% of their time coding. Why not 50%? If you spend half your 40 hours a week coding, after presumably having had a career in engineering as a developer in the past, coding half the time will continue to support your technical knowledge well into the future. I refuse to believe that managers shouldn't code. Actual managerial tasks do not take up that much time. Like I said in a previous comment, in my experience (as a manager), managerial tasks take up maybe 20% of my time per week. What's going on with the other 80%? I'd be bored out of my mind if I wasn't coding as much as I currently am.
- tootie 6y agoI've struggled with the "keep coding" part. Not just because I don't have time in between my other responsibilities, but because my teams feel ownership over their products and have all the deep knowledge it takes to build and maintain them correctly. I still know how to code, but I rarely have enough depth in a particular system to know the appropriate way to solve something. I'm like a plucky junior dev/everyone's boss.
- Traster 6y agoYeah, it's a great way of burning respect in the team, take on projects you don't have the time or expertise to deliver. There's a special kind of management veto - where an important project gets completely stalled because the manager has decided "I'll take this one" and then spends the next 6 weeks sitting on it because they're too busy dealing with everything else.
- tootie 6y agoI liken it to the old star quarterback coming out of retirement for one more big game and then twisting his ankle on the first play.
- yitchelle 6y agoIf the shit hits the fan and it relies on a people manager to fix the problem, I would say that the problem is more with the company not having the right mitigation plan in place for this catastrophic problems.
- asimpletune 6y agoIf anything “keep coding” = empathy haha
- borvo 6y agoThis. It almost seems like people who lose all interest in coding/engineering/tech also lose respect for the people who do it, like some weird form of guilt/shame. This doesn't make them better engineering managers. You've got to keep that spark alive.
- ChrisMarshallNY 6y ago> have empathy and keep coding. This. I worked for a company that didn't encourage managers to be technical. In fact, they sometimes deliberately interfered with my efforts to remain technically relevant. They really lost some good stuff, that way. I'm no tech slouch. Luckily, I didn't have a "shower clause" in my employment contract, so I did a lot of open-source work, in order to remain relevant. They directly benefitted from that; though they would never admit it. So did thousands of others. I did work for NPOs, and the work I did went towards a lot of lifesaving stuff. The "empathy" part is every bit as important. It pays huge dividends, as a manager. It needs to be real empathy, though; not the two-faced kind that only appears when someone's watching.
- thdc 6y agoMy last engineering manager came from a technical background but ended up being a people manager after a decade of managerial duties. He was a nice guy but useless in that he could not relate with problems the engineers were experiencing and advocate time to fix them - kind of like a black hole for complaints. Engineers by themselves had virtually no say in what they actually worked on here. This, coupled with a non-technical PM, meant we were constantly adding features on top of a weak foundation which created plenty of fires. And for each fire we were only given time to wave away the smoke rather than put out the fire. So I'd agree having true empathy and being able to act on it is important for managers - they don't necessarily need to code but they still need enough technical experience to fully relate to what the engineers are doing.
- ssully 6y agoI would just leave it at empathy personally. I've had technically minded managers, but my best manager actually empathized with the issues I was having and advocated for me when I needed it. She basically helped me handle non-technical issues to clear the way for me to do my technical work. When I needed technical help, she would assist in getting me the help I could if she shouldn't provide it. If I ever end up in a management position, I hope I can treat people in a similar way.
- draw_down 6y agoNope. I don't need my manager to be a coder; I can do the coding. I need my manager to fight for me in our organization and to shield me and my team from various organizational BS. I don't believe that any of that has anything to do with coding ability.
- gtaylor 6y agoI do whatever I can to best support the team. It is practically never coding at this point. My team would likely end up frustrated with me (and rightly so) if coding comes at the expense of other things like sourcing, hiring, coaching, distilling and communicating our plans, refining and scaling our processes, etc.
- temporallobe 6y agoI have avoided going the management route because I have a very strong fear of losing touch with the deep technical aspects of software engineering, which I love and have been doing my entire professional career. As a lead developer now, my role has changed in that I interface more with product owners and management, so I can already see that I need to delegate quite a bit, which makes me feel uneasy since I want to be the one doing those tasks. On top of that, as a lead I am expected to know it all while also somehow delegating.
- quickthrower2 6y agoAnd conversely coders - work on your people/management skills (even if you are not a manager). I have worked with coders who were highly opinionated that a great coder is all about the code and not about relationships and people. He wasn't fun to work with and probably destroyed team morale more than his technical contributions helped. Being a 160IQ asshole is worthless, if it were my business I'd avoid hiring / fire such people or at least stick them on their own project away from everyone else.
- hizxy 6y agoHave you lost respect for the CEO? Should they be coding still or you rather they make sure there is enough money to make payroll?