SlideShare a Scribd company logo
4
Most read
5
Most read
10
Most read
Leadership Without
Management:
Scaling Organizations by
Scaling Engineers
SVP, Engineering
bryan@joyent.com
Bryan Cantrill
@bcantrill
Software Engineering
Middle Management:
Toxin or Cancer?
SVP, Engineering
bryan@joyent.com
Bryan Cantrill
@bcantrill
Scaling an engineering organization
• Adding an engineer to an organization has known drag:
• Life-related problems (illness, life events, etc.) will
grow linearly with people
• Communication- and organization-related problems
will grow non-linearly with people
• The drag is embodied in Brooks’s Law: Adding people to
a late software project only makes it later
• Most thinking around scaling an organization seems to
focus on reducing this drag — or coping with it
• But exclusively thinking along these lines only makes
sense if all software engineers are essentially equal!
Software engineers are not equal
• Software engineers are not equal; the best software
engineers are (at least) an order of magnitude more
productive than merely average engineers
• Steve McConnell (author of Code Complete) has
thoroughly researched this and calls it the “10X effect”
— but even this likely understates the multiplier
• While top software engineers are an order of magnitude
more productive, they do not induce any more
organizational drag that average engineers
• Software engineering organizations scale an order
of magnitude more effectively if they focus on
growing with only top performers
Exclusively top engineers?
• Can one build an engineering organization that consists
only of top engineers?
• May sound like an obvious aspiration, but many
organizations are not structured to do this: they either
don’t attract top engineers — or repel them outright
• What motivates superlative engineers?
• What demotivates them?
• How does one structure and operate an organization
that consists only of top engineers?
• And how does one find superlative engineers?
Motivators
• Above all else, engineers wish to make useful things
• The biggest single motivator for superlative engineers is
therefore mission — the “why” of an endeavor
• The other primary motivators are team and technical
problem — engineers are drawn to inspiring peers and
hard problems
• Assuming that engineers are compensated fairly,
compensation is nearly always less important than
mission, team and problem
• Compensation is important, but focusing exclusively on
compensation while neglecting the primary motivators
will attract only those with the wrong motivations!
Demotivators
• If the mission, team and problem are compelling (and
compensation is fair) top engineers will put up with an
astonishing amount of organizational nonsense...
• ...but there are demotivators that can become corrosive
with respect to mission, team and problem
• Many of these are structural — they can be avoided if
one is aware of them
• Ironically, engineering organizations seeking to “scale”
are at the greatest risk for creating the structures that
most profoundly demotivate software engineers!
Demotivator: Formalized annual review
• Feedback is essential, but formalized annual review is
the wrong kind of feedback and at the wrong cadence
• For top performers, this only serves to fixate on the
unchangeable aspects of personality (e.g. too shy/not
shy enough) instead of one’s technical achievements
• And because formalized review carries a heavy burden,
it often creates self-evaluation make-work for engineers,
serving not only to demotivate but also to waste time
• Not a radical opinion; annual performance review is one
of Deming’s Seven Deadly Diseases of Management!
Demotivator: Hierarchical titles
• With the rise of the “dual ladder” that allowed engineers
to advance without going into management, hierarchical
titles were invented to denote engineering rank
• e.g., “Member of technical staff” vs. “Staff engineer” vs.
“Senior staff engineer”
• But hierarchical titles create the N+1 Butt-head Problem:
people will naturally find the biggest butt-head at the
next higher rank, and be bummed out about them
• Title promotions of others are reviled (“why not me?”);
promotions of oneself are overdue (“about time!”)
• Hierarchical titles are not uplifting — they’re corrosive
Demotivator: Ranking
• Forces an absolute ordering of engineer performance,
with the “top” (~20%) rewarded, the “middle” (~70%)
ignored and the “bottom” (~10%) terminated
• Also known as “top grading” (Amazon), “stack
ranking” (Microsoft), “rank-and-yank” (GE), “ranking-
and-rating” (Intel) and — most gallingly — “individual
dignity entitlement” (Motorola)
• A team, organization or company tautologically cannot
have more than a set percentage of top performers!
• Self-fulfilling prophesy: if one has more than the set
percentage of top performers, the lower-ranked top
performers will do you the favor of leaving!
Demotivator: Ranking, cont.
• Ranking always starts harmlessly as an attempt to
“quantify” and “standardize” performance to be able to
allow a large organization to “level” compensation
• But quotas quickly arise as a part of organizational
jockeying: an organization won’t be permitted to have
exclusively top performers by its rivals
• Ranking creates the worst possible perverse incentives:
avoid working with talented engineers and be sure you
have some deadwood to throw into the lower ranks!
• Ranking is organizational cancer
Demotivator: Purple Robes Club
• It may become tempting to establish a select group of
engineers — often with adjectives like “distinguished” or
“principal” or nouns like “architect” or “fellow”
• This has all of the problems of ranking — but it’s even
worse if this group is actually technically empowered
• Having a select group hand down technical decisions is
tremendously demotivating to younger talent
• Standing “architectural review boards” are a variant of
this!
Demotivator: Non-technical management
• Non-technical management can’t resist channeling
Frederick Winslow Taylor: the fixation becomes on time-
management above all else...
• ...but those who have not developed software cannot
possibly appreciate the degree of unknown unknowns in
novel software development
• Non-technical management can never understand the
tradeoff that the unknowns imply: of functionality, quality
and schedule, one may generally pick only two!
• Non-technical management is a recipe for date-driven
death marches, where “everyone” knows the schedule is
unobtainable
Demotivator: Ex-technical management
• The most dangerous management is that which is
formerly technical
• They often retain the confidence of an engineer, but lose
the humility that is forced upon an engineer who must
get a complicated system to actually work
• This can happen remarkably quickly — there is a natural
bias to forget the horrors of software development
• While it must be done carefully, it is essential that those
in formalized leadership positions to continue to directly
contribute technically — if only to maintain empathy!
Demotivator: Inability to focus
• Especially when one has a team with many superlative
engineers, all of the world’s problems become tempting
• It can be difficult to maintain focus; tempting to say “yes”
to many different problems or opportunities
• But focus is not what you do — it’s what you don’t do (if
you haven’t yet, see Steve Jobs’ WWDC 1997 Keynote)
• Focus cannot be mere rhetoric; at both the individual
and organizational levels, must have the ability to say
“no” (or “later”)
Demotivator: Autocracy
• Recall that superlative engineers are motivated primarily
by mission — the “why” is essential
• Appeals to authority will fail; “because I said so” (and its
many variants) doesn’t actually work
• Present engineers with problems, not solutions — even
if those problems are organizational or economic
• When starting with the problem, a consensus-based
decision is nearly always possible among right-thinking
engineers...
Demotivator: Shilly-shallying
• … but decision making can become too consensus
based — there might not be consensus on some issues
• Right-thinking engineers fail to achieve consensus for
one of two reasons:
• The issue is small and boils down to personal style:
a decision either needs to be made, or different
styles need to be accommodated
• There is insufficient data on either side of an issue:
need to either gather more data, or pick a path that
forecloses the least number of options
• The one thing not to do: endless meetings!
Software engineering leadership
• The best software engineers — at every level of
experience and across personality types — are also
natural leaders
• Software engineering is an act of divining structure from
chaos to chart a path through the unknown: every line of
code is a business decision
• Recognizing that software engineers are natural leaders
changes the way we organize them
• One need not have middle management; a flat structure
with open communication and flexible teams allows
software engineers’ natural leadership to develop
Finding superlative engineers
• Three ways to find superlative engineers:
• The engineers that have worked with you or your
team in the past and are known to be good
• Talented, promising university graduates
• Individuals in the community who join or work on the
open source projects that your team leads
• None of these is deterministic; you should work on all
three fronts all the time
• Open source is your farm system; use it!
Further reading
• The Soul of a New Machine by Tracy Kidder
• The Rickover Effect: How One Man Made a Difference
by Theodore Rockwell
• Flight: My Life in Mission Control by Chris Kraft
• Skunk Works: A Personal Memoir of My Years of
Lockheed by Ben Rich
• Empires of Light: Edison, Tesla, Westinghouse, and the
Race to Electrify the World by Jill Jonnes

More Related Content

PPT
Chapter 01 software engineering pressman
PPT
ATAM
PPTX
What is Kanban? Kanban for Software Development.
PDF
Machine learning in software testing
PPSX
Requirement Elicitation Techniques
PDF
Agile and ITIL Continuous Delivery
PPTX
Testing Best Practices
PPTX
Introduction to Holacracy
Chapter 01 software engineering pressman
ATAM
What is Kanban? Kanban for Software Development.
Machine learning in software testing
Requirement Elicitation Techniques
Agile and ITIL Continuous Delivery
Testing Best Practices
Introduction to Holacracy

What's hot (20)

PPT
PDF
Cyber Security and Business Continuity an Integrated Discipline
PDF
Enterprise Business Architecture in Practice -- Leveraging EBA for Success on...
PPTX
Incremental model presentation
PDF
PPT
Test Management introduction
PPT
Configuration Management
PPSX
Requirement Elicitation
PPTX
Software Engineering Methodologies
PPTX
Agile software development and extreme Programming
PDF
Introduction to Business Process Model and Notation (BPMN) - OSSCamp 2014
PPSX
Class waterfall
DOCX
IT Risk assessment and Audit Planning
PPT
Testing Metrics
PPTX
Path Testing
PPT
Review of: Challenges of migrating to agile methodologies
PPTX
verification and validation
PPTX
Regression testing
PPT
Types of decision support system
Cyber Security and Business Continuity an Integrated Discipline
Enterprise Business Architecture in Practice -- Leveraging EBA for Success on...
Incremental model presentation
Test Management introduction
Configuration Management
Requirement Elicitation
Software Engineering Methodologies
Agile software development and extreme Programming
Introduction to Business Process Model and Notation (BPMN) - OSSCamp 2014
Class waterfall
IT Risk assessment and Audit Planning
Testing Metrics
Path Testing
Review of: Challenges of migrating to agile methodologies
verification and validation
Regression testing
Types of decision support system
Ad

Viewers also liked (20)

PDF
Down Memory Lane: Two Decades with the Slab Allocator
PDF
Oral tradition in software engineering: Passing the craft across generations
PDF
The State of Cloud 2016: The whirlwind of creative destruction
PDF
Corporate Open Source Anti-patterns
PDF
Papers We Love: Jails and Zones
PDF
The Container Revolution: Reflections after the first decade
PDF
Debugging (Docker) containers in production
PDF
CTO vs. VP of Engineering
PDF
Pixar's 22 Rules to Phenomenal Storytelling
PPTX
The Business State of Node.js 2015
PPTX
Engineering Leadership - Vision 101
PDF
The Peril and Promise of Early Adoption: Arriving 10 Years Early to Containers
PDF
The DIY Punk Rock DevOps Playbook
PDF
node.js and Containers: Dispatches from the Frontier
PDF
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
PPTX
Scaling techniques (unit iv) shradha
PPTX
Measurement levels
PDF
Agile Experience Design Framework
PPTX
Access by Default
Down Memory Lane: Two Decades with the Slab Allocator
Oral tradition in software engineering: Passing the craft across generations
The State of Cloud 2016: The whirlwind of creative destruction
Corporate Open Source Anti-patterns
Papers We Love: Jails and Zones
The Container Revolution: Reflections after the first decade
Debugging (Docker) containers in production
CTO vs. VP of Engineering
Pixar's 22 Rules to Phenomenal Storytelling
The Business State of Node.js 2015
Engineering Leadership - Vision 101
The Peril and Promise of Early Adoption: Arriving 10 Years Early to Containers
The DIY Punk Rock DevOps Playbook
node.js and Containers: Dispatches from the Frontier
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
Scaling techniques (unit iv) shradha
Measurement levels
Agile Experience Design Framework
Access by Default
Ad

Similar to Leadership Without Management: Scaling Organizations by Scaling Engineers (20)

PPTX
Zinnov Confluence 2014 : US Chapter : Summary of conference final uploaded in...
PDF
Software Engineer's Career Management Toolkit
PDF
Everyone A Leader A Guide To Leading Highperformance Organizations For Engine...
PPT
Jeremy riesberg - engineers as managers leaders
PPT
Crafting a Successful Engineering Career
PDF
Climbing Off The Ladder, Before We Fall Off
PDF
Scaling tech teams
PDF
engineers responsibility in management.pdf
PPT
Engineering management
PDF
The Individual Contributor Path - DPC2024
PPT
Engineering Management
PPTX
How to go from structureless to structured without losing your vibe
PDF
Building a-motivated-team
PPTX
Professional Ethics for everyone everywhere.pptx
PPT
CraftingaSuccessfulEngineeringCareer.ppt
PDF
How Spotify Helps Their Engineers Grow - Chris Angove
PPTX
How to hire and keep engineers happy public
PDF
The Black Magic of Engineering Management
PDF
The Black Magic Of Engineering Management
PDF
20190413 zen and the art of programming
Zinnov Confluence 2014 : US Chapter : Summary of conference final uploaded in...
Software Engineer's Career Management Toolkit
Everyone A Leader A Guide To Leading Highperformance Organizations For Engine...
Jeremy riesberg - engineers as managers leaders
Crafting a Successful Engineering Career
Climbing Off The Ladder, Before We Fall Off
Scaling tech teams
engineers responsibility in management.pdf
Engineering management
The Individual Contributor Path - DPC2024
Engineering Management
How to go from structureless to structured without losing your vibe
Building a-motivated-team
Professional Ethics for everyone everywhere.pptx
CraftingaSuccessfulEngineeringCareer.ppt
How Spotify Helps Their Engineers Grow - Chris Angove
How to hire and keep engineers happy public
The Black Magic of Engineering Management
The Black Magic Of Engineering Management
20190413 zen and the art of programming

More from bcantrill (20)

PDF
Predicting the Present
PDF
Sharpening the Axe: The Primacy of Toolmaking
PDF
Coming of Age: Developing young technologists without robbing them of their y...
PDF
I have come to bury the BIOS, not to open it: The need for holistic systems
PDF
Towards Holistic Systems
PDF
The Coming Firmware Revolution
PDF
Hardware/software Co-design: The Coming Golden Age
PDF
Tockilator: Deducing Tock execution flows from Ibex Verilator traces
PDF
No Moore Left to Give: Enterprise Computing After Moore's Law
PDF
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
PDF
Visualizing Systems with Statemaps
PDF
Platform values, Rust, and the implications for system software
PDF
Is it time to rewrite the operating system in Rust?
PDF
dtrace.conf(16): DTrace state of the union
PDF
The Hurricane's Butterfly: Debugging pathologically performing systems
PDF
Papers We Love: ARC after dark
PDF
Principles of Technology Leadership
PDF
Zebras all the way down: The engineering challenges of the data path
PDF
Platform as reflection of values: Joyent, node.js, and beyond
PDF
Debugging under fire: Keeping your head when systems have lost their mind
Predicting the Present
Sharpening the Axe: The Primacy of Toolmaking
Coming of Age: Developing young technologists without robbing them of their y...
I have come to bury the BIOS, not to open it: The need for holistic systems
Towards Holistic Systems
The Coming Firmware Revolution
Hardware/software Co-design: The Coming Golden Age
Tockilator: Deducing Tock execution flows from Ibex Verilator traces
No Moore Left to Give: Enterprise Computing After Moore's Law
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
Visualizing Systems with Statemaps
Platform values, Rust, and the implications for system software
Is it time to rewrite the operating system in Rust?
dtrace.conf(16): DTrace state of the union
The Hurricane's Butterfly: Debugging pathologically performing systems
Papers We Love: ARC after dark
Principles of Technology Leadership
Zebras all the way down: The engineering challenges of the data path
Platform as reflection of values: Joyent, node.js, and beyond
Debugging under fire: Keeping your head when systems have lost their mind

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Modernizing your data center with Dell and AMD
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
A Presentation on Artificial Intelligence
PDF
Empathic Computing: Creating Shared Understanding
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Cloud computing and distributed systems.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Big Data Technologies - Introduction.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Network Security Unit 5.pdf for BCA BBA.
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Machine learning based COVID-19 study performance prediction
Digital-Transformation-Roadmap-for-Companies.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Modernizing your data center with Dell and AMD
20250228 LYD VKU AI Blended-Learning.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Electronic commerce courselecture one. Pdf
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
A Presentation on Artificial Intelligence
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
Cloud computing and distributed systems.

Leadership Without Management: Scaling Organizations by Scaling Engineers

  • 1. Leadership Without Management: Scaling Organizations by Scaling Engineers SVP, Engineering bryan@joyent.com Bryan Cantrill @bcantrill
  • 2. Software Engineering Middle Management: Toxin or Cancer? SVP, Engineering bryan@joyent.com Bryan Cantrill @bcantrill
  • 3. Scaling an engineering organization • Adding an engineer to an organization has known drag: • Life-related problems (illness, life events, etc.) will grow linearly with people • Communication- and organization-related problems will grow non-linearly with people • The drag is embodied in Brooks’s Law: Adding people to a late software project only makes it later • Most thinking around scaling an organization seems to focus on reducing this drag — or coping with it • But exclusively thinking along these lines only makes sense if all software engineers are essentially equal!
  • 4. Software engineers are not equal • Software engineers are not equal; the best software engineers are (at least) an order of magnitude more productive than merely average engineers • Steve McConnell (author of Code Complete) has thoroughly researched this and calls it the “10X effect” — but even this likely understates the multiplier • While top software engineers are an order of magnitude more productive, they do not induce any more organizational drag that average engineers • Software engineering organizations scale an order of magnitude more effectively if they focus on growing with only top performers
  • 5. Exclusively top engineers? • Can one build an engineering organization that consists only of top engineers? • May sound like an obvious aspiration, but many organizations are not structured to do this: they either don’t attract top engineers — or repel them outright • What motivates superlative engineers? • What demotivates them? • How does one structure and operate an organization that consists only of top engineers? • And how does one find superlative engineers?
  • 6. Motivators • Above all else, engineers wish to make useful things • The biggest single motivator for superlative engineers is therefore mission — the “why” of an endeavor • The other primary motivators are team and technical problem — engineers are drawn to inspiring peers and hard problems • Assuming that engineers are compensated fairly, compensation is nearly always less important than mission, team and problem • Compensation is important, but focusing exclusively on compensation while neglecting the primary motivators will attract only those with the wrong motivations!
  • 7. Demotivators • If the mission, team and problem are compelling (and compensation is fair) top engineers will put up with an astonishing amount of organizational nonsense... • ...but there are demotivators that can become corrosive with respect to mission, team and problem • Many of these are structural — they can be avoided if one is aware of them • Ironically, engineering organizations seeking to “scale” are at the greatest risk for creating the structures that most profoundly demotivate software engineers!
  • 8. Demotivator: Formalized annual review • Feedback is essential, but formalized annual review is the wrong kind of feedback and at the wrong cadence • For top performers, this only serves to fixate on the unchangeable aspects of personality (e.g. too shy/not shy enough) instead of one’s technical achievements • And because formalized review carries a heavy burden, it often creates self-evaluation make-work for engineers, serving not only to demotivate but also to waste time • Not a radical opinion; annual performance review is one of Deming’s Seven Deadly Diseases of Management!
  • 9. Demotivator: Hierarchical titles • With the rise of the “dual ladder” that allowed engineers to advance without going into management, hierarchical titles were invented to denote engineering rank • e.g., “Member of technical staff” vs. “Staff engineer” vs. “Senior staff engineer” • But hierarchical titles create the N+1 Butt-head Problem: people will naturally find the biggest butt-head at the next higher rank, and be bummed out about them • Title promotions of others are reviled (“why not me?”); promotions of oneself are overdue (“about time!”) • Hierarchical titles are not uplifting — they’re corrosive
  • 10. Demotivator: Ranking • Forces an absolute ordering of engineer performance, with the “top” (~20%) rewarded, the “middle” (~70%) ignored and the “bottom” (~10%) terminated • Also known as “top grading” (Amazon), “stack ranking” (Microsoft), “rank-and-yank” (GE), “ranking- and-rating” (Intel) and — most gallingly — “individual dignity entitlement” (Motorola) • A team, organization or company tautologically cannot have more than a set percentage of top performers! • Self-fulfilling prophesy: if one has more than the set percentage of top performers, the lower-ranked top performers will do you the favor of leaving!
  • 11. Demotivator: Ranking, cont. • Ranking always starts harmlessly as an attempt to “quantify” and “standardize” performance to be able to allow a large organization to “level” compensation • But quotas quickly arise as a part of organizational jockeying: an organization won’t be permitted to have exclusively top performers by its rivals • Ranking creates the worst possible perverse incentives: avoid working with talented engineers and be sure you have some deadwood to throw into the lower ranks! • Ranking is organizational cancer
  • 12. Demotivator: Purple Robes Club • It may become tempting to establish a select group of engineers — often with adjectives like “distinguished” or “principal” or nouns like “architect” or “fellow” • This has all of the problems of ranking — but it’s even worse if this group is actually technically empowered • Having a select group hand down technical decisions is tremendously demotivating to younger talent • Standing “architectural review boards” are a variant of this!
  • 13. Demotivator: Non-technical management • Non-technical management can’t resist channeling Frederick Winslow Taylor: the fixation becomes on time- management above all else... • ...but those who have not developed software cannot possibly appreciate the degree of unknown unknowns in novel software development • Non-technical management can never understand the tradeoff that the unknowns imply: of functionality, quality and schedule, one may generally pick only two! • Non-technical management is a recipe for date-driven death marches, where “everyone” knows the schedule is unobtainable
  • 14. Demotivator: Ex-technical management • The most dangerous management is that which is formerly technical • They often retain the confidence of an engineer, but lose the humility that is forced upon an engineer who must get a complicated system to actually work • This can happen remarkably quickly — there is a natural bias to forget the horrors of software development • While it must be done carefully, it is essential that those in formalized leadership positions to continue to directly contribute technically — if only to maintain empathy!
  • 15. Demotivator: Inability to focus • Especially when one has a team with many superlative engineers, all of the world’s problems become tempting • It can be difficult to maintain focus; tempting to say “yes” to many different problems or opportunities • But focus is not what you do — it’s what you don’t do (if you haven’t yet, see Steve Jobs’ WWDC 1997 Keynote) • Focus cannot be mere rhetoric; at both the individual and organizational levels, must have the ability to say “no” (or “later”)
  • 16. Demotivator: Autocracy • Recall that superlative engineers are motivated primarily by mission — the “why” is essential • Appeals to authority will fail; “because I said so” (and its many variants) doesn’t actually work • Present engineers with problems, not solutions — even if those problems are organizational or economic • When starting with the problem, a consensus-based decision is nearly always possible among right-thinking engineers...
  • 17. Demotivator: Shilly-shallying • … but decision making can become too consensus based — there might not be consensus on some issues • Right-thinking engineers fail to achieve consensus for one of two reasons: • The issue is small and boils down to personal style: a decision either needs to be made, or different styles need to be accommodated • There is insufficient data on either side of an issue: need to either gather more data, or pick a path that forecloses the least number of options • The one thing not to do: endless meetings!
  • 18. Software engineering leadership • The best software engineers — at every level of experience and across personality types — are also natural leaders • Software engineering is an act of divining structure from chaos to chart a path through the unknown: every line of code is a business decision • Recognizing that software engineers are natural leaders changes the way we organize them • One need not have middle management; a flat structure with open communication and flexible teams allows software engineers’ natural leadership to develop
  • 19. Finding superlative engineers • Three ways to find superlative engineers: • The engineers that have worked with you or your team in the past and are known to be good • Talented, promising university graduates • Individuals in the community who join or work on the open source projects that your team leads • None of these is deterministic; you should work on all three fronts all the time • Open source is your farm system; use it!
  • 20. Further reading • The Soul of a New Machine by Tracy Kidder • The Rickover Effect: How One Man Made a Difference by Theodore Rockwell • Flight: My Life in Mission Control by Chris Kraft • Skunk Works: A Personal Memoir of My Years of Lockheed by Ben Rich • Empires of Light: Edison, Tesla, Westinghouse, and the Race to Electrify the World by Jill Jonnes