SLIDE 1 Optimizing for developer happiness
Chad Dickerson CTO, Etsy chad@etsy.com @chaddickerson
SLIDE 2
SLIDE 3
We deploy code to production about 25x per day
SLIDE 4
Across a team of 70 engineers
SLIDE 5
We have a lot of people depending on us.
SLIDE 6
400,000+ active sellers
SLIDE 7
9+ million registered members
SLIDE 8
$300+ million in sales in 2010
SLIDE 9
> 1 billion page views / month
SLIDE 10
Business in over 150 countries
SLIDE 11
How?
SLIDE 12
Culture.
SLIDE 13
One that optimizes for developer happiness.
SLIDE 15
Ruby is designed to make programmers happy. — Yukihiro Matsumoto, aka “Matz”
SLIDE 16
Connect engineers to their work
SLIDE 17
by making it easy to ship
SLIDE 18
with the support of a community.
SLIDE 19 Etsy operates internally like an online community: chaotic, irreverent, self- regulating and self-sustaining.
- - Noah Sussman, Software Engineer
SLIDE 20
The way we do things shouldn’t work.
SLIDE 21
It does.
SLIDE 22
Constant progress
SLIDE 23
powered by
SLIDE 24 radical decentralization
SLIDE 25
we trust people.
SLIDE 26 (and dogs)
“Dogs are part of the team, and are expected to commit code.”
Milo Dottie
SLIDE 27
SLIDE 28 Ari JM Diego Eric Seth
SLIDE 29
SLIDE 30 Fred Kellan Adam Danny Me
SLIDE 32 Milo Code going out to our servers Progress bar
SLIDE 34
SLIDE 35
SLIDE 36
SLIDE 37 Etsy respects the trade of engineering. Code as Craft. The first time I came to Etsy there was a quilt over the room where the engineers sat, it said "We [heart] engineers."
- Bill Massie, Software Engineer
SLIDE 38
SLIDE 39
SLIDE 40
SLIDE 41
SLIDE 42
SLIDE 43
SLIDE 44
SLIDE 45
SLIDE 46
SLIDE 47
Peter Drucker
SLIDE 48 the traditional assembly line "deprives the worker of
- satisfaction. . . by the confinement of the worker to one
manipulation repeated endlessly which denies the satisfaction of finishing a job."
SLIDE 49
SLIDE 50
SLIDE 51
SLIDE 52 If companies really want their workers to produce, they should try to impart a sense of meaning—not just through vision statements but by allowing employees to feel a sense of completion and ensuring that a job well done is acknowledged.
- - Dan Ariely, The Upside of Irrationality (2010)
SLIDE 53
Easy deploys = developer happiness
SLIDE 54
SLIDE 55
SLIDE 56
SLIDE 57
SLIDE 58
Complete. At Etsy, this cycle takes an average of 21 minutes.
SLIDE 59
Peter Drucker
SLIDE 60 “[the corporation’s] social function as a community is as important as its economic function as an efficient producer.”
SLIDE 61
SLIDE 62
We use this about 25x a day
SLIDE 63
SLIDE 64
The “Push Train”
SLIDE 65
Ross Snyder
SLIDE 66
Topic!!!
SLIDE 67 20:11 -!- rachel changed the topic of #push to: steve | mike | rachel | bill | ross
SLIDE 68
- 3. rachel
- 4. ross
- 2. mike
- 5. bill
- 1. steve
SLIDE 69 “intricate ballet in which the individual dancers and ensembles all have distinctive parts which miraculously reinforce each other and compose an
Jane Jacobs
SLIDE 70
SLIDE 71
Community
SLIDE 72 The fact that the IRC and communication channels are as entertaining as they are useful is great. It makes newcomers feel comfortable and supported.
- -Justin Donato, Software Engineer
SLIDE 73
Using tools
SLIDE 74
to build happy communities
SLIDE 75 “. . . . unconscious assumption of general street support when the chips are down.”
SLIDE 76 Dev and ops cooperation. This can never be overstated.. . . . So many engineers watching each others backs.
- -Mike Brittain, Software Engineer
SLIDE 77
Your team is your community.
SLIDE 78
Help them finish things.
SLIDE 79
Give them a voice.
SLIDE 80 There is a quality even meaner than outright ugliness or disorder, and this meaner quality is the dishonest mask of pretended order, achieved by ignoring or suppressing the real order that is struggling to exist and to be served.
Jane Jacobs The Death and Life of Great American Cities 1961
SLIDE 81
Build a community
SLIDE 82
where you allow real human order to emerge
SLIDE 83
and magic will happen.
SLIDE 84
Optimize for the happiness of people.
SLIDE 85
Thank you.