English
Engineering management is the discipline of organizing and leading people who build software systems. It is distinct from engineering itself in ways that are not always obvious. An engineer who has become a manager faces problems that technical competence alone cannot solve: a team member who produces good work independently but blocks collaboration; a project that is technically sound but misaligned with organizational priorities; a process that worked well for five people that fails for fifteen; a conflict between two senior engineers that is degrading the quality of the team’s work and the quality of its relationships. These problems have no algorithmic solutions. They require judgment about people, communication about difficult subjects, structural decisions with long-term consequences, and the ability to maintain a coherent direction under significant uncertainty.
What makes engineering management a learnable discipline rather than an innate talent is that the research on what works is substantial and consistent. High-performing engineering teams are not mysteries; they have measurable characteristics — psychological safety, clarity of purpose, appropriate autonomy, structural conditions for collaboration — that can be built deliberately. Individual contributors who transition to management do not need to discover through painful trial and error what effective management looks like; they can study it. The gap between what the research says and what most organizations practice is large, which means the opportunity for deliberate learning to outperform intuition is also large.
The engineering management role exists at the intersection of two complex systems: the technical system (the software and infrastructure being built) and the human system (the team building it). Effective engineering managers maintain sufficient technical depth to understand what they are asking their teams to do, evaluate whether proposed solutions are sound, and recognize when problems are being underrepresented. They also develop the human and organizational capabilities that pure technical work does not require: structured feedback, career development, conflict resolution, organizational navigation, and the creation of conditions where excellent technical work is possible. Neither the purely technical nor the purely managerial orientation is adequate; the synthesis is what the role demands.
Prerequisites: Software process (§7.3) — engineering management operates within process structures. Architecture (§7.1) — Conway’s Law connects organizational and technical structure. Testing, DevOps, technical debt — the context of what engineering managers are managing.
From Scientific Management to the Knowledge Worker
The management practices that most software organizations inherited were designed for fundamentally different work.
Frederick Winslow Taylor’s scientific management, articulated in The Principles of Scientific Management (1911), was developed for factory work: physical labor that could be decomposed into measurable subtasks, optimized through time-motion studies, and executed reliably by workers following instructions. Taylor’s methods produced dramatic productivity improvements in manufacturing contexts. They were also dehumanizing — treating workers as interchangeable units whose task was to follow instructions, not to think — and their dehumanizing quality was a feature, not a bug, from the perspective of maximizing the throughput of repetitive physical labor.
Software development is not factory work. Peter Drucker articulated the concept of the knowledge worker in The Practice of Management (1954) and developed it through his subsequent work: a knowledge worker’s primary output is ideas, analysis, decisions, and code, not physical product. Knowledge workers are managed differently because the conditions for their productivity are different. You cannot improve a software engineer’s output by optimizing their physical movements; you improve it by giving them clear goals, appropriate autonomy, effective tools, good information, and colleagues who complement their skills. Treating knowledge workers with factory management techniques produces the worst outcomes of both worlds: the overhead of command-and-control without the benefits, because the workers are not actually interchangeable and the work is not actually decomposable into instructions.
Douglas McGregor’s Theory X and Theory Y (The Human Side of Enterprise, 1960) described two managerial worldviews. Theory X assumes that employees are fundamentally lazy, dislike work, and must be directed, controlled, and threatened with punishment to perform. Theory Y assumes that employees inherently find meaning in work, can exercise self-direction and creativity when committed to objectives, and will accept responsibility when given the opportunity. McGregor argued that Theory Y was not just more humane but more accurate: knowledge workers under Theory Y assumptions consistently outperform those managed under Theory X assumptions, because motivated, autonomous workers solve problems that commanded, surveilled workers cannot. Most management dysfunction in software organizations comes from applying Theory X assumptions to knowledge workers.
Frederick Herzberg’s motivation-hygiene theory (The Motivation to Work, 1959) distinguished between hygiene factors — compensation, working conditions, policies — whose absence causes dissatisfaction but whose presence does not produce motivation, and motivation factors — achievement, recognition, responsibility, growth — whose presence produces genuine motivation. This distinction matters for engineering management because it predicts which investments produce which outcomes: raising salaries to below-market levels causes dissatisfaction, but raising salaries above-market levels does not produce proportionally more motivation. Genuine motivation comes from the work itself being meaningful, from recognition of achievement, and from growth opportunity.
Richard Hackman’s research on team effectiveness, summarized in Leading Teams (2002), identified the conditions that predict whether teams perform at high levels. The conditions are structural, not personal: teams perform well when they have compelling direction (clear, challenging, consequential goals), a real team (stable membership with clear boundaries), the right people (complementary skills and sufficient number), enabling structure (norms and processes that support collaborative work), and a supportive organizational context (information, resources, and rewards). Hackman’s research was explicit that team effectiveness was primarily about the conditions the manager creates, not about individual talent. A manager who creates the right conditions for a mediocre team produces better outcomes than a manager who fails to create those conditions for a talented team.
Google’s Project Aristotle, a multi-year research project concluded in 2016, studied what factors predicted team effectiveness across hundreds of Google engineering teams. The single most important factor — more important than the technical skills of team members, the clarity of goals, or the individual performance ratings — was psychological safety: the team members’ belief that they could take interpersonal risks (asking questions, proposing ideas, surfacing problems, admitting mistakes) without being punished. Teams with high psychological safety were more innovative, detected problems earlier, learned faster from failures, and delivered better outcomes. The research validated Hackman’s structural focus and added specificity about which structural factor was most important: not the composition of the team, but the quality of interpersonal safety within it.
The contemporary engineering management landscape is shaped by several specific developments. The shift from waterfall to agile development changed what managers manage: instead of managing a detailed plan, managers create conditions for iterative discovery. The growth of remote and distributed teams has made the management of psychological safety and team cohesion more challenging, requiring deliberate practices that co-located teams developed informally. The rapid growth of software organizations in the 2010s produced a large population of engineers who transitioned to management without systematic preparation, creating demand for the kind of practical frameworks that books like Camille Fournier’s The Manager’s Path (2017) and Will Larson’s An Elegant Puzzle (2019) provide.
The Management Role, Team Effectiveness, and Organizational Structure
What Engineering Managers Do
The engineering manager’s primary responsibilities differ from those of individual contributors in ways that create genuine transition challenges. An individual contributor’s primary output is code, designs, and technical decisions; the feedback loop is relatively short and the work is relatively solitary. A manager’s primary output is the performance of the team; the feedback loop is long (it takes time to see whether a hiring decision, a process change, or a feedback conversation has produced a good outcome) and the work is inherently relational.
The core management activities are: hiring (selecting people who will contribute to team performance and fit the team culture); developing people (creating the conditions and feedback for team members to grow in capability and scope); setting direction (making the team’s purpose and goals clear enough that team members can make good decisions without constant oversight); removing obstacles (identifying and eliminating the organizational, technical, or process factors that prevent the team from working effectively); and managing outward (representing the team’s needs and accomplishments to stakeholders, maintaining organizational relationships that provide the team with what it needs to succeed).
The manager’s relationship to technical work is one of the most difficult transitions from individual contributor to management. Managers who remain deeply involved in code have limited bandwidth for the management activities that only they can perform; managers who disengage entirely from technical work lose the context they need to evaluate technical decisions and to maintain credibility with their teams. The sustainable balance is one in which the manager remains technical enough to understand what the team is doing, to ask good questions about technical decisions, and to recognize when a problem is being hidden or underrepresented — without taking on the implementation work that the team should own.
Performance management — identifying when team members are underperforming, giving effective feedback, and making the decisions about consequence when performance does not improve — is the management activity that most managers find most difficult. The difficulty is partly emotional (giving negative feedback is uncomfortable) and partly skill-based (effective feedback is specific, behavioral, timely, and oriented toward improvement). The consequence of avoiding difficult feedback is that underperformers continue underperforming, often affecting team morale as other team members observe that poor performance has no consequences, and often eventually requiring more disruptive action when the problem becomes impossible to ignore.
Kim Scott’s Radical Candor (2017) provides the most direct framework for this: care personally about the people you manage while challenging them directly. The failure modes are ruinous empathy (caring so much about the person’s feelings that you soften feedback to the point of uselessness), obnoxious aggression (challenging directly without caring personally, producing feedback that is accurate but damaging), and manipulative insincerity (neither caring nor challenging, producing the political emptiness that most cynical management produces). Scott’s framework is useful because it names the failure modes that most managers experience and provides a clear direction for improvement.
Team Effectiveness and Psychological Safety
The research on team effectiveness converges on a set of structural conditions that predict performance. These are not motivational maxims; they are empirically validated predictors with practical implications for how managers structure teams and create working conditions.
Psychological safety — Amy Edmondson’s construct, validated extensively by Google’s Project Aristotle — is the most important single factor. Teams with high psychological safety share concerns early (before they become crises), experiment with new approaches (rather than defaulting to safe, familiar methods), and learn from failures (rather than hiding them). Creating psychological safety requires explicit effort: managers must model vulnerability (admitting mistakes and uncertainties themselves), must respond to problems raised with curiosity rather than blame, and must make it clear through consistent behavior over time that surfacing problems is rewarded rather than punished.
The feedback loop between the team’s work and its outcomes must be short enough that the team can learn from its actions. Teams that receive feedback on their work years after delivering it cannot use that feedback to improve; teams that receive feedback in hours or days can. This is why the continuous delivery practices of §7.4 are connected to team effectiveness: they shorten the feedback loop between what the team builds and whether it works in production, which enables the learning cycles that high-performing teams require.
Staffing decisions — who is on the team — have larger performance implications than most managers expect. A team member who is technically competent but psychologically damaging to the team’s safety costs more than they produce; removing them improves team performance more than adding an additional high-performer would. This is counterintuitive from a production-function view of teams (more skilled people = more output), but consistent with the research: team safety is a multiplier on the output of all team members, and a single person who reduces safety reduces the output of everyone.
Organizational Structure and Conway’s Law
Conway’s Law — that organizations produce system designs that mirror their communication structure — has direct implications for engineering management. If the desired system architecture is loosely coupled microservices with clear ownership, the team structure must align: one team per service, with team ownership of the full lifecycle. If teams are organized by technical tier (frontend, backend, database), the system will develop that three-tier structure regardless of what the architecture diagrams specify.
The practical implication is that engineering managers must think about team structure as an architectural decision. Reorganizations are not primarily HR events; they are architectural interventions whose consequences will be visible in the systems the teams produce. Team Topologies (§7.3) provides the vocabulary: stream-aligned teams own and operate their software end-to-end; platform teams provide shared capabilities as a service; enabling teams help other teams develop capabilities; complicated subsystem teams own highly specialized components. These topologies are design choices that produce specific architectural outcomes.
The size of teams matters. Jeff Bezos’s “two-pizza rule” — teams should be small enough to be fed by two pizzas — reflects Dunbar’s number and the research on team coordination overhead. Smaller teams have lower communication overhead and higher cohesion; larger teams require more coordination, which becomes the work rather than the product. The research generally supports teams of five to eight engineers as the range in which most of the benefits of collaboration are achieved with manageable coordination overhead.
Decision rights — who makes which decisions, and what consultation is required — are another organizational design variable with large performance implications. Teams that must escalate routine decisions to management lose autonomy and speed; managers who make decisions that teams should make are doing the team’s job and not doing their own. Delegating decision-making to the lowest appropriate level — the person with the most relevant information and most direct accountability for the outcome — is both more efficient and more motivating. Clarity about which decisions are delegated and which are reserved is more important than the specific allocation.
What Studying This Changes
Engineering management changes how practitioners understand both their own work and the organizational context in which they do it.
The first change is the ability to recognize and create the conditions for effective technical work. The practitioner who understands psychological safety, appropriate autonomy, and structural conditions for team effectiveness can identify when those conditions are absent and can act to create them — whether as a manager or as an influential individual contributor. The practitioner who understands only technical excellence but not the organizational conditions for it will produce excellent technical work that is undermined by team dysfunction.
The second change is the ability to evaluate management practices with the same critical scrutiny applied to technical practices. Just as technical practices should be evaluated against evidence of effectiveness, management practices should be evaluated against research. The practitioner who has studied the research can distinguish practices with empirical support (psychological safety, autonomy, feedback loops) from management fashion (stack ranking, open-office plans for focus work, rigid process compliance) that the evidence does not support.
The third change is the understanding of the manager-engineer relationship as a two-way contract. Engineers who understand what good management looks like can participate more effectively in being managed: they can ask for specific feedback rather than waiting for it, can surface problems rather than hoping managers will notice them, and can express concerns about structural conditions rather than attributing them to individual failure. Individual contributors who understand management are better at working within and influencing the management structures they operate within.
The fourth change is the long-term career perspective that management study provides. Engineering careers are long; most engineers will work within many organizations, managed by many different managers, in roles that range from individual contributor to technical leadership. Understanding the dynamics of teams, organizations, and management provides a framework for navigating these transitions and for identifying organizations and roles where excellent technical work is possible.
Resources
Books and Texts
Fournier’s The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change (O’Reilly, 2017) is the foundational practical guide for engineers who are becoming or recently became managers. It traces the progression from individual contributor through tech lead, engineering manager, director, VP, and CTO with specific advice at each stage. Its candor about the difficulties of the transition and the specific skills that each stage requires makes it more useful than the abstract management books that don’t acknowledge the specific context of software engineering.
Larson’s An Elegant Puzzle: Systems of Engineering Management (Stripe Press, 2019) provides frameworks for the organizational and systemic challenges that engineering managers face: staffing, organizational design, career development, and the management of technical migrations and debt. Larson’s systems-thinking approach and his willingness to be specific about the mechanics of management decisions — how to allocate headcount, how to think about organizational structure, how to manage technical debt as an organizational resource — makes it the most practically useful systems-level management book in the field.
Scott’s Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity (St. Martin’s Press, 2017) provides the feedback framework that most managers need. The two-axis model (care personally / challenge directly) and the named failure modes (ruinous empathy, obnoxious aggression, manipulative insincerity) give managers a vocabulary for understanding their own tendencies and changing them.
Hackman’s Leading Teams: Setting the Stage for Great Performances (Harvard Business Review Press, 2002) provides the research foundation for team effectiveness. It is academic in style but practical in orientation; the five conditions for team effectiveness and the research that supports them are the basis for everything structural in this section.
Edmondson’s The Fearless Organization: Creating Psychological Safety in the Workplace for Learning, Innovation, and Growth (Wiley, 2018) provides the most complete treatment of psychological safety by the researcher who developed the construct. It covers the evidence base, the mechanisms, and the practical interventions that create psychological safety in teams.
Lopp’s Managing Humans: Biting and Humorous Tales of a Software Engineering Manager (Apress, 3rd ed., 2016) is the most readable entry to engineering management, covering the specific situations that engineering managers encounter with the directness and humor that Rands in Repose (Lopp’s blog) readers expect. Less systematic than the other books, but captures the texture of engineering management with accuracy.
Grove’s High Output Management (Vintage, 1983) — by Intel CEO Andy Grove — is the most enduring management text written by a practitioner for practitioners. Its approach to management as a process of maximizing output through leverage, its concepts of one-on-ones and decision-making, and its treatment of the manager’s time as a portfolio to be managed remain useful forty years after publication.
| Book | Role | Type |
|---|---|---|
| Fournier, The Manager’s Path | Foundational practical guide | Entry |
| Larson, An Elegant Puzzle | Systems of engineering management | Depth |
| Scott, Radical Candor | Feedback framework | Entry |
| Hackman, Leading Teams | Team effectiveness research | Depth |
| Edmondson, The Fearless Organization | Psychological safety research | Depth |
| Lopp, Managing Humans (3rd ed.) | Readable entry; texture of EM | Entry |
| Grove, High Output Management | Practitioner management classic | Depth |
| Drucker, The Effective Executive | Knowledge worker management | Depth |
| DeMarco & Lister, Peopleware (3rd ed.) | Software management human factors | Depth |
| Organizational-design use of Team Topologies | Team structure for delivery | Depth |
| Larson, Staff Engineer (mostly free online; paid book) | Staff+ individual contributor leadership | Depth |
Courses, Papers, and Current Sources
Edmondson’s “Building a Psychologically Safe Workplace” TEDx talk (2014, free on YouTube) is the most accessible introduction to the construct and the research behind it. Watching it before reading The Fearless Organization provides the motivation and the overview; the book provides the depth.
Google’s “re:Work” resources (rework.withgoogle.com, free) publish the findings from Project Aristotle and other Google research on team effectiveness. The guide to understanding team effectiveness is the most concentrated version of the Project Aristotle findings.
Lencioni’s The Five Dysfunctions of a Team (2002), though in novel format and simplified in its framework, has become widely referenced in team effectiveness discussions. Understanding the five dysfunctions (absence of trust, fear of conflict, lack of commitment, avoidance of accountability, inattention to results) provides vocabulary for diagnosing common team problems, even if the book’s treatment is less rigorous than Hackman’s.
| Resource | Platform | Type |
|---|---|---|
| Edmondson, TEDx “Psychological Safety” (free) | YouTube | Entry |
| Google re:Work team effectiveness guide (free) | rework.withgoogle.com | Reference |
| Rands in Repose (Michael Lopp blog, free) | randsinrepose.com | Reference |
| LeadDev engineering leadership articles and reports (free articles; paid events/reports may apply) | leaddev.com | Reference |
| Lara Hogan management resources (free blog; paid courses/books) | larahogan.me | Practice |
Practice, Tools, and Current Sources
The Manager’s Readme practice (a document that describes your management style, preferences, and expectations, shared with the team) is both a useful communication tool and a learning exercise: writing it forces the articulation of what you believe about management and how you intend to practice it. Reading examples from engineering managers (many are published on GitHub) provides exposure to the range of approaches.
Google re:Work’s team effectiveness guides (§7.6 reference) provide lightweight diagnostics and discussion prompts for team structure, psychological safety, and collaboration norms. They are more directly useful for engineering managers than another delivery-metrics checklist.
Structured one-on-ones — regular, predictable individual meetings with each direct report — are the single most important management tool. The practice of holding these regularly (weekly for direct reports, biweekly acceptable for the manager’s manager), keeping notes, and reviewing them over time reveals patterns in individual development and team health that are invisible without this discipline.
| Resource | Platform | Type |
|---|---|---|
| Manager’s Readme examples (free) | GitHub search | Entry |
| Team effectiveness discussion guides (free) | rework.withgoogle.com | Practice |
| Structured one-on-one templates (free) | Various | Practice |
| Manager Tools One-on-Ones (free podcast; paid training/tools may apply) | manager-tools.com | Practice |
Traps
| Trap | Why it misleads | Better response |
|---|---|---|
| The individual contributor instinct in management | New engineering managers often feel most productive when they are writing code, making technical decisions, and solving technical problems — because that is what has made them effective until this point. The management role requires a different orientation: the manager’s output is the team’s output, not their individual output. Managers who continue to act primarily as individual contributors fail to develop the team’s capabilities, become bottlenecks for decisions they are making personally rather than delegating, and burn out from the combined load of doing both jobs. | Explicitly define the new job. What work is only the manager’s job — hiring decisions, performance management, team structure, stakeholder communication? What work can be delegated — technical decisions within the team’s scope, process improvements, mentoring more junior members? The clearest sign that the manager is managing rather than contributing is that the team can operate effectively without the manager’s direct involvement in technical decisions. |
| Avoiding difficult feedback | Most new managers discover that giving clear negative feedback is harder than they expected, and respond by softening feedback to the point where the recipient does not understand that there is a problem. The recipient continues the problematic behavior; the manager becomes increasingly frustrated; the situation eventually reaches a crisis that could have been addressed much earlier with clearer feedback. | Develop the ability to give specific, behavioral, direct feedback early in tenure. The SBI framework (Situation-Behavior-Impact) provides structure: “In the sprint review [Situation], when you interrupted the product manager’s explanation [Behavior], the team seemed confused about who was speaking for the team [Impact].” Practicing this structure in low-stakes situations builds the muscle for high-stakes situations. |
| Measuring activity rather than outcomes | Managers who measure activity — hours worked, pull requests merged, tickets closed — create the incentive to perform activity rather than to produce outcomes. Engineers who are measured on tickets closed will close tickets; they will also close tickets that are done but not useful, scope tickets narrowly to increase count, and rush through complex work to close it. | Measure outcomes that matter: team delivery performance (DORA metrics), product outcomes (usage, engagement, retention), and team health (retention, satisfaction, psychological safety survey results). These are harder to measure than activity, but they are the things that actually matter. Activity metrics are leading indicators at best and gaming incentives at worst. |
| Conflating management structure with technical hierarchy | Technical seniority — being a staff or principal engineer — is not the same as being a manager. Many organizations conflate them, treating management as the primary career path for senior engineers and the primary source of organizational power. This produces two failure modes: excellent engineers who become mediocre managers because the skills are different, and management structures that are driven by technical hierarchy rather than management capability. | Develop and maintain dual technical and management career paths with equivalent compensation, status, and organizational influence. Staff engineers and engineering managers are different functions; the best organizations treat them as such. Not every excellent engineer should become a manager; not every effective manager needs to be the most technically skilled person on the team. |
| Managing the team rather than creating conditions for the team | Managers who micromanage decisions, attend every meeting, review every pull request, and insert themselves into every technical conversation are managing the team rather than creating the conditions for the team to manage itself. This is exhausting for the manager, stifling for the team, and does not scale: the manager becomes the bottleneck. | The manager’s job is to create the conditions that allow the team to function effectively without the manager’s constant involvement: clear goals, appropriate autonomy, good information, structural support, and the interpersonal safety to make decisions and surface problems. A team that can operate effectively when the manager is on vacation for two weeks is a well-managed team; a team that cannot is a team with a bottleneck, not a team with a manager. |
中文
工程管理是组织和领导那些构建软件系统的人所形成的纪律。它不同于工程本身,而这种差异并不总是显而易见。一个工程师成为 manager 后,会面对单靠技术能力无法解决的问题:一个团队成员能独立产出好工作,却阻碍协作;一个项目技术上可靠,却与组织优先级错位;一个适用于五个人的流程,到了十五个人时失效;两个 senior engineers 之间的冲突正在降低团队工作的质量,也降低团队关系的质量。这些问题没有 algorithmic solutions。它们要求对人做出判断,围绕困难议题进行沟通,做出具有长期后果的结构性决策,并在显著不确定性下维持连贯方向。
工程管理之所以是一门可学习的纪律,而不是一种天生才能,是因为关于什么有效的研究相当充分且一致。高绩效工程团队并不是谜;它们具有可测量的特征——psychological safety、清晰目标、适当 autonomy,以及支持协作的结构性条件——这些特征可以被有意识地建立。转向管理的 individual contributors 不需要通过痛苦试错来发现有效管理是什么样子;他们可以学习它。研究结论与多数组织实践之间存在很大差距,这也意味着:有意识学习超过直觉的机会同样很大。
工程管理角色处在两个复杂系统的交叉处:technical system(正在构建的软件和基础设施)与 human system(构建它的团队)。有效的 engineering managers 会保持足够技术深度,以理解自己要求团队做什么,评估 proposed solutions 是否可靠,并识别问题是否被低估或弱化。同时,他们也会发展纯技术工作不要求的人与组织能力:structured feedback、career development、conflict resolution、organizational navigation,以及创造能让优秀技术工作成为可能的条件。纯技术取向和纯管理取向都不充分;这个角色要求的是二者的综合。
前置知识:软件过程(§7.3)——工程管理运行在过程结构之内。架构(§7.1)——Conway’s Law 连接组织结构与技术结构。测试、DevOps、技术债——这些构成 engineering managers 正在管理的语境。
从 Scientific Management 到 Knowledge Worker
多数软件组织继承的管理实践,原本是为根本不同的工作设计的。
Frederick Winslow Taylor 的 scientific management,在 The Principles of Scientific Management(1911)中得到阐述,它是为工厂工作发展出来的:身体劳动可以被分解为可测量的 subtasks,通过 time-motion studies 优化,并由 workers 按照指令可靠执行。Taylor 的方法在制造业语境中产生了显著生产率提升。它们也非人化——把 workers 当作可替换单位,其任务是服从指令,而不是思考——而从最大化重复性体力劳动 throughput 的角度看,这种非人化不是 bug,而是 feature。
软件开发不是工厂工作。Peter Drucker 在 The Practice of Management(1954)中提出 knowledge worker 概念,并在后续著作中发展它:knowledge worker 的主要产出是 ideas、analysis、decisions 和 code,而不是物理产品。Knowledge workers 需要不同方式管理,因为他们的生产力条件不同。你不能通过优化软件工程师的身体动作来提高其产出;你提高产出的方法,是给他们清晰目标、适当 autonomy、有效工具、良好信息,以及能补足其技能的同事。用工厂管理技术对待 knowledge workers,会产生两个世界中最糟糕的结果:有 command-and-control 的 overhead,却没有相应收益,因为 workers 实际上并不可替换,工作也无法真正分解为指令。
Douglas McGregor 的 Theory X 和 Theory Y(The Human Side of Enterprise,1960)描述了两种管理世界观。Theory X 假定 employees 本质上懒惰、不喜欢工作,必须被指导、控制,并用惩罚威胁才能表现。Theory Y 假定 employees 天然能在工作中找到意义,在认同目标时能够自我指导并发挥创造力,并且在有机会时会承担责任。McGregor 认为,Theory Y 不只是更人道,而且更准确:在 Theory Y 假设下被管理的 knowledge workers,持续优于在 Theory X 假设下被管理的人,因为被激励、拥有 autonomy 的 workers 能解决那些被命令、被监控的 workers 无法解决的问题。软件组织中多数管理 dysfunction,都来自把 Theory X 假设应用到 knowledge workers 身上。
Frederick Herzberg 的 motivation-hygiene theory(The Motivation to Work,1959)区分了 hygiene factors 和 motivation factors。Hygiene factors——compensation、working conditions、policies——缺失时会造成不满,但存在本身不会产生 motivation。Motivation factors——achievement、recognition、responsibility、growth——存在时才会产生真正的 motivation。这个区分对工程管理很重要,因为它预测了哪些投入会产生哪些结果:把低于市场水平的薪资提高,可以减少不满;但把薪资提高到高于市场水平,并不会按比例产生更多 motivation。真正的 motivation 来自工作本身有意义,来自 achievement 被认可,也来自成长机会。
Richard Hackman 关于 team effectiveness 的研究,在 Leading Teams(2002)中得到总结。他识别了预测团队是否能高水平表现的条件。这些条件是结构性的,不是个人性的:当团队拥有 compelling direction(清晰、有挑战、有后果的目标)、real team(成员稳定且边界清楚)、right people(技能互补且人数足够)、enabling structure(支持协作工作的 norms 和 processes),以及 supportive organizational context(信息、资源和奖励)时,团队表现会更好。Hackman 的研究明确指出,team effectiveness 主要关乎 manager 创造的条件,而不是 individual talent。一个能为平庸团队创造正确条件的 manager,会比一个不能为有才华团队创造这些条件的 manager 产出更好结果。
Google 的 Project Aristotle 是一个多年研究项目,于 2016 年结束,它研究了哪些因素可以预测 Google 数百个工程团队的 team effectiveness。最重要的单一因素——比团队成员技术技能、目标清晰度或个人绩效评分都更重要——是 psychological safety:团队成员相信自己可以承担 interpersonal risks(提问、提出想法、暴露问题、承认错误)而不被惩罚。Psychological safety 高的团队更有创新性,更早发现问题,更快从失败中学习,并交付更好结果。这项研究验证了 Hackman 对结构性条件的关注,并进一步具体指出最重要的结构性因素是什么:不是团队组成,而是团队内部 interpersonal safety 的质量。
当代工程管理图景由若干具体发展塑造。从 waterfall 到 agile development 的转变,改变了 managers 管理的对象:他们不再管理详细计划,而是创造 iterative discovery 的条件。Remote 和 distributed teams 的增长,使 psychological safety 和 team cohesion 的管理更具挑战,需要 deliberate practices,而这些 practices 在 co-located teams 中通常是非正式发展出来的。2010 年代软件组织的快速增长,产生了大量在没有系统准备的情况下转向管理的工程师,也由此创造了对实用框架的需求,例如 Camille Fournier 的 The Manager’s Path(2017)和 Will Larson 的 An Elegant Puzzle(2019)。
Management Role、Team Effectiveness 与 Organizational Structure
Engineering Managers 做什么
Engineering manager 的主要职责不同于 individual contributors,而这些差异会制造真正的转型挑战。Individual contributor 的主要产出是 code、designs 和 technical decisions;其 feedback loop 相对较短,工作也相对独立。Manager 的主要产出是团队绩效;其 feedback loop 很长(需要时间才能看到 hiring decision、process change 或 feedback conversation 是否产生了好结果),而且工作天然是关系性的。
核心管理活动包括:hiring(选择能为团队绩效做贡献、并适配团队文化的人);developing people(为团队成员能力和 scope 的成长创造条件和反馈);setting direction(使团队目的和目标足够清楚,使团队成员可以在没有持续监督的情况下做出好决策);removing obstacles(识别并消除阻碍团队有效工作的组织、技术或过程因素);以及 managing outward(向 stakeholders 代表团队需求和成果,维护能为团队成功提供所需条件的组织关系)。
Manager 与技术工作的关系,是 individual contributor 转向 management 时最困难的转变之一。仍然深度参与 code 的 managers,会缺少带宽去做那些只有他们能做的管理活动;完全脱离技术工作的 managers,又会失去评估 technical decisions 和在团队中维持 credibility 所需的语境。可持续的平衡是:manager 保持足够技术性,能够理解团队正在做什么,围绕 technical decisions 提出好问题,并识别问题何时被隐藏或弱化——但不承担本应由团队拥有的 implementation work。
Performance management——识别 team members 何时 underperforming,提供有效 feedback,并在 performance 没有改善时做出 consequence decisions——是多数 managers 认为最困难的管理活动。困难一部分是情绪性的(给 negative feedback 不舒服),一部分是技能性的(有效 feedback 应具体、behavioral、及时,并面向 improvement)。回避困难 feedback 的后果是:underperformers 会继续 underperforming,往往还会影响 team morale,因为其他 team members 会看到 poor performance 没有 consequences;最终,当问题无法再忽视时,通常需要采取更具破坏性的行动。
Kim Scott 的 Radical Candor(2017)为此提供了最直接的框架:既要 care personally,也要 challenge directly。失败模式包括 ruinous empathy(太在意对方感受,以至于把 feedback 软化到无用)、obnoxious aggression(直接挑战,但没有 personal care,产生准确但有伤害性的 feedback),以及 manipulative insincerity(既不关心也不挑战,产生多数犬儒式管理中的政治空洞)。Scott 的框架有用,是因为它命名了多数 managers 会经历的失败模式,并给出了清晰改进方向。
Team Effectiveness 与 Psychological Safety
关于 team effectiveness 的研究汇聚到一组可以预测绩效的结构性条件上。这些不是激励口号;它们是经过经验验证的 predictors,并对 managers 如何组织团队、创造工作条件有实践含义。
Psychological safety——Amy Edmondson 提出的 construct,并由 Google Project Aristotle 广泛验证——是最重要的单一因素。Psychological safety 高的团队会更早分享 concerns(在它们变成 crises 之前),尝试新方法(而不是默认采用安全、熟悉的方法),并从 failures 中学习(而不是隐藏它们)。创造 psychological safety 需要显式 effort:managers 必须示范 vulnerability(自己承认 mistakes 和 uncertainties),必须以 curiosity 而不是 blame 回应被提出的问题,并且必须通过长期一致行为表明:暴露问题会被奖励,而不是被惩罚。
团队工作与其 outcomes 之间的 feedback loop 必须足够短,团队才能从行动中学习。那些在交付后数年才收到反馈的团队,无法利用这些反馈改进;那些在数小时或数天内收到反馈的团队则可以。这就是 §7.4 中 continuous delivery practices 与 team effectiveness 相关的原因:它们缩短了团队构建内容与它在 production 中是否有效之间的 feedback loop,从而支持高绩效团队所需的 learning cycles。
Staffing decisions——谁在团队中——其绩效影响大于多数 managers 的预期。一个技术上 competent、但在心理层面破坏团队 safety 的 team member,其成本高于产出;移除这样的人,比增加一个额外 high-performer 更能改善 team performance。从把团队看作 production function 的视角看,这一点反直觉(更多有技能的人 = 更多 output),但它与研究一致:team safety 是所有 team members 产出的 multiplier;一个降低 safety 的人,会降低所有人的产出。
Organizational Structure 与 Conway’s Law
Conway’s Law——组织会产生镜像其 communication structure 的系统设计——对工程管理有直接含义。如果期望的 system architecture 是具有清晰 ownership 的 loosely coupled microservices,那么 team structure 必须对齐:每个 service 一个团队,并且团队拥有完整 lifecycle。如果团队按技术层组织(frontend、backend、database),那么无论 architecture diagrams 如何规定,系统都会发展出这种三层结构。
实践含义是,engineering managers 必须把 team structure 当作 architecture decision 来思考。Reorganizations 主要不是 HR events;它们是 architectural interventions,其后果会在团队生产出的系统中可见。Team Topologies(§7.3)提供了词汇:stream-aligned teams 端到端拥有并运维自己的软件;platform teams 以 service 形式提供共享能力;enabling teams 帮助其他团队发展能力;complicated subsystem teams 拥有高度专门化 components。这些 topologies 是会产生特定架构结果的设计选择。
团队规模很重要。Jeff Bezos 的 “two-pizza rule”——团队应小到能用两个披萨喂饱——反映了 Dunbar’s number 以及关于团队协调开销的研究。较小团队 communication overhead 更低,cohesion 更高;较大团队需要更多 coordination,而 coordination 会变成工作本身,而不是产品。研究通常支持五到八名工程师的团队规模:在这个范围内,大多数协作收益能够实现,协调开销也可管理。
Decision rights——谁做哪些决策,需要什么 consultation——是另一个具有重大绩效影响的组织设计变量。必须把常规决策升级给 management 的团队会失去 autonomy 和 speed;做出那些团队本该做出的决策的 managers,则是在做团队的工作,而不是自己的工作。把 decision-making 委托给最低的合适层级——拥有最相关信息、并对结果有最直接责任的人——既更高效,也更有激励作用。明确哪些 decisions 被 delegated,哪些被 reserved,比具体分配本身更重要。
学习这一部分会改变什么
工程管理会改变实践者理解自己工作,以及理解其所在组织语境的方式。
第一个变化,是能够识别并创造有效技术工作的条件。理解 psychological safety、appropriate autonomy 和 team effectiveness 结构性条件的实践者,可以识别这些条件何时缺失,并采取行动创造它们——无论是作为 manager,还是作为有影响力的 individual contributor。只理解技术卓越、却不理解其组织条件的实践者,会产出优秀技术工作,但这些工作会被团队 dysfunction 削弱。
第二个变化,是能够用与评估技术实践相同的 critical scrutiny 评估管理实践。正如技术实践应根据有效性证据评估,管理实践也应根据研究来评估。学习过研究的实践者,可以区分有经验支持的实践(psychological safety、autonomy、feedback loops)与 management fashion(stack ranking、为 focus work 设计 open-office plans、僵硬 process compliance),后者并不受证据支持。
第三个变化,是把 manager-engineer 关系理解为双向契约。理解好管理是什么样子的 engineers,可以更有效地参与“被管理”:他们可以要求具体 feedback,而不是等待 feedback;可以暴露问题,而不是希望 managers 自己发现;也可以表达关于结构性条件的 concerns,而不是把问题归因于个人失败。理解 management 的 individual contributors,更善于在自己所处的管理结构中工作并影响这些结构。
第四个变化,是 management study 提供的长期职业视角。工程职业很长;多数 engineers 会在许多组织中工作,被许多不同 managers 管理,并在 individual contributor 到 technical leadership 的不同角色之间转换。理解 teams、organizations 和 management 的动态,可以为这些转换提供框架,也能帮助识别哪些组织和角色能使优秀技术工作成为可能。
资源
书籍与文本
Fournier 的 The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change(O’Reilly,2017)是工程师成为或刚成为 managers 时的基础实践指南。它追踪从 individual contributor 到 tech lead、engineering manager、director、VP 和 CTO 的 progression,并在每个阶段提供具体建议。它坦率讨论转型困难,以及每个阶段要求的具体技能;这使它比那些不承认软件工程具体语境的抽象管理书更有用。
Larson 的 An Elegant Puzzle: Systems of Engineering Management(Stripe Press,2019)为 engineering managers 面对的组织与系统性挑战提供框架:staffing、organizational design、career development,以及 technical migrations 和 debt 的管理。Larson 的 systems-thinking approach,以及他愿意具体讨论管理决策机制——如何分配 headcount,如何思考 organizational structure,如何把 technical debt 作为组织资源来管理——使它成为该领域最实用的 systems-level management book。
Scott 的 Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity(St. Martin’s Press,2017)提供了多数 managers 所需的 feedback framework。Two-axis model(care personally / challenge directly)和命名的 failure modes(ruinous empathy、obnoxious aggression、manipulative insincerity),给 managers 提供了理解自身倾向并改变它们的词汇。
Hackman 的 Leading Teams: Setting the Stage for Great Performances(Harvard Business Review Press,2002)提供了 team effectiveness 的研究基础。它有学术风格,但面向实践;team effectiveness 的五个条件及其支撑研究,是本节所有结构性内容的基础。
Edmondson 的 The Fearless Organization: Creating Psychological Safety in the Workplace for Learning, Innovation, and Growth(Wiley,2018)是由 psychological safety 这一 construct 的提出者所写的最完整处理。它覆盖 evidence base、mechanisms,以及在团队中创造 psychological safety 的 practical interventions。
Lopp 的 Managing Humans: Biting and Humorous Tales of a Software Engineering Manager(Apress,第 3 版,2016)是最易读的工程管理入口,覆盖 engineering managers 会遇到的具体情境,并带有 Rands in Repose(Lopp 的博客)读者熟悉的直接性和幽默感。它不如其他书系统,但准确捕捉了工程管理的质感。
Grove 的 High Output Management(Vintage,1983)由 Intel CEO Andy Grove 写成,是由实践者为实践者写作的最持久管理文本。它把管理视为通过 leverage 最大化 output 的过程;它关于 one-on-ones 和 decision-making 的概念,以及把 manager 的时间视为需要管理的 portfolio 的处理,在出版四十年后仍然有用。
| 书籍 | 作用 | 类型 |
|---|---|---|
| Fournier, The Manager’s Path | 基础实践指南 | 入门 |
| Larson, An Elegant Puzzle | Engineering management systems | 深入 |
| Scott, Radical Candor | Feedback framework | 入门 |
| Hackman, Leading Teams | Team effectiveness research | 深入 |
| Edmondson, The Fearless Organization | Psychological safety research | 深入 |
| Lopp, Managing Humans(第 3 版) | 易读入口;EM 的质感 | 入门 |
| Grove, High Output Management | 经典实践者管理文本 | 深入 |
| Drucker, The Effective Executive | Knowledge worker management | 深入 |
| DeMarco & Lister, Peopleware(第 3 版) | Software management human factors | 深入 |
| Organizational-design use of Team Topologies | 面向交付的团队结构 | 深入 |
| Larson, Staff Engineer(多数内容免费在线;纸质书付费) | Staff+ individual contributor leadership | 深入 |
课程、论文与当前资料
Edmondson 的 “Building a Psychologically Safe Workplace” TEDx talk(2014,YouTube 免费)是 psychological safety 这一 construct 及其背后研究的最易进入介绍。在阅读 The Fearless Organization 之前先观看它,可以获得动机和概览;书则提供深度。
Google 的 “re:Work” resources(rework.withgoogle.com,免费)发布了 Project Aristotle 和其他 Google 关于 team effectiveness 的研究发现。理解 team effectiveness 的 guide,是 Project Aristotle findings 最浓缩的版本。
Lencioni 的 The Five Dysfunctions of a Team(2002)虽然采用小说形式,框架也有所简化,但已经在 team effectiveness 讨论中被广泛引用。理解五个 dysfunctions(absence of trust、fear of conflict、lack of commitment、avoidance of accountability、inattention to results)可以为诊断常见团队问题提供词汇,尽管这本书的处理不如 Hackman 严谨。
| 资源 | 平台 | 类型 |
|---|---|---|
| Edmondson, TEDx “Psychological Safety”(免费) | YouTube | 入门 |
| Google re:Work team effectiveness guide(免费) | rework.withgoogle.com | 参考 |
| Rands in Repose(Michael Lopp blog,免费) | randsinrepose.com | 参考 |
| LeadDev engineering leadership articles and reports(免费文章;paid events/reports may apply) | leaddev.com | 参考 |
| Lara Hogan management resources(免费 blog;paid courses/books) | larahogan.me | 实践 |
实践、工具与当前资料
Manager’s Readme practice 是一种文档实践,用来描述你的 management style、preferences 和 expectations,并分享给团队。它既是有用的沟通工具,也是学习练习:写它会迫使你阐明自己相信什么样的管理,以及你打算如何实践管理。阅读 engineering managers 的示例(许多发布在 GitHub 上)可以接触不同管理方式。
Google re:Work 的 team effectiveness guides(§7.6 参考)为 team structure、psychological safety 和 collaboration norms 提供轻量诊断和 discussion prompts。对 engineering managers 来说,它们比又一份 delivery-metrics checklist 更直接有用。
Structured one-on-ones——与每个 direct report 定期、可预测地进行单独会谈——是最重要的单一管理工具。定期举行这些会谈(对 direct reports 每周一次;对 manager’s manager 每两周一次可接受)、做 notes,并随时间 review,可以揭示 individual development 和 team health 中没有这种纪律就不可见的模式。
| 资源 | 平台 | 类型 |
|---|---|---|
| Manager’s Readme examples(免费) | GitHub search | 入门 |
| Team effectiveness discussion guides(免费) | rework.withgoogle.com | 实践 |
| Structured one-on-one templates(免费) | Various | 实践 |
| Manager Tools One-on-Ones(免费 podcast;paid training/tools may apply) | manager-tools.com | 实践 |
陷阱
| 陷阱 | 为什么会误导 | 更好的回应 |
|---|---|---|
| Management 中的 individual contributor instinct | 新任 engineering managers 往往在写 code、做 technical decisions、解决 technical problems 时最有生产力感——因为这正是他们此前有效的原因。Management role 要求不同取向:manager 的产出是团队产出,而不是个人产出。继续主要以 individual contributor 方式行动的 managers,无法发展团队能力,会因为自己亲自做决策而不是 delegation,成为决策瓶颈,并因同时做两份工作而 burnout。 | 显式定义新工作。哪些工作只能由 manager 做——hiring decisions、performance management、team structure、stakeholder communication?哪些工作可以 delegation——团队 scope 内的 technical decisions、process improvements、指导更 junior members?Manager 在管理而不是贡献的最清楚标志,是团队即使没有 manager 直接参与 technical decisions,也能有效运行。 |
| 回避困难 feedback | 多数新 managers 会发现,给出清楚的 negative feedback 比预期更难,于是把 feedback 软化到 recipient 不明白存在问题的程度。Recipient 继续问题行为;manager 越来越沮丧;局面最终变成危机,而它本可以更早通过更清楚 feedback 处理。 | 在任期早期就发展给出 specific、behavioral、direct feedback 的能力。SBI framework(Situation-Behavior-Impact)提供结构:“在 sprint review 中 [Situation],当你打断 product manager 的解释时 [Behavior],团队似乎不清楚谁在代表团队发言 [Impact]。” 在低风险场景中练习这种结构,可以为高风险场景建立能力。 |
| 测量 activity 而不是 outcomes | 测量 activity——hours worked、pull requests merged、tickets closed——的 managers,会制造“表演 activity”而不是“产出 outcomes”的激励。被按 tickets closed 衡量的 engineers 会关闭 tickets;他们也会关闭那些 done 但并不 useful 的 tickets,把 tickets scope 切得很窄以提高数量,并为了关闭复杂工作而匆忙完成。 | 测量真正重要的 outcomes:team delivery performance(DORA metrics)、product outcomes(usage、engagement、retention)和 team health(retention、satisfaction、psychological safety survey results)。这些比 activity 更难测量,但它们才是真正重要的东西。Activity metrics 最多是 leading indicators,最坏则是 gaming incentives。 |
| 混淆 management structure 与 technical hierarchy | Technical seniority——成为 staff 或 principal engineer——并不等于成为 manager。许多组织混淆二者,把 management 当作 senior engineers 的主要 career path 和组织权力主要来源。这会产生两种失败模式:优秀 engineers 因技能不同而成为平庸 managers;management structures 由 technical hierarchy 而不是 management capability 驱动。 | 发展并维护双通道 technical 和 management career paths,使二者在 compensation、status 和 organizational influence 上相当。Staff engineers 和 engineering managers 是不同职能;最好的组织会这样对待它们。不是每个优秀 engineer 都应成为 manager;也不是每个有效 manager 都需要是团队中技术最强的人。 |
| 管理团队,而不是为团队创造条件 | Micromanage decisions、参加每个 meeting、review 每个 pull request、把自己插入每个 technical conversation 的 managers,是在管理团队,而不是为团队创造自我管理的条件。这会让 manager 筋疲力尽,让团队窒息,而且无法 scale:manager 会成为 bottleneck。 | Manager 的工作,是创造条件,使团队即使没有 manager 持续介入也能有效运行:清晰目标、适当 autonomy、良好信息、结构性支持,以及使团队能做决策和暴露问题的 interpersonal safety。一个 manager 休假两周仍能有效运行的团队,是管理良好的团队;一个不能这样运行的团队,是有 bottleneck 的团队,而不是有 manager 的团队。 |