Slide 1

Slide 1 text

code first ask questions later Rocky Mountain Ruby 2011 Tim Clem @timothyclem github.com/tclem Friday, September 9, 11

Slide 2

Slide 2 text

moneycodemanagers buildingownership productivityculture automationautonomy communicationshipping Friday, September 9, 11

Slide 3

Slide 3 text

Friday, September 9, 11

Slide 4

Slide 4 text

and a robot named hubot Friday, September 9, 11

Slide 5

Slide 5 text

Friday, September 9, 11

Slide 6

Slide 6 text

but first a word about code Friday, September 9, 11

Slide 7

Slide 7 text

Friday, September 9, 11

Slide 8

Slide 8 text

Friday, September 9, 11

Slide 9

Slide 9 text

Friday, September 9, 11

Slide 10

Slide 10 text

Friday, September 9, 11

Slide 11

Slide 11 text

Friday, September 9, 11

Slide 12

Slide 12 text

code == building shit Friday, September 9, 11

Slide 13

Slide 13 text

build shit first ask questions later Friday, September 9, 11

Slide 14

Slide 14 text

build something Friday, September 9, 11

Slide 15

Slide 15 text

build anything Friday, September 9, 11

Slide 16

Slide 16 text

Friday, September 9, 11

Slide 17

Slide 17 text

ownership is king Friday, September 9, 11

Slide 18

Slide 18 text

take ownership take ownership Friday, September 9, 11

Slide 19

Slide 19 text

give ownership Friday, September 9, 11

Slide 20

Slide 20 text

run your company like an open source project Friday, September 9, 11

Slide 21

Slide 21 text

no managers no pto reduce friction no vacation days no work hours no meetings Friday, September 9, 11

Slide 22

Slide 22 text

be open how much money are we making right now? Friday, September 9, 11

Slide 23

Slide 23 text

take charge developers and designers are given full access to everything Friday, September 9, 11

Slide 24

Slide 24 text

iterate quickly ship, rinse, repeat Friday, September 9, 11

Slide 25

Slide 25 text

be a skunk works team Friday, September 9, 11

Slide 26

Slide 26 text

Friday, September 9, 11

Slide 27

Slide 27 text

intrinsic vs. extrinsic motivation autonomy mastery purpose Friday, September 9, 11

Slide 28

Slide 28 text

Friday, September 9, 11

Slide 29

Slide 29 text

async communication Friday, September 9, 11

Slide 30

Slide 30 text

meetings suck Friday, September 9, 11

Slide 31

Slide 31 text

distributed team Friday, September 9, 11

Slide 32

Slide 32 text

focus focus focus Friday, September 9, 11

Slide 33

Slide 33 text

pull requests are an asynchronous conversation that starts with code Friday, September 9, 11

Slide 34

Slide 34 text

more on how GitHub uses pull requests http://scottchacon.com/2011/08/31/ github-flow.html Friday, September 9, 11

Slide 35

Slide 35 text

campfire is a public record with searchable transcripts Friday, September 9, 11

Slide 36

Slide 36 text

campfire is a public record with searchable transcripts also robawt enhanced Friday, September 9, 11

Slide 37

Slide 37 text

Friday, September 9, 11

Slide 38

Slide 38 text

there were the useful presents Friday, September 9, 11

Slide 39

Slide 39 text

Friday, September 9, 11

Slide 40

Slide 40 text

robot.hear(/the rules/, ... Friday, September 9, 11

Slide 41

Slide 41 text

robot.hear(/ci status (-v )?([-_\.0-9a-zA- Z]+)(\/([-_\.a-zA-z0-9]+))?/, ... robot.hear(/ci build ([-_\.0-9a-zA-Z]+)(\/ ([-_\.a-zA-z0-9]+))?/, ... Friday, September 9, 11

Slide 42

Slide 42 text

robot.hear(/(deploy) ([0-9a-z\.\-\_]+)(\/ ([-_\.a-zA-z0-9]+))? to (production| staging|the cloud)(\/([^\s]+))?/, ... Friday, September 9, 11

Slide 43

Slide 43 text

robot.hear(/(?:undeployed|not deployed| hasn't been deployed)(?: on)? ?([^ .?]+)?/ i, ... Friday, September 9, 11

Slide 44

Slide 44 text

robot.hear(/^provision me\s+(linux| windows)?\s*(rackspace|aws)?\s*(.*)/i, ... Friday, September 9, 11

Slide 45

Slide 45 text

go on to the useless presents Friday, September 9, 11

Slide 46

Slide 46 text

robot.hear(/(image|img|picture)( me)? (.*)/i, Friday, September 9, 11

Slide 47

Slide 47 text

robot.hear(/ascii me (.+)/i, Friday, September 9, 11

Slide 48

Slide 48 text

robot.hear(/(?:\\W|^)(?:mo?u)?sta(?:s| c)he?(?: me)? (.*)/i, Friday, September 9, 11

Slide 49

Slide 49 text

robot.hear(/(the office)|office me/i, Friday, September 9, 11

Slide 50

Slide 50 text

robot.hear(/define (.*)/i ... robot.hear(/door me/i ... robot.hear(/grocery me/i ... robot.hear(/what('| i)s hot/i robot.hear(/play ... Friday, September 9, 11

Slide 51

Slide 51 text

Friday, September 9, 11

Slide 52

Slide 52 text

culture of shipping Friday, September 9, 11

Slide 53

Slide 53 text

robot.hear(/ship it/, ... Friday, September 9, 11

Slide 54

Slide 54 text

Friday, September 9, 11

Slide 55

Slide 55 text

Friday, September 9, 11

Slide 56

Slide 56 text

do it all the time Friday, September 9, 11

Slide 57

Slide 57 text

ask the robawt Friday, September 9, 11

Slide 58

Slide 58 text

hubot should I ship ____ ...? Friday, September 9, 11

Slide 59

Slide 59 text

Friday, September 9, 11

Slide 60

Slide 60 text

Friday, September 9, 11

Slide 61

Slide 61 text

until you’ve tried to design Friday, September 9, 11

Slide 62

Slide 62 text

until you’ve tried to invent Friday, September 9, 11

Slide 63

Slide 63 text

until you’ve tried to create Friday, September 9, 11

Slide 64

Slide 64 text

until you’ve tried to build Friday, September 9, 11

Slide 65

Slide 65 text

until you’ve tried to test Friday, September 9, 11

Slide 66

Slide 66 text

until you’ve tried to hack Friday, September 9, 11

Slide 67

Slide 67 text

until you’ve tried to solve the problem Friday, September 9, 11

Slide 68

Slide 68 text

you have nothing to talk about Friday, September 9, 11

Slide 69

Slide 69 text

Friday, September 9, 11

Slide 70

Slide 70 text

Friday, September 9, 11

Slide 71

Slide 71 text

Friday, September 9, 11

Slide 72

Slide 72 text

Friday, September 9, 11

Slide 73

Slide 73 text

talk meet chat email tweet blog Friday, September 9, 11

Slide 74

Slide 74 text

now your questions matter Friday, September 9, 11

Slide 75

Slide 75 text

tim clem @timothyclem github.com/tclem Friday, September 9, 11