As I’ve journeyed through my career in engineering management, I’ve realized one crucial lesson: leading with empathy and kindness isn’t just a nice-to-have; it’s a must-have. In the past few months, I’ve had numerous conversations over coffee with old colleagues and young consultants eager to step into the world of management. This post is a distillation of those conversations and my own experiences, aimed at helping new engineering managers lead.
Edit Phew, turns out it’s not easy being a manager, I will break this series down into two posts:
- Managing your people with empathy (you are here)
- Synthesising data for tactical insights
It’s Not a Promotion, It’s a Different Job
A common misconception among skilled engineers is the belief that the next step in career advancement is necessarily into management. While a solid engineering background is beneficial for an engineering manager, the role of a manager requires a distinct set of skills and is fundamentally a different job. Recognizing this before making the leap is crucial. If you’re considering this transition, here are a few strategies to navigate this shift:
- Experiment with Management Roles: Seek opportunities to handle management tasks. Lead a project or exert your technical leadership to take on some of your manager’s responsibilities. This experience will give you a taste of what management entails and help you decide if it suits you.
- Balance Coding and Managing: As a manager, your primary role shifts to supporting and enabling your team, rather than coding. It’s important to maintain this focus, but it doesn’t mean you have to give up coding entirely. Just ensure that it doesn’t detract from your managerial responsibilities. See the later section about delegating.
- The Manager/Maker Pendulum: Some find fulfillment in oscillating between managerial and individual contributor roles (over a period of months/years). This approach can keep your skills sharp and provide variety without the pressure of juggling both roles simultaneously. For more insights, consider reading this in-depth article.
- Opt Out of Management: If the management path doesn’t resonate with you, it’s okay to opt out. Seek environments where being a top-notch engineer is equally, if not more, valued than climbing the managerial ladder. Excelling in engineering should be recognized as a valid and prestigious career path in its own right.
In essence, stepping into management is about moving sideways into a new realm of challenges and responsibilities, not climbing upwards on the career ladder.
Gathering Essential Information
As a new engineering manager, your first and foremost task is to gather essential information. This involves understanding the current landscape of your team’s work, the challenges they’re facing, and how you can effectively support them. It’s about getting a comprehensive view of your team’s dynamics and individual needs.
Initiating this process involves scheduling one-on-one meetings with each team member. I recommend starting with weekly sessions to establish rapport and understand each individual’s unique circumstances. As you gain more insight and your team becomes more self-sufficient, these meetings can gradually become less frequent.
Getting to Know Your People
Understanding each member of your engineering team is a foundational step in effective management. It’s more than knowing their names and roles; it involves delving into their work styles, preferences, and ambitions. This deeper understanding will not only help in aligning their tasks with their strengths but also in fostering a supportive and productive work environment. In this section, we’ll explore various aspects of getting to know your team, from their communication styles and work preferences to their career objectives and current projects.
Who are they, how do they work, and what do they like?
Getting to know your team is crucial: delve into their communication styles—are they better with asynchronous methods or do they prefer direct, synchronous discussions? Are their productivity peaks in the morning or afternoon? Evaluate whether they benefit more from close mentoring or greater autonomy.
Discovering their preferred work types is also essential. Utilize an Interest/Competency matrix to assess this. For example:
Based on this, categorize work as:
- Delegation: High competency, low interest. Ideal for mentorship opportunities. E.g., Front End.
- Learning: High interest, low competency. Opportunities for development. E.g., Architecture.
- Genius: Both high interest and competency. Keep them focused on these areas. E.g., Back End.
- Avoidance: Low in both. Limit exposure to these areas unless necessary. E.g., Security.
Where things get interesting is when you can pair someone who wants to delegate on a topic with someone who wants to learn. Or when you align learning or genius topics with career objective. Now we’re cooking!
What are their career objectives?
Understand their career aspirations. Start conversations to identify their strengths and areas for improvement. Use skill matrices or similar tools to guide these discussions, and align their current tasks with their career goals.
Start to document their progress for future feedback and evaluations: you’ll be happy to have specific examples when you need them.
⚠️Caveat Sometimes, your engineers don’t want to get promoted and are very happy about where they are in their career. That’s ok too! Everyone is different and may have different objectives as far as work and life balance. Reaching higher levels comes with extra expectations, and sometimes this is incompatible with a person’s lifestyle. Success takes many shapes, and it is not always how far you can go on the corporate ladder. If they are great engineers, don’t mess with what already works fine. Just make sure to align work with what they are good at and brings them joy as often as possible.
What are they working on?
Stay informed about their current projects. Inquire about what aspects they enjoy and what challenges they face. Regularly review their progress and their code (even if it is post-merge). Ensure their work aligns with their interests and career objectives.
Note: I’m developing a tool to analyze engineering data and summarize work. More on this in an upcoming post!
Learning How to Contribute
As a manager, your way of contributing to the team will change significantly. The key is to know how your role impacts the team’s success. Don’t focus on your individual output, but rather about how you are a force multiplier for your team.
Transitioning from an engineering to a managerial role, you might find delegation to be the most challenging aspect. The urge to jump in and code can be strong, but resist it. Understand that your greater impact now lies in coaching your engineers to solve problems. Use the insights from your 1:1s to guide them. Provide support and direction, let them handle the tasks, and offer a safety net. This approach builds trust and allows you to focus on other important areas like code reviews, architectural decisions, coaching, and contributing to non-critical coding tasks.
Your role involves identifying and addressing process inefficiencies. Assess if certain meetings could be replaced with asynchronous communications, or if automation can streamline tedious tasks, thereby improving the developer experience. Start building a backlog of technical and organizational debt and work towards resolving these issues incrementally.
⚠️Caveat: Avoid the urge to overhaul everything immediately. Processes often exist for valid historical reasons. Instead, start by observing and documenting current practices, consulting with your team, and making incremental changes. This thoughtful approach can prevent costly mistakes and ensure smoother transitions.
Fostering kindness and empathy in your leadership style is crucial for building rapport with your engineering team. This is not a particular task, but rather something you should be doing continuously. This involves showing genuine care for their professional growth and well-being.
Building meaningful relationships takes time and effort, but it’s a worthwhile investment. Here are some strategies to consider:
- Recognition and Support: Acknowledge and celebrate their successes. Provide guidance and support during challenging times.
- Creating a Safe Space for Failure: Encourage your engineers to take risks and extend their capabilities. If failure occurs, ensure there’s support to mitigate the impact.
- Vulnerability: Be open about your own challenges and failures, and share how you overcame them. This demonstrates that struggle and growth are part of the journey.
- Constructive Feedback: Offer honest and actionable feedback, supplemented with specific examples.
- Trust: Show your engineers that you trust their abilities and judgment.
Cultivating a trust-based culture where safe failure is allowed enables engineers to grow and excel. In an environment devoid of blame, team members are more likely to be honest and proactive in finding solutions. They’re more inclined to own their mistakes rather than conceal them.
⚠️Caveat: This trust-based approach should not only be cultural, but it should be supported with engineering best practices. Limit the impact of mistakes by deploying often, having easy rollbacks and using feature flags to easily turn on/off features in production, or limit the test radius to a small cohort. Magical things happen when culture aligns with engineering best practices.
Building rapport is akin to investing in a savings account. You’re depositing trust and understanding, which can be crucial when difficult situations arise, such as:
- Communicating Tough Decisions: Whether it’s about withholding a promotion or implementing unpopular processes, trust in your judgment is key.
- Assigning Challenging Tasks: Sometimes, you might need to assign tasks that fall into their ‘Avoidance’ category. Trust is essential to ensure they understand that such assignments are made with their best interests in mind or that they may be a temporary evil to get through a difficult period.
Empathetic leadership is not always about making things easy; it’s about showing that you care and are willing to work alongside your team through tough times. This foundation of trust makes it easier for both sides to ‘disagree but commit’ in the relationship and move fast when necessary.
Finally, let me give you a quick recap for my TLDR audience.
Here’s at least what you should cover in your first few 1:1s with your engineers.
- ✅ How do they communicate best?
- ✅ Do the Interest/Competency matrix.
- ✅ Ask about objectives. Start a doc to track improvement.
- ✅ Write down what they are working on. Set a reminder / scripts to check up on it.
And aside from your 1:1s, here’s what you should do during your time:
- 🧠 Focus on code reviews and architecture
- 🔍 Identify inefficiencies, and plan work on addressing them
- 🧹 Tackle some off-the-critical-path problems that can be helpful (devex, technical debt, optimization)
As you step into engineering management, remember that empathy and understanding are key. It’s not about being lenient and nice; it’s about aligning with your team’s needs and helping them grow. A happy team is a productive and resilient team, and that just makes sense from a human and business standpoint.
See you next time for part 2, where we’ll dive in on how to keep a pulse on what’s going on, how to summarize data to gain tactical insight, and how to manage upwards.