13 ms·
What we've learned about hiring engineering managers
- so_tired 8y agoSo basically "we were devs and we want managers who are devs" .. which inevitably leads to "we really need some real managers" full disclosure: i am senior dev and a bad manager
- icedchai 8y agoyep, me too. it's depressing.
- pjmorris 8y agoDevelopers can acquire 'real manager' skills. Jerry Weinberg, from volume 2 of 'Quality Software Management" "In the four decades I've spent in the software business, I've learned that there are three fundamental abilities needed to do a quality job of managing software engineering: * "the ability to understand complex situations so you can plan a project and then observe and act in order to keep the project going according to plan, or modify the plan; * "the ability to observe what's happening and to understand the significance of our observations in terms of effective adaptive actions; * "the ability to act appropriately in difficult interpersonal situations, even though you may be confused, or angry, or so afraid that you want to run away and hide." Though I have all four volumes of QSM, I lifted the quote from here: http://wiki.c2.com/?QualitySoftwareManagement http://wiki.c2.com/?QualitySoftwareManagement
- mikemajzoub 8y agoThanks for posting those Jerry Weinberg quotes. I'd never heard of him, and just spent a few hours reading up on him. I think I've found another role model tonight :)
- pjmorris 8y agoI got to meet him, several times. He is as thoughtful and eloquent in person as he is in writing. He's certainly one of my role models, so I commend your choice :)
- brink 8y ago> We look for candidates’ ability to mentor and add value to technical discussions while understanding their own limitations, supporting a technical decision without acting as a decision-maker. It's nice that they are keeping this in mind. I was a technical lead for a new product in the company at my last job and had a new engineering manager hired over me. I ultimately quit because he wouldn't let me do my job, insisting on making every technical decision, and that he knew better. Many of them were poor decisions. He was a mid-level engineer with a big ego in a manager's position, and was given the power to do whatever he wanted. I've been working professionally as a software engineer for almost 10 years now. By far the worst experience I've ever had. Making sure that an engineering manager knows their limitations is very important.
- trhway 8y ago> supporting a technical decision without acting as a decision-maker. manager is ultimately responsible for his team decisions (of course bad managers do try to scapegoat that responsibility down onto the team when the stuff hits the fan) and being responsible for the decisions can't be separated from making those decisions.
- jiveturkey 8y agoyou are stuck on the model of manager-as-boss. in order to create a true engineering ladder that is separate but equal to the management ladder, tech teams need to make the decisions. it is the tech lead (whatever rank he may be, let's say principal for sake of argument) that makes technical decisions. the manager cannot override that. unless of course, the manager is actually the boss. which invalidates the tech ladder, really. don't confuse technical decisions (as GP stated) with management or product decisions. managers are not ultimately responsible for technical decisions in this model.
- trhway 8y ago>you are stuck on the model of manager-as-boss. in order to create a true engineering ladder that is separate but equal to the management ladder it will be equal only when the people on the technical ladder start to take hiring and firing decisions. Until that - the "parallel" ladder is just a pipe dream and the manager is the boss.
- folkhack 8y agoI've always been apt to push for a more technology-oriented manager due to logistics because I don't need/want a non-technical "career coach" calling the shots on implementation/execution when they don't even have an IDE installed on their laptop... which is why I feel they specifically nailed it with this - "We look for candidates' ability to mentor and add value to technical discussions while understanding their own limitations, supporting a technical decision without acting as a decision-maker."
- gamesbrainiac 8y agoUnfortunately, the term manager is what makes this difficult. If they were merely Team Secretaries, keeping track of the decision making and the financial implications, things would be better IMHO.
- dvdhnt 8y agoI often hear that experienced devs don't necessarily make good managers, but that's not always the case. It's important to not force devs into becoming managers if they aren't a fit. Therefore, the traditional tree structure of promotion doesn't really fit development. You should be able to gain responsibility and compensation without becoming a manager.
- yingw787 8y agoI've been fortunate to have two great direct managers at the prior companies I've worked at, and one common thread they have is they've both been developers. I think working in the field before you command people who do so helps build empathy and understanding of the problem at hand, as well as how it all ties into the bigger picture. I've heard in the military officers that served in the enlisted ranks before commissioning are more effective and supported by their troops than those that come straight out of OCS; but this is just anecdotal. If it is true, I think engr/mgmt relationships operate quite the same way. https://en.wikipedia.org/wiki/Mustang_(military_officer) https://en.wikipedia.org/wiki/Mustang_(military_officer)
- ryanmarsh 8y agoI've heard in the military officers that served in the enlisted ranks before commissioning are more effective and supported by their troops than those that come straight out of OCS; but this is just anecdotal. This is a solid truth. Officers who were enlisted are more well liked by their subordinates. This is not just because they've been in enlisted shoes before. Officers who were prior enlisted are often older and much more mature than fresh faced LT's straight out of college.
- hn_throwaway_99 8y agoNot sure if this is a counterpoint, but pretty much every direct manager I've had (except for one, and she was awesome) started their career as a programmer, and I was also a manager that went from programming->management. While I agree that it's best to have an expert in the field managing you, from my time as a manager I believe the "soft skills" of communication, emotional intelligence, empathy, organization, etc. are much more important. The reason it's so hard to find great engineering managers is that it's difficult to find a "programmer's mind" and a "people-person mind" in the same person. For one, I think it is extremely difficult to be a manager if you are an introvert. A huge part of your day as a manager is meeting and conversing with other people. If those interactions all take energy from you instead of give energy, it's going to be hugely draining to deal with that much interaction all day. At least that was what it was like for me, so I could just be projecting my experience onto others.
- gwbas1c 8y agoI firmly believe great software engineering managers are people who are adequate developers, but have excellent people skills. Why? They need to understand enough software at a high level to be able to manage, instead of turning lower-level details into management problems. But, they also need to find software development frustrating enough that they are happy to not have to do it every day.
- twblalock 8y agoThe best engineering managers I've worked with still code every day or at least every other day. They are more than adequate as developers and they also have people skills.
- fijiaarone 8y agoBut people skills is herein defined as lack of technical skills.
- lmilcin 8y agoI have worked for Intel for a bit. I haven't stayed there for long but I have learned a lot about how great engineering management works. Best managers I met had almost nil technical knowledge or if they did they were not advertising it very much. They were gardeners. They made sure you were occupied, you provided value, you did what you liked and all projects that needed staff were allocated staff. They will meet with you every week for mandatory half an hour 1:1 chat to make sure everything is heading in the right direction and have general sense of how happy you are and how happy others are about you. If the manager thinks you are doing well that's about how much supervision you are getting. I like this style A LOT.
- itronitron 8y agoBest style I have seen is 'people' manager that has the soft skills and interest to do the organizational performance stuff, and separate 'project' managers that manage the work and teams. This allows technical staff to easily move around as needed to different projects without it being a big deal. That also encourages the project managers to be good so that people will be interested in working on their projects.
- eweise 8y agoIn short, don't give managers the same interview as engineers. Sorry but seems pretty obvious.
- ilovecaching 8y agoMy ideal manager is someone who has been at the company as an engineer, has great people skills, and knows how to think at the macro level. This person is promoted, not hired from the outside, and then proceeds to stop coding entirely and focus on his direct reports well being, the well being of the team, and keeping everyone unblocked. Otherwise, they just get out of the way and let the team do its thing.
- tomnipotent 8y ago> Otherwise, they just get out of the way and let the team do its thing. Are you saying the next best thing to an involved manager is one that's not involved at all?
- jacobr1 8y agobenign neglect is better than malign involvement - micromanaging, bad judgement, disruption and chaos etc ...
- santoshalper 8y agoI don't know if you just made that phrase up, but it's great.
- rhizome 8y agoThey are both bad.
- gamesbrainiac 8y ago> Engineering managers at CircleCI are now dedicated to people management: focused on development of a set of engineers, tech leads, and team leads. They hold regular 1:1s and career growth conversations with the engineers who report to them, and are responsible for goal setting, feedback, coaching, and mentoring for them. Do you really need this? Developers will have their own set of mentors, coaches as well as people in their network that will help them grow if they are interested in remaining relevant. Why one earth, would you spend so much money on EMs when developers should be given time to think about what they want to do themselves. The title should be changed to engineering nannies. Furthermore, having non-engineers as engineering managers _can_ work, but it can be a risky move if the person in question does not have enough respect and empathy for the work an engineer does. It saddens me to see the continued emphasis on hierarchy throughout the industry. Best way to support an engineer is to give him or her a fixed budget for development, and time to actually learn new things and not have their skills stagnate. I think we need to go back to team leads having hiring and firing power. At the end of the day, they code and are down in the trenches with the rest of the engineers.
- tomnipotent 8y ago> Developers will have their own set of mentors, coaches as well as people in their network that will help them grow Not true, probably for a majority of people. Alumni networks and family connections are not the norm. A support network and feedback is not something everyone is privileged to, which is probably why so many companies eventually create roles like this. > Best way to support an engineer is to give him or her a fixed budget for development, and time to actually learn new things and not have their skills stagnate. Is there any proof of this? Every Fortune 500 company and a vast majority of successfully-executed projects beg to differ. > It saddens me to see the continued emphasis on hierarchy throughout the industry Because by-and-large it works? For every Valve there are countless shuttered "unstructured" companies that floundered due to bad management and lack of ownership.
- gamesbrainiac 8y ago> Not true, probably for a majority of people. Alumni networks and family connections are not the norm. Networks don't magically appear, you need to work on building them. > Is there any proof of this? Every Fortune 500 company and a vast majority of successfully-executed projects beg to differ. I don't have any proof other than my own experience. As to your second sentence, what on earth are you talking about? > Because by-and-large it works? For every Valve there are countless shuttered "unstructured" companies that floundered due to bad management and lack of ownership. There is no problem with structure. You already have it with architects, leads, principals and others. The problem is too much bureaucracy.
- GoToRO 8y agoWhat I don't want is having a non tehnical person evaluating my tehnical skills in order to decide my raise...
- kull 8y agoAny good, blogging engineering managers to follow?
- mprovost 8y agoCharity Majors https://charity.wtf/ https://charity.wtf/
- cbanek 8y agoI think it's good that they are doing some more managerial skills fit, although I think even a good manager for one team at a company might be a bad manager for a different team at the same company. One of the companies I worked at hired a manager for a different team, and then somehow my team got stuck with the new manager. I don't feel like they were a great fit for our team, our people, and our way of doing things, despite how the other team thought the person would be great. People on the team started jumping ship and transferring to other teams, and I think it basically destroyed the couple of years of work we had put into building that new team. If you're hiring a manager for an existing team, I think it's important to have the direct reports really involved in the hiring process. It not only gives a sense of agency and involvement that helps bring a new person on above you, but also checks the culture fit of the people being managed (on both sides). If managing is a people skills game, as this article seems to conclude, then it inevitably has to be about the people being managed. For example, is it a team of younger devs who need more mentoring and building up of skills? Or is it a more senior team who needs someone to push for them in the org and stay out of their way technically? These are two completely different managers in my book, and not because they are of two different levels of skill necessarily. While one person could probably do either, I think more realistically a manager is probably more on one side or the other.
- chrisbro 8y ago100% have the team involved. I recently hired for a manager to take over one of my dev teams, had a couple of candidates I was on the fence about, but after hearing the development team's feedback, removed them from the running. A person's manager is one of the most influential people in their lives, like it or not, and it's very important to give people a say in that decision whenever possible.
- aphexairlines 8y agoIt would be interesting to see how many engineers vs managers there are for each compensation level at CircleCI. Is is similar to larger companies where from the Senior Manager level onwards there are many times more managers than engineers, with the ratio becoming more pronounced at each level?
- santoshalper 8y agoHaving separate "people leaders" and "technical leaders" is a cop out and poor org design. All you are doing is creating opportunities for conflict. Finding great technical people with an aptitude for leadership is hard, and the market for that kind of talent is fierce, but it is worth it. Settling for less is settling for having a mediocre engineering team.
- MetalGuru 8y agoSuch a handwavy article. I wish they were more specific of the type of questions/exercises they asked/did in their interviewers. Product thinking and work breakdown discussion: In this interview, the candidate and another member of our engineering management team discuss some questions related to their ability to understand work and delivery, and guide discussions from a customer value perspective. What does that even mean?
- ionforce 8y agoYou have to synergize authentic work-streams.
- rhizome 8y agoWell, "work" is doing stuff, "delivery" is giving that stuff to other people. Not sure why they need an entire discussion about whether the candidate understands that, it seems like something they could cover in the phone screen.
- longboardcat 8y agoExperienced developers don't always make the best managers, but the best managers are almost always experienced developers.
- vecter 8y ago> Engineering managers at CircleCI are now dedicated to people management: focused on development of a set of engineers, tech leads, and team leads. They hold regular 1:1s and career growth conversations with the engineers who report to them, and are responsible for goal setting, feedback, coaching, and mentoring for them. They also work across a set of teams to ensure team health, knowledge sharing, business value delivery and alignment across teams. This means that our engineers have managers who have great interest and investment in their personal and professional growth, and teams have someone to coach them through the product delivery process. Was this not the case before? What were EMs doing then? This is the only definition of EM that I've ever known.
- Moto7451 8y agoI've worked at companies, and know others who work at companies, where being an Engineering Managers means you're 90% developer and 10% manager. You're expected to do one on ones, assign work, but mostly code.
- bradleyjg 8y agoI would expect that to be called tech lead. Though probably closer to 80/20 (or lower) than 90/10 by the time you include all the extra work and meetings he or she has to go to by dint of being in that role (vs say the next most senior engineer).
- Moto7451 8y agoI completely agree and that's been my argument the whole time as well.
- otachack 8y agoI am assuming they did actual work alongside management responsibilities, which isn't really sustainable.
- bb88 8y agoSo usually the EM is either "Technical" or "Non-Technical". The Technical EM is more about design, architecture and progress, and sometimes helping the team to get code out the door. The Non Technical EM is more about this. The technical EM would communicate through a PR, say instead of having 1-on-1's. Edit: They said in the article they used to give coding problems to engineering manager candidates, and then in the onsite interview, they found their managing ability is so far off of what they were expecting. So they're making a shift from a Technical Managers to Non Technical Managers.
- Myrmornis 8y agoEngineering Managers aren’t necessary. Project Managers are, and so are experienced engineers willing to lead technically.
- navinsylvester 8y agoMay be the non-technical manager thing works for big companies but it might not be the case with the rest. The problem i have seen with most non-technical managers is that they tend to crave for recognition from the tech people they manage and somehow think they can prove their worth by micro managing. Better to have a technical manager who has better people management skills.
- teknologist 8y agoI've made it a personal rule to never work for a non-technical manager ever again. Having experienced both sides of the coin, I like to think I'm able to learn from past mistakes in life. There's one "goal setting" exercise I would want you "non-technical EMs" to do - and that's to allow people an opportunity to prove themselves, to build trust, so that they can get access to more parts of the stack and contribute as best they can to the company. That does not mean working at partial capacity within a pigeon hole you know nothing about but have been assigned to create for me anyway. Trust can be tough to build, but there's no substitute for going through a real exercise of proving yourself "in the field". All of the 1-1s, goal setting, OKRs, and whatever, are unnecessary when all of those things can be determined from a display of dedication through actual, real work. All it takes is an opportunity to show what you're all about. I maintain that it is very unlikely that you understand what this opportunity means to a developer if you are non-technical. Disappointing to see this from CircleCI.
- jonstewart 8y agoThe right sort of engineering manager for a company very much depends on the size of the organization. Large companies can afford to have professional managers with minimal technical skills because they can also afford to have lead developers and architects. In a smaller organization, that’s not possible and you need to understand the team you have and then mitigate the inevitable weaknesses of the managers.
- mychael 8y agoThis entire post is a perfect example of the awful corporate jargon infecting our culture right now. For example > As our take on this organizational model evolved to align with our needs as a distributed engineering organization, we realized we wanted to distribute leadership more. - "organizational model": "We divide our team into smaller sub teams according to X" - "evolved": Something failed and we need to fix it. - "align": (trendiest word in corp jargon right now) - "distributed engineering organization": People working remote. - "distribute leadership": More leaders.
- agoodthrowaway 8y agoI am on the fence about this. I think it sounds great in theory and it may even work for smaller companies. However, a problem I’ve encountered with this approach to engineering management is that it ignores what the managers need to do to develop and advance. My current company has a very similar role for managers. The problem is that for the managers to advance they have to make an impact to the wider org. So this leads to the craziest, most toxic politics I’ve ever seen. In my opinion, when managers can be judged on their ability to make good technical decisions, it leads to a more objective outcome when judging the performance of a manager. My take is managers are there to support their engineers but also to make decisions when the team does not have consensus.