Become an Effective Software Engineering Manager Summary

Become an Effective Software Engineering Manager

by James Stanier 2020 374 pages
4.36
532 ratings

Key Takeaways

1. Master yourself before managing others

You want to keep as little information in your head as possible.

Organize your workflow. As a manager, information is your most valuable asset. Implement a system to capture, organize, and prioritize tasks and information. Use your calendar for organizing time, a to-do list for tasks, email inbox for incoming messages, and a separate tool for capturing information on the go. This system will help you stay on top of your responsibilities and free up mental space for strategic thinking.

Manage your energy. Recognize that your energy and mood affect your team. Be mindful of your state throughout the day and take steps to manage it. If you're feeling frustrated or stressed, take a moment to reset before interacting with your team. Remember that your role as a manager is to be a stabilizing force, so cultivate self-awareness and emotional regulation skills.

2. Communication and delegation are essential managerial skills

Keep the thought bubble over their head.

Master communication. Effective communication is the bedrock of successful management. Learn to adapt your communication style to different mediums and individuals. Practice active listening, ask open-ended questions, and provide clear, concise information. Use the concept of "radical candor" to deliver feedback that is both kind and direct.

Delegate strategically. Delegation is not just about assigning tasks; it's about empowering your team and maximizing their potential. Use the delegation scale to determine the appropriate level of support for each task and team member. Remember that you delegate responsibility, not accountability. Effective delegation allows you to leverage your team's skills while focusing on high-impact managerial tasks.

3. One-on-ones are the cornerstone of effective management

One-to-one meetings are one of the most important regular activities that you'll perform as a manager.

Structure your one-on-ones. Establish a regular cadence for one-on-one meetings with each team member. Use a shared document to maintain an ongoing agenda and track action items. Begin new relationships with a "contracting" exercise to set expectations and understand each other's working styles.

Make it their meeting. Encourage your team members to drive the agenda and do most of the talking. Use open-ended questions to guide the conversation and uncover issues or opportunities. Topics can include:

  • Progress on current projects
  • Career development goals
  • Challenges or roadblocks
  • Feedback (both ways)
  • Personal well-being

Remember that one-on-ones are not status update meetings, but opportunities for deeper connection and development.

4. Understand individual motivations to maximize team performance

It's not about getting the right person for the job, it's about getting the right job for the person.

Apply Maslow's hierarchy. Recognize that your team members have needs beyond just a paycheck. Strive to create an environment that supports their higher-level needs:

  • Belongingness: Foster team cohesion and inclusion
  • Esteem: Provide recognition and opportunities for growth
  • Self-actualization: Align work with personal goals and values

Leverage individual strengths. Understand that team members have different motivations and working styles. Some thrive on stability and mastery (cathedral builders), while others crave variety and new challenges (bazaar browsers). Tailor assignments and development opportunities to match these individual preferences, keeping team members in their "zone of proximal development" to promote growth and engagement.

5. Navigate the complexities of hiring and employee departures

People are always going to leave. It's normal and it sucks.

Hire strategically. Approach hiring as an opportunity to enhance your team's capabilities. Consider not just technical skills, but also team fit and diversity of thought. Write inclusive job descriptions, conduct fair interviews, and make decisions based on evidence rather than gut feeling.

Handle departures gracefully. Recognize that employee turnover is a natural part of business. When someone leaves:

  • Understand their reasons (if voluntary)
  • Facilitate a smooth transition
  • Conduct an exit interview to gather insights
  • Use the opportunity to reassess team structure and needs

For involuntary departures, use performance improvement plans (PIPs) as a tool for genuine improvement, not just as a precursor to termination. Always approach these situations with empathy and professionalism.

6. Handle workplace challenges with resilience and strategy

You can't stop the waves, but you can learn to surf.

Navigate high-pressure situations. When under intense scrutiny (the "Eye of Sauron"), focus on:

  • Aligning the team around clear goals
  • Over-communicating progress and challenges
  • Being pragmatic about trade-offs
  • Leading from the front

Manage information flow. As a manager, you're often privy to sensitive information. Learn to categorize information (completely confidential, closed box, open box) and share appropriately. Be consistent in your approach to avoid creating mistrust or confusion.

Practice letting go. Recognize that you can't control everything. Focus on what you can influence and set internal goals rather than external ones. Create space for creativity and strategic thinking by managing your time and energy effectively.

7. Foster a culture of continuous learning and improvement

Communication dictates software design.

Break down silos. Encourage cross-team collaboration through:

  • Guilds: Interest-based groups that span teams
  • Department-wide talks: Regular sessions to share knowledge
  • "Five Whys" analysis: Deep-dive into root causes of issues

Implement feedback loops. Use tools like health checks to regularly assess team performance and morale. Create systems for capturing and acting on suggestions, such as a "management bugs" ticketing system.

Document decisions and learnings. Implement practices like Architecture Decision Records (ADRs) to capture the context and reasoning behind important choices. This creates a valuable knowledge base for current and future team members.

By focusing on these key areas, you can develop into an effective engineering manager who not only delivers results but also creates an environment where team members can thrive and grow.

Last updated:

Report Issue