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:
Review Summary
Become an Effective Software Engineering Manager receives high praise for its comprehensive, practical advice for new and experienced engineering managers. Readers appreciate its coverage of topics like one-on-ones, hiring, team dynamics, and remote work. The book's contemporary perspective and accessible writing style are frequently mentioned. Many find it valuable for understanding the transition from developer to manager. While some experienced managers find parts obvious, most agree it's an essential resource for those new to or considering engineering management roles.
Download PDF
Download EPUB
.epub
digital book format is ideal for reading ebooks on phones, tablets, and e-readers.