
While it’s not an absolute rule, there are a few reasons why an engineering manager might choose not to review code directly:
- Time Management: As an engineering manager, their responsibilities extend beyond code review. They need to focus on strategic planning, team management, and other high-level tasks. Spending significant time on code review can take away from these crucial responsibilities.
- Bias and Impartiality: Code review requires objectivity and unbiased evaluation. If an engineering manager is directly involved in code review, their personal relationship with team members may introduce bias or favoritism, potentially compromising the integrity of the review process.
- Team Empowerment: Encouraging team members to take ownership of their code and participate in peer code reviews fosters a culture of collaboration and shared responsibility. It empowers developers to grow their skills, learn from each other, and collectively improve code quality. When managers step back from code review, it promotes a healthy team dynamic.
- Development Focus: Engineering managers often have a broader view of the product and project goals. By not directly reviewing code, they can dedicate more time to driving the team’s vision, coordinating with stakeholders, and removing any roadblocks that hinder progress.
- Trust and Autonomy: Not reviewing every line of code demonstrates trust in the team’s abilities and empowers individual developers to make independent decisions. It encourages them to take ownership of their work and enhances their professional growth.
However, it’s important to note that these reasons may vary depending on the organization’s structure, size, and specific requirements. In some cases, an engineering manager might still choose to participate in code reviews to maintain technical acumen or support the team during critical situations. The key is to find the right balance between managerial responsibilities and technical involvement based on the context and needs of the team.
There are several compelling reasons why engineering managers should refrain from conducting code reviews:
- Defined Roles and Collaboration: The roles of a Technical Lead and an Engineering Manager are meant to work in tandem as partners within a team. It is crucial to establish clear roles and responsibilities and foster collaboration between the two, rather than overlap or duplicate efforts.
- Communication Focus: As teams grow, typically reaching a size of around four members, dedicated communication becomes essential for efficient teamwork. Without a designated focus on communication, the team can become overwhelmed and less effective, leading to decreased productivity and potential issues.
- Managerial Responsibilities: When a team reaches a size of four or more, an engineering manager’s primary focus should shift towards managing team communications, facilitating growth for engineers (which also involves communication), and understanding and prioritizing the team’s objectives. These core managerial responsibilities demand time and attention.
- Trust and Autonomy: By abstaining from code reviews, engineering managers demonstrate trust in their team members’ abilities and promote a culture of autonomy. This approach empowers individuals to take ownership of their work, make independent decisions, and foster professional growth within the team.
- Division of Responsibilities: In larger teams, it becomes essential for the technical lead to concentrate on architectural design, technical decision-making, and overseeing the team’s technical work. This division of responsibilities allows for a more efficient division and conquering of tasks, leading to overall team success.
To summarize the rationale:
- The core role of an engineering manager revolves around managing team communications, both internal and external, including aspects like career development, performance management, planning, and establishing effective processes.
- As team size increases, an engineering manager must prioritize alignment and communication, which require a significant investment of time and effort.
- Excessive communication overhead can overwhelm an engineering manager, potentially hindering their ability to fulfill their core responsibilities effectively.
- Code review activities by an engineering manager not only divert their attention from their primary role but also risk micromanaging the technical lead, which can erode trust and impede autonomy.
- It is crucial for the technical lead to drive technology-related decisions, while the engineering manager’s participation in technical discussions, particularly architectural reviews, can still be valuable.
- Therefore, for teams of sufficient size, it is advisable for engineering managers to refrain from conducting code reviews and instead prioritize trust, delegation, and effective communication—the foundation of their role.