Slide 1

Slide 1 text

HoW WORKS GITHUB

Slide 2

Slide 2 text

the story begins with

Slide 3

Slide 3 text

4 FOUNDERS IN A coffee shop

Slide 4

Slide 4 text

4 FOUNDERS IN A BAR

Slide 5

Slide 5 text

4 FOUNDERS IN A restaurant

Slide 6

Slide 6 text

4 FOUNDERS IN A plane

Slide 7

Slide 7 text

4 FOUNDERS IN A JAIL CELL

Slide 8

Slide 8 text

4 FOUNDERS IN A SOMEWHERE

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

no office had other jobs

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

this was the start of

Slide 13

Slide 13 text

distributed happy flexible github was forced to be

Slide 14

Slide 14 text

turns out, great way to work

Slide 15

Slide 15 text

this talk is kind of about github

Slide 16

Slide 16 text

but it’s really about improving your company

Slide 17

Slide 17 text

@holman

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

works howgithub zachholman.com/posts/how-github-works

Slide 20

Slide 20 text

BULLSHIT HOURS Are

Slide 21

Slide 21 text

9 to 5 DOES not wORK W O R K I N G

Slide 22

Slide 22 text

crafting code is a hugely creative endeavor

Slide 23

Slide 23 text

you can’t force creativity to happen between 9 and 5.

Slide 24

Slide 24 text

the best solutions happen when you’re in the zone

Slide 25

Slide 25 text

our early birds night owls nine-to-fivers traveling employees international employees office

Slide 26

Slide 26 text

embraceflexiBility

Slide 27

Slide 27 text

90 hours/week and loving it! x

Slide 28

Slide 28 text

working long hours isn’t a badge of honor ...it’s a badge of foolishness

Slide 29

Slide 29 text

all-nighters are a recipe for redoing everything again later

Slide 30

Slide 30 text

marathon code sessions drain you mentally lead to poor code quality impact future code

Slide 31

Slide 31 text

WE LET GITHUbbers work WHEREver AND WHENever THEY WANT TO WORK

Slide 32

Slide 32 text

we want to get the best work from our employees that happens when they are happy, fresh, and creative

Slide 33

Slide 33 text

FAMILIES

Slide 34

Slide 34 text

@MADDOX NEW DAD, May 26 @MOJOMBO NEW DAD, SOON @xpaulbettsx NEW DAD LATE 2012 @bethnewland NEW MOM 2012ish

Slide 35

Slide 35 text

family github

Slide 36

Slide 36 text

BE A FAMILY COMPANY

Slide 37

Slide 37 text

being less hour-centric = more family-friendly

Slide 38

Slide 38 text

happy families, happy coworkers productive companies happy coworkers,

Slide 39

Slide 39 text

trust your employees

Slide 40

Slide 40 text

you hired them, after all

Slide 41

Slide 41 text

trust employees, help them out, then verify they’re doing the work.

Slide 42

Slide 42 text

this requires communication are they committing? are they participating? what’s their code look like?

Slide 43

Slide 43 text

bullshit hours w o r r y a b o u t g o o d w o r k are

Slide 44

Slide 44 text

BE ASYNCHRONOUS

Slide 45

Slide 45 text

asynchronous a distributed way of getting things done

Slide 46

Slide 46 text

attention-aware J geographically-distributed G team-oriented g minimal process \

Slide 47

Slide 47 text

G @ sanfrancisco S githubhq

Slide 48

Slide 48 text

G turns out, the world is larger than just san francisco.

Slide 49

Slide 49 text

G we want to hire the best S S S S S S S S S S

Slide 50

Slide 50 text

G distributed work needs to be a priority for us

Slide 51

Slide 51 text

G flexible hours help with flexible location T

Slide 52

Slide 52 text

chat G limit required in-person contact beer:30 facetime recorded talks

Slide 53

Slide 53 text

summit 2010 G encourage structured team building summit 2011 get people meeting in real-life! github summit 2012

Slide 54

Slide 54 text

attention-aware J team-oriented g minimal process \ geographically-distributed G

Slide 55

Slide 55 text

J we want developers in the zonetm

Slide 56

Slide 56 text

J minimize distractions the zone is difficult to re-enter

Slide 57

Slide 57 text

J no technical meetings no standup, daily, or planning meetings

Slide 58

Slide 58 text

J no in-person distractions instead, ping over chat

Slide 59

Slide 59 text

J no managers they just distract

Slide 60

Slide 60 text

J we can work this way because:

Slide 61

Slide 61 text

J dogfood product company full ownership profitable

Slide 62

Slide 62 text

J each company is different find out what works best for yours

Slide 63

Slide 63 text

G geographically-distributed attention-aware J team-oriented g minimal process \ G

Slide 64

Slide 64 text

g G [ redacted ] [ redacted ] teams

Slide 65

Slide 65 text

g G small teams let you move quickly&independently

Slide 66

Slide 66 text

g G the danger room the serious room the enterprise room the design room the support room the internal room the native room the (redacted) roo the mobile room the ops room e notices room o 30+rooms:

Slide 67

Slide 67 text

g G small teams let you focus

Slide 68

Slide 68 text

G geographically-distributed attention-aware J team-oriented g minimal process \ G

Slide 69

Slide 69 text

\ how do we actually do all this?

Slide 70

Slide 70 text

\ plan·build·ship

Slide 71

Slide 71 text

\ show It as soon as possible chat pull requests wikis, internal apps make it okay to say “no” plan

Slide 72

Slide 72 text

\ ideas&projects everyone contributes avoid abandonment see status updates plan

Slide 73

Slide 73 text

\ build simplebranching master branch pull request

Slide 74

Slide 74 text

\ simplebranching designer friendly (”Non-technical”) build

Slide 75

Slide 75 text

\ simplebranching simple rollback partial deploysstaff-only specific servers specific processes build

Slide 76

Slide 76 text

\ pull requests are discussions that improve code quality build

Slide 77

Slide 77 text

\ push branch get feedback make improvements merge branch build

Slide 78

Slide 78 text

\ asynchronous, non-invasive extremely visible for your org one-click merge button replaces traditional code review build

Slide 79

Slide 79 text

\ , superfasttests SHIP

Slide 80

Slide 80 text

\ , 14000 assertions in 200 seconds build (still not fast enough)

Slide 81

Slide 81 text

\ , a slow test is a regression build

Slide 82

Slide 82 text

you don’t need distractions you don’t need to be in the same country you really don’t need a lot of process

Slide 83

Slide 83 text

FOR OPTIMIZE HAPPINESS

Slide 84

Slide 84 text

2008 2009 2010 2011 May 2012

Slide 85

Slide 85 text

employees 83 employees who have left 0

Slide 86

Slide 86 text

a happiness-oriented workplace this requires

Slide 87

Slide 87 text

LEADS TO UNHAPPINESS AND TO LEAVING EMPLOYEE BURNOUT

Slide 88

Slide 88 text

EXPLORATION x

Slide 89

Slide 89 text

FREEDOM )

Slide 90

Slide 90 text

SELF-DIRECTION X

Slide 91

Slide 91 text

shared side projects hubot internal apps hardware hacking EXPLORATION x PLAY

Slide 92

Slide 92 text

spanish tutoring arduino lessons kindles&ebooks KEEP EVERYONE LEARNING EXPLORATION x

Slide 93

Slide 93 text

ACCEPTED TO SPEAK AT A CONFERENCE? GITHUB PAYS FOR YOU AND A TRAVEL BUDDY NETWORKING EXPLORATION x MARKETING FOR GITHUB DRINKUPS, YOUR TALK MEET PEOPLE POTENTIAL HIRES, SOCIALIZING IS FUN

Slide 94

Slide 94 text

BURNOUT HAPPENS WHEN YOU’RE NOT EXPLORATION x PERSONALLY GROWING

Slide 95

Slide 95 text

NO SET HOURS ) FREEDOM

Slide 96

Slide 96 text

NO MANAGERS ) FREEDOM

Slide 97

Slide 97 text

NO MEETINGS ) FREEDOM

Slide 98

Slide 98 text

NO NEED TO BE IN OFFICE ) FREEDOM

Slide 99

Slide 99 text

NO VACATION TRACKING ) FREEDOM

Slide 100

Slide 100 text

SELF-DIRECTION X WORK ON THINGS THAT INTEREST YOU

Slide 101

Slide 101 text

SELF-DIRECTION X WE HAVE TEAMS, BUT TEAMS SHOULD BE EASY TO MOVE BEtweEN

Slide 102

Slide 102 text

KEEP YOUR EMPLOYEES HAPPY REALLY REALLY REALLY

Slide 103

Slide 103 text

flexible be

Slide 104

Slide 104 text

build a company you want to work for

Slide 105

Slide 105 text

happiness push for

Slide 106

Slide 106 text

thanks.

Slide 107

Slide 107 text

zachholman @holman zachholman.com/talks