Ask HN: How to prepare for an Engineering Manager interview?
I have 10 years of experience as a software engineer with various roles as a lead engineer. I have never managed anyone directly - nor hired/fired anyone. I recently applied for a manager role at a great company (not a big-5). To my surprise, they're interested in my profile and would like to start the interview process. My goal is to grow in those areas and gain a new set of skills.
This role does not involve intense coding but requires a good high level understanding of technologies. It is focusing a lot on career growth, decision making, resource allocation and mentoring.
How could I make a good impression despite the lack of management experience? I did mentor engineers, etc. in the past. Happy to hear about things I should be expecting.
75 comments
[ 11.0 ms ] story [ 426 ms ] threadA big component of managing a dev team is performance-management- managing good and bad performers. Don't try to BS your way through that or other questions, but rather acknowledge where your gaps are and let them know that they are known unknowns rather than being oblivious to their existence.
You should sell those experiences as first steps into being a leader.
However, you should be aware that managing and coding are so different, even if it's in the same field. Managing people is tough and you learn it by doing.
It's the typical hiring chicken-and-egg problem: You need experience doing X to get a job doing X. People management is no different.
In addition to taking on more leadership roles in engineering projects, I began finding and taking on opportunities on the side that have a managerial element to them, for instance recruiting (sourcing, behavioral interviews, selling candidates, redesigning our interviewing processes), mentoring/coaching people, driving our company's internship program, etc. I found that I enjoyed that sort of nontechnical work. In particular, I liked thinking about how to grow other people and help them be effective.
I vaguely started thinking that I wanted to just switch into management, and I advertised that fact (mostly to managers). I wasn't too urgent about it, and an opportunity showed up [after a few months] and the management team thought of me first as someone who could be a good fit. Part of what made it a good fit was that the team was not 'on fire' or anything, so if I were to do a bad job or realize I didn't like management and thus needed to switch back, the company wouldn't be in a particularly bad situation.
That being said, I feel the opposite about internal hires. One of the great joys of being a manager is coaching and mentoring the next generation of managers and having a healthy pipeline of candidates serves your company well.
- A desire to help others accomplish their goals, not simply extract work from them. Sometimes this means moving them to another team/project or even out of the company.
- Proficiency in *-manager skills (product manager, project manager, etc.). Frontline managers often end up filling the roles that their team doesn't have anyone else for.
- You mentioned mentorship, which is great to talk about. Sometimes you're a direct mentor, sometimes you're identifying potential mentors, but it's important to understand what works well.
- For this situation in particular, be honest about the fact that you're new to management and looking to skill up. Part of managing people is understanding their career goals and how to help them move up, and understanding your own career, where you are, and where you'd like to go will illustrate that skill.
Look for opportunities to do supervision. Non-profits are always looking for help, and it makes you look well rounded on your resume. There's no substitute for doing to learn how to manage.
Did you start anything up in the company - ideally yes. Shows you can spot opportunities.
Do you understand the role of the manager in this company, in the context, probably good to show some self awareness (Are you being hired in for a new team, existing team, if so why not hire internally etc.)
After that expect to explain how you deal with poor performers, how do you reward people etc.
Edit: I would also come ready with any sort of anecdotes about how you took initiative to do something and managed it end to end. Could be an event, could be a product, could be a code release - but that track record is definitely an indicator.
1) the person wants a management career path and seems to understand what it means (org builder, team player, perf reviews, hiring and firing) vs person who thinks their only option for career growth is management and thinks they've done it already as a tech lead and wanna do that role more
2) lots of cross-functional hat wearing and a clear appreciation and happiness with doing project and product management work, a willingness to do any shit work happily in order to make the team better
3) an awesome growth mindset willing to have determination in getting better at it with or without my help, lots of autonomy
4) preternatural judgement and ability to see the forest from the trees, clear potential to help us get better
Interviewed somebody like this recently and it's honestly just hard to say no
For the interview, come up with an answer to this: Tell me about a time you leveraged your experience and knowledge to multiply the efforts of your team.
A lot of what you will be doing is spending your time helping your team do good work on the right things, so any experience you have where you have done that as a senior or lead is relevant.
When you become a manager:
1. Find a mentor
2. https://www.manager-tools.com/get-started - Some really good fundamentals in podcast form. You can listen on your commute(if you have one)
3. http://randsinrepose.com/archives/category/management/ - Articles on management from an engineering manager.
I would pick one article and one podcast to consume each week so you have time to actually absorb it. If you try to implement some kind of perfect program from the beginning you will likely fail.
If you can, ask your current manager to write a SWOT and use it to pair you up within a mentor to make strengthen your weaknesses. Try to find a mentor outside of your reporting chain.
So, a few things I would think about would be:
[1] Who will you report to, and what is their management experience? How do their direct reports (likely other managers) view their management skills? Are they a teacher, or do they expect you to "pick things up" on your own? If they expect you to pick things up on your own, will they work with you and potentially pay for training classes or professional coaching?
[2] What is the structure of the team? Is it mostly senior members, or mostly junior members? What are their expectations of a new manager? Does the company typically promote from within, and you'll be an abnormal outsider?
[3] What are the expectations around the management responsibility, beyond day to day team issues? Will they be expecting you to hire new employees? Do you need to handle raises, promotions, and firing? Will you be expected to put together a budget every year?
All of the above is meant to help you to assess whether the role is going to be one that you can be successful in. Management is a great job, and I loved helping my teams grow in their careers; however, I think I would have floundered had I not had a great mentor who helped coach me specifically in these skills. I also think I would have struggled mightily had I jumped into a management role, without prior management experience, with a new team and a new company. Managing a team as an outsider is one of the toughest new roles in a company, even if you have a ton of experience.
Quick shameless plug: I'm co-founder of a venture-backed startup focused on helping people grow in their careers, such as yourself. My email is in my profile if you have any questions and I can be of help to you.
https://www.amazon.com/Tame-Your-Terrible-Office-Tyrant/dp/0...
- tell me about a time you had to let someone go. How did you deliver the news? How did the other person react? How did you communicate it to the engineering team and broader organization? Was there any fallout, and if so, how did you help people through the transition?
- tell me about a time you had to deal with layoffs. How did you communicate it to your team?
- tell me about a time you helped level an engineer up or multiplied their productivity. How did you give them feedback? What was the most difficult conversation you had with them? How did you help them reach the next level?
- tell me about your own progression from an IC to a manager. What was the most difficult feedback you've ever received from a teammate? How did you act on that? How did you react to the feedback?
- tell me about a time you had to say no to an engineer asking for a raise or promotion. How did they react? Did you setup a long term plan? Did they leave or stick around? What did you ask them to do?
First, (for new managers) managing people is a completely different skill set from engineering, expect to suck at it when you start and let go of your hard won pride that you developed becoming an awesome software engineer.
One of the "failure" modes of new managers is that they are so uncomfortable doing these new things, and so comfortable in the software engineering role that they find excuses to write code and do development which makes the team wonder why the 'boss' is trying to do their job, and it takes your eye off actual things you should be looking out for and fixing (like team mates getting conflicted, people who are having trouble but not asking for help, etc.)
Second, your success is entirely in your team's hands. It is their ability to do the work and make the deliverable and their production that shows you that you are doing a good job. This is so challenging for people who are used to being on the development team and measuring their success by comparing their "production" to that of the team. Now "they" haven't accomplished anything, but the folks writing code, they built all sorts of cool things to brag about.
So understanding that your success is tied to keeping your team understanding where they need to be, and knocking down any roadblocks in their way, is critical. It's also a different way of thinking for a lot of developers.
This isn't true. A lot of a manager's job is doing the little things that are necessary to get done. This may involve scrum master, project management, and even product management. Find the gaps and fill them!
I do think you should do some coding, even if you can only do it 10% of the time. It'll give you credibility with the team and you'll get to better understand what everyone deals with on a daily basis.
Agree that your success is tied to your team's success.
Yes, there's a lot of things a manager can do to screw the project up. But ultimately, it's the team that's actually doing the work. And ultimately, your job is not to "do the heavy lifting", or make all the key decisions, or figure everything out. They already know what to do. Your job is to enable them to succeed.
Remember also that while your job isn't to write code and that success is in your team's hands, it is your role to help that team be capable in order to achieve that success. I'm going to give you a lesson I learned in my first management role that I hope you'll take with you -
Deal with underperformance head-on, and do not avoid the tough conversations. I made the mistake of "seeing how things go" and giving wishy-washy performance feedback because I really wanted my team to like and enjoy working for me. In hindsight, you are doing no one any favors by not giving direct feedback on performance early and often. Don't just leave it on the negative, though, give them something to work toward and steps to take to improve, and then be hands-on in helping them with that development (without doing their work for them). Do not avoid this.
You have to focus on fit more than anything else.
The first time you do it - its weird - very weird. All your previous ideas of work and work culture will be obfuscated. You'll realize that managers are a class onto their own.
To figure out fit, you mostly need to be able to read someone in about the first minute of meeting them. What do they value? What do they distrust? What will make them feel comfortable with you?
Older managers - probably want to know that you'll do what you're told, keep engineers in line and accept their management philosophy without question.
Newer age managers - you're very flexible and you'll take on a lot of work and you'll be part of the culture and that you worship at their altar - scrum, team velocities, standups and the rest of it.
Most important point: Do not criticize or point out large flaws in their system or process or thinking. (I've done this and have always lost out on the offer.) Focus on fit more that pointing out their errors.
At a low level like yours its probably best focus on showing that you've done a lot of thikning about the regular manager duties and to be as authentic as possible. This leaves to chance of whether they work in the same way but since its your fist time you probably don't have time to prepare anything else.
Welcome to the club!
In the other comments people have spoken quite a bit about managing down in to the team, I'd also think about the project management and scope negotiation portion. As a partner to product management you're often called on to help shape what's possible long before ideas enter sprint planning or get turned into stories. Think about how you'd help negotiate scope when often the actual requirement has not been clarified.
The job itself was titled "scrum master", but the description read more like a team lead/product manager role. I've done a little bit of both and was interested in exploring this career path and I jumped on.
The recruiting was not what I was used to. All in all I had 8 interviews over a course of 6 weeks. They focused heavily of my personality and I did a lot of self-assessments. No coding or case studies. When I reached the end of this I was so fatigued that I forgot to do the due diligence of my part, this turned out to be a BIG mistake.
- first and foremost, i inherited a team. If this is the case with you, MAKE SURE YOU CLICK. While I get along with most of my team on a person-to-person-basis in a team setting they've been working as six one-man teams for several years and Weren't interested in changing that.
- make sure you can tolerate the product you're building. If I had joined as a developer i would have quit within a week. This has an impact when you need to defend it/the team to the outside world. How much belief in the product can you fake?
- you will be alone. Your team won't be your friends anymore and neither will the managers above you.
Long story short, after almost burning out a second time in my life I resigned and am now looking for new work.
You didn't know what the product was when you started?
Another possible artifact would be a custom memory allocator or patterns around memory or object management that make no sense in an application that isn't memory constrained or allocating large amounts of objects in such a way that is causing a bottleneck.
Maybe the programmer was unrolling loops in the name of maximizing performance where it wasn't actually required.
I am sure there are plenty of other signs a game dev hopeful would leave in a code base if left unchecked.
- Think back to the managers you've had and think about what they did well and what didn't work as well. The more you can talk about and have an opinion about what makes a good manager, the more you can show your desire and ability to become a good manager. Before becoming a manager, I spent a year going through my career and really looking in depth at my previous managers so that when I started I could try to use that to be better myself. What I found is that this made me very good at managing down and I was very popular with my team, but managing up was somewhat of a problem. So when you look back at your history and your previous managers, be sure to look at not only how your managers interacted with you and your teammates but also how your managers interacted with their managers and the rest of the org. This can be harder to see, since you're not a part of those interactions, but if you think back, you might remember at least some part of that.
- The most important part of being a manager, from my experience, is being able to deliver feedback. The more effortless and clear you are, the more easily you can provide frequent and minor course corrections as well as provide natural encouragement of desired behavior. It also makes firing/disciplining employees easy. For one, if you're giving constant feedback, those instances are much less frequent since employees can make those course corrections. But when it does become necessary, it's not a surprise. Either there was some major incident or there's been a long build-up where suggestions/warnings have been repeatedly ignored. When I've interviewed other managers, I've looked for their ability to deliver feedback and, crucially, their abilities to notice the things they should be giving feedback about. Many managers, especially new managers, just don't have the awareness to constantly be looking for small course corrections or the feel for when an employee needs a bit of emotional buoying that can come with positive feedback. Hopefully in your mentorship and lead dev experience, you've developed some of that awareness, so the more you can talk about that, the more you'll show you're ready. As far as delivering feedback, there's a lot of theory on the right way to do that, but it also requires practice. Read up on that and then find a friend who's willing to help and role play a few different feedback scenarios. You'll quickly get better with practice.
- I'm going to expand your question beyond the interview because I think it will help you with your interview. Because if you get hired, that's not the end of it. It's not a case of showing that you can do the work, getting hired and then just organically becoming good at it. Once you get hired, that's when you need to start diving into the theory behind the discipline of engineering management. If you can internalize that, then you'll be able to convey to your potential employer at the interview your willingness to work to become better. Try to show your interviewer that you have a plan for learning how to be a great manager and the concrete steps you'll take to achieve that goal. Because if you have zero experience and they know that going into the interview, that's the most they can expect from you.
- Not every engineer actually enjoys management. Many engineers really like knowing all the little details and have a hard time stepping away from that level of knowledge and only knowing the larger building blocks. If you can talk about your excitement to work at that hi...
I interview a lot of technical managers, and beyond technical chops, I focus mostly on communication skills, charisma, and personality.
I tend to ask a lot of behavioral/situational questions to understand how the candidate would handle different situations and how his personality lines up with the team. We are usually hoping for a thoughtful and genuine answer.
Additionally, I often schedule lunch with the candidate and the key players on the team, without the participation of the recruiting team, so they can speak freely.
You can prepare for some of the situational questions but keep in mind that it is totally ok to say "I don't know" or "I have not thought of that".
Best of luck!
Demonstrate your grasp of cost optimization.
Having said that (and if you're still going to go for it), I'll try to give you some pointers.
1. Being a good engineering manager means having a good framework for getting things done. You probably have something like this already but as a manager, you have to be disciplined about keeping your team happy and productive, as well as knowing what everyone is working on at all times.
2. Be able to demonstrate how you think strategically and not just tactically (e.g. tactical: we're going to use MySQL because we have a hard schema, strategic: we're training engineers on the AWS tech stack because we have (or want) to move our organization in that direction for financial reasons).
3. Value "output over activity". Andy Grove's High Output Management is a godsend that explains this concept very well, but for the interview, demonstrate that you know the difference between people flapping their wings vs moving the needle forward.
4. Be able to speak about the difference between leadership vs management. Leadership is getting people to follow you while management is having people work for you. Management also means understanding the schedule, building a roadmap, and working with other groups to influence or lead important initiatives.
5. Helping ICs manage performance, motivate and incentivize good work, providing mentoring and guidance including career advice, rooting out low performers and managing them out. This is the hard, potentially unpleasant part of the job, and you'll need to demonstrate an understanding and willingness to do this (no one else will do this for you, this is the manager's job). Critical; since you don't seem to have experience here, you better brush up on this stuff most.
6. You job is also to understand current technology trends and be up to speed on the code, the process on the team, and the ways that things could be improved. Understand iterative process improvement and talk about how you've done this in the past.
There's lots more but this should hopefully cover the big important stuff.
All the best to you!
1. What is the process for reviewing, committing, merging and deploying code ? How are technical designs vetted before starting development on large projects ?
2. What is the process for hiring engineers and reviewing performance ?
3. What is the process for describing, prioritizing, and ultimately building and releasing new features ?
Understanding those 3 things as they exist at the company (and your approach to each) will tell you a lot about the organization, how to proceed, and will tell the company a lot about what you are bringing to the table.
You should always feel like you can overrule or supplement a decision, but you don't have to be the one to come up with every solution.
https://carouth.com/blog/2015/02/15/i-am-a-technical-lead/