[GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users

Post on 16-May-2015

1.358 views 2 download

Tags:

Transcript of [GOTO Copenhagen 2012] The Startup Hangover: Supporting 15 mil Users

The Startup Hangover:Supporting 15 mil users

Phil Calçado - SoundCloud@pcalcado

http://philcalcado.comWednesday, May 23, 12

ohai!

i’m phil.

Wednesday, May 23, 12

i work here:

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

law we make up

Wednesday, May 23, 12

law we make up

Wednesday, May 23, 12

law of nature

Wednesday, May 23, 12

law of nature

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

how to survive?

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

Wednesday, May 23, 12

~2008

App

Wednesday, May 23, 12

App

~2011

Wednesday, May 23, 12

law of nature

Wednesday, May 23, 12

no point infighting nature

Wednesday, May 23, 12

Service A Service B

Service C

Wednesday, May 23, 12

teams are built around goals, not systems

Wednesday, May 23, 12

making layers explicit

Wednesday, May 23, 12

a set is a collectionof your sounds

Wednesday, May 23, 12

add other users’ sounds to a set

Wednesday, May 23, 12

application layervs.

domain layer

Wednesday, May 23, 12

law we make up

teams are end-to-end

Wednesday, May 23, 12

great for“lateral hires” to a team

Wednesday, May 23, 12

law we make up

you built it?you support it

Wednesday, May 23, 12

automate yourself out of support

Wednesday, May 23, 12

law we make up

async by default

Wednesday, May 23, 12

Wednesday, May 23, 12

law we make up

pull requests or pairingas

code review

Wednesday, May 23, 12

Wednesday, May 23, 12

short-lived branch

Wednesday, May 23, 12

Wednesday, May 23, 12

branch goes green

Wednesday, May 23, 12

Wednesday, May 23, 12

discussion

Wednesday, May 23, 12

Wednesday, May 23, 12

law we make up

use the best tool for the job, but practice empathy

Wednesday, May 23, 12

no-brainer choices:ruby, go, scala, java, R

Wednesday, May 23, 12

our fav outliers:node.js, clojure, haskell, python

Wednesday, May 23, 12

law we make up

everyone is an architect

Wednesday, May 23, 12

bad calls are ok, gather feedback fast and make sure we can revert it

when needed

Wednesday, May 23, 12

law we make up

end-to-end testing before checking in code

Wednesday, May 23, 12

impersonators/stubs/mocks

for everything we can

Wednesday, May 23, 12

and we often can

Wednesday, May 23, 12

Wednesday, May 23, 12

law we make up

product manageris a benevolent dictator

Wednesday, May 23, 12

and they often can code

Wednesday, May 23, 12

law we make up

20% time is sacred

Wednesday, May 23, 12

just don’t have the whole team going away at once

Wednesday, May 23, 12

law we make up

no multi-tasking

Wednesday, May 23, 12

everyone is a singletonWednesday, May 23, 12

law we make up

“done” means someone is using it(a.k.a. continuousdeployment)

Wednesday, May 23, 12

cycle time: ~3 days

Wednesday, May 23, 12

law we make up

measure all the things

Wednesday, May 23, 12

Wednesday, May 23, 12

Qs?

Phil Calçado - SoundCloud@pcalcado

http://philcalcado.comWednesday, May 23, 12

http://bit.ly/work-at-soundcloud

Wednesday, May 23, 12