SLIDE 1 The Startup Hangover: Supporting 15 mil users
Phil Calçado - SoundCloud @pcalcado http://philcalcado.com
Wednesday, May 23, 12
SLIDE 2
i’m phil.
Wednesday, May 23, 12
SLIDE 3 i work here:
Wednesday, May 23, 12
SLIDE 4 Wednesday, May 23, 12
SLIDE 5 Wednesday, May 23, 12
SLIDE 6
law we make up
Wednesday, May 23, 12
SLIDE 7
law we make up
Wednesday, May 23, 12
SLIDE 8
law of nature
Wednesday, May 23, 12
SLIDE 9
law of nature
Wednesday, May 23, 12
SLIDE 10 Wednesday, May 23, 12
SLIDE 11 Wednesday, May 23, 12
SLIDE 12 Wednesday, May 23, 12
SLIDE 13 Wednesday, May 23, 12
SLIDE 14 Wednesday, May 23, 12
SLIDE 15 Wednesday, May 23, 12
SLIDE 16 Wednesday, May 23, 12
SLIDE 17
how to survive?
Wednesday, May 23, 12
SLIDE 18 Wednesday, May 23, 12
SLIDE 19 Wednesday, May 23, 12
SLIDE 20 Wednesday, May 23, 12
SLIDE 21
~2008
App
Wednesday, May 23, 12
SLIDE 22
App
~2011
Wednesday, May 23, 12
SLIDE 23
law of nature
Wednesday, May 23, 12
SLIDE 24
no point in fighting nature
Wednesday, May 23, 12
SLIDE 25 Service A Service B Service C
Wednesday, May 23, 12
SLIDE 26
teams are built around goals, not systems
Wednesday, May 23, 12
SLIDE 27
making layers explicit
Wednesday, May 23, 12
SLIDE 28 a set is a collection
Wednesday, May 23, 12
SLIDE 29
add other users’ sounds to a set
Wednesday, May 23, 12
SLIDE 30
application layer vs. domain layer
Wednesday, May 23, 12
SLIDE 31
law we make up teams are end-to-end
Wednesday, May 23, 12
SLIDE 32
great for “lateral hires” to a team
Wednesday, May 23, 12
SLIDE 33
law we make up you built it? you support it
Wednesday, May 23, 12
SLIDE 34 automate yourself
Wednesday, May 23, 12
SLIDE 35
law we make up async by default
Wednesday, May 23, 12
SLIDE 36 Wednesday, May 23, 12
SLIDE 37
law we make up pull requests or pairing as code review
Wednesday, May 23, 12
SLIDE 38 Wednesday, May 23, 12
SLIDE 39 short-lived branch
Wednesday, May 23, 12
SLIDE 40 Wednesday, May 23, 12
SLIDE 41 branch goes green
Wednesday, May 23, 12
SLIDE 42 Wednesday, May 23, 12
SLIDE 43 discussion
Wednesday, May 23, 12
SLIDE 44 Wednesday, May 23, 12
SLIDE 45
law we make up use the best tool for the job, but practice empathy
Wednesday, May 23, 12
SLIDE 46
no-brainer choices: ruby, go, scala, java, R
Wednesday, May 23, 12
SLIDE 47
node.js, clojure, haskell, python
Wednesday, May 23, 12
SLIDE 48
law we make up everyone is an architect
Wednesday, May 23, 12
SLIDE 49
bad calls are ok, gather feedback fast and make sure we can revert it when needed
Wednesday, May 23, 12
SLIDE 50
law we make up end-to-end testing before checking in code
Wednesday, May 23, 12
SLIDE 51
impersonators/stubs/ mocks for everything we can
Wednesday, May 23, 12
SLIDE 52
and we often can
Wednesday, May 23, 12
SLIDE 53 Wednesday, May 23, 12
SLIDE 54
law we make up product manager is a benevolent dictator
Wednesday, May 23, 12
SLIDE 55
and they often can code
Wednesday, May 23, 12
SLIDE 56
law we make up 20% time is sacred
Wednesday, May 23, 12
SLIDE 57
just don’t have the whole team going away at once
Wednesday, May 23, 12
SLIDE 58
law we make up no multi-tasking
Wednesday, May 23, 12
SLIDE 59
everyone is a singleton
Wednesday, May 23, 12
SLIDE 60
law we make up “done” means someone is using it (a.k.a. continuous deployment)
Wednesday, May 23, 12
SLIDE 61
cycle time: ~3 days
Wednesday, May 23, 12
SLIDE 62
law we make up measure all the things
Wednesday, May 23, 12
SLIDE 63 Wednesday, May 23, 12
SLIDE 64 Qs?
Phil Calçado - SoundCloud @pcalcado http://philcalcado.com
Wednesday, May 23, 12
SLIDE 65 http://bit.ly/work-at-soundcloud
Wednesday, May 23, 12