Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How GitHub (no longer) Works

Zach Holman
November 14, 2013

How GitHub (no longer) Works

A lot of my talks like How GitHub Uses GitHub to Build GitHub and posts like How GitHub Works are great, but they represent a snapshot of the company when we were 30-75 employees. We're 217 today, and things inevitably changed to grow the company to that scale. This talk is retrospective: it takes a closer look at specific things that I've said over the last two years, and then details the adjustments that were made as we've grown.

Zach Holman

November 14, 2013
Tweet

More Decks by Zach Holman

Other Decks in Programming

Transcript

  1. WORKS
    NO LONGER
    HOW GITHUB
    ( )

    View Slide

  2. View Slide

  3. BUILDING A
    STARTUP

    View Slide

  4. HIRE TRENDY
    ROCK STARS
    STEP #1

    View Slide

  5. STEP #2
    BE SUPER
    TRANSPARENT

    View Slide

  6. WRITE
    TECH POSTS
    STEP #3

    View Slide

  7. STEP #4
    SPEAK AT
    CONFERENCES

    View Slide

  8. STEP #5
    ROLL AROUND
    IN MONEY

    View Slide

  9. STEP #6
    HIRE LOTS
    OF PEOPLE

    View Slide

  10. STEP #7
    NEVER
    SPEAK AGAIN

    View Slide

  11. STEP #8
    IGNORE THE
    COMMUNITY

    View Slide

  12. STEP #9
    CASH OUT

    View Slide

  13. STEP #10
    START ANOTHER
    COMPANY

    View Slide

  14. THIS IS STUPID

    View Slide

  15. View Slide

  16. MILLIONS OF TALKS
    ABOUT 1-PERSON
    COMPANIES

    View Slide

  17. THOUSANDS OF TALKS
    ABOUT 10-PERSON
    COMPANIES

    View Slide

  18. HUNDREDS OF TALKS
    ABOUT 100-PERSON
    COMPANIES

    View Slide

  19. HARDLY ANY TALKS
    ABOUT 1000-PERSON
    COMPANIES

    View Slide

  20. GITHUB AIN’T NO
    SECRETIVE JERK
    COMPANY

    View Slide

  21. View Slide

  22. ZACHHOLMAN

    View Slide

  23. GITHUBBER
    FOR ALMOST
    FOUR YEARS

    View Slide

  24. I’VE TALKED
    GITHUB FOR
    TWO YEARS

    View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. View Slide

  29. TALKS CIRCA
    30-75 EMPLOYEES

    View Slide

  30. WE’RE

    NOW
    217

    View Slide

  31. View Slide

  32. DUNBAR’S
    NUMBER

    View Slide

  33. DUNBAR’S NUMBER
    AN IMAGINARY EMPLOYEE NUMBER
    THAT HACKER NEWS FETISHIZES
    WILL KILL YOUR COMPANY

    View Slide

  34. DUNBAR’S NUMBER
    PROPOSED MAXIMUM LIMIT OF
    RELATIONSHIPS A HUMAN CAN
    MEANINGFULLY MAINTAIN

    View Slide

  35. DUNBAR’S NUMBER
    150-ISH

    View Slide

  36. 150 CHANGES THINGS

    View Slide

  37. HOW
    GITHUB
    WORKED

    View Slide

  38. HOW
    GITHUB
    WORKS

    View Slide

  39. View Slide

  40. THE
    PARTS THAT
    CHANGED ARE
    FASCINATING

    View Slide

  41. THE
    PARTS THAT
    CHANGED ARE
    FASCINATING

    View Slide

  42. View Slide

  43. TWO-MINUTE
    RECAP

    View Slide

  44. 60% REMOTE
    GITHUB IS

    View Slide

  45. ASYNCHRONOUS
    GITHUB IS

    View Slide

  46. GITHUB HAS
    NO MANAGERS

    View Slide

  47. View Slide

  48. DEPLOYS

    View Slide

  49. View Slide

  50. DEPLOYMENTS
    GOT SIMPLER

    View Slide

  51. RARELY DEPLOY TO
    INDIVIDUAL SERVERS
    OR SUBSETS

    View Slide

  52. PRODUCTION
    A STAFF SERVER
    IN PRODUCTION
    OR

    View Slide

  53. STAGING
    ENVIRONMENTS ARE
    THE FIRST TO DECAY

    View Slide

  54. FEWER DEPLOYMENT
    TARGETS LEAD TO
    SIMPLER DEPLOY LINES

    View Slide

  55. HUBOT WHERE CAN I DEPLOY

    View Slide

  56. HUBOT WHERE CAN I DEPLOY
    PRODUCTION: UNLOCKED
    LOCKED BY MDO 42 MINUTES AGO
    STAFF1:
    STAFF2: UNLOCKED
    STAFF3: UNLOCKED
    STAFF4: LOCKED BY MUAN 5 MINUTES AGO

    View Slide

  57. View Slide

  58. DEPLOYMENTS
    GOT WAYYYYY MORE
    STAFF-SHIPPED

    View Slide

  59. MOST FEATURES ARE
    STAFF-SHIPPED FOR
    WEEKS OR MONTHS

    View Slide

  60. WE MOSTLY STOPPED
    USING EXTERNAL
    BETA TESTERS

    View Slide

  61. MORE TEAM-SHIPPING
    VS. STAFF-SHIPPING

    View Slide

  62. MORE TEAM-SHIPPING
    VS. STAFF-SHIPPING
    (2FA SHIPS TO @GITHUB/2FA FIRST, ETC.)

    View Slide

  63. View Slide

  64. PEOPLE

    View Slide

  65. View Slide

  66. View Slide

  67. GET IN THEIR
    WAY MORE

    View Slide

  68. KEEP INFORMATION
    ACCESSIBLE BUT
    INDOCTRINATE LONGER

    View Slide

  69. HARDER TO
    ACCLIMATE TO
    LARGER COMPANIES

    View Slide

  70. YOU STILL HAVE
    A BUDDY YOUR
    FIRST WEEK

    View Slide

  71. WE’RE EXPLORING
    LONGER BUDDY
    RELATIONSHIPS

    View Slide

  72. View Slide

  73. THIS LET PEOPLE
    FOCUS ON WORK

    View Slide

  74. THE DRAWBACK?
    REDUCED FEEDBACK.

    View Slide

  75. IMPOSTOR
    SYNDROME

    View Slide

  76. EVEN HARDER FOR
    REMOTE WORKERS

    View Slide

  77. LONGER BUDDYING,
    MORE HANGOUTS,
    MORE MEATSPACE VISITS

    View Slide

  78. View Slide

  79. MADE IT TO 199

    View Slide

  80. PEOPLE LEAVE, BUT
    MINIMIZING IS STILL
    SUPER IMPORTANT

    View Slide

  81. View Slide

  82. View Slide

  83. View Slide

  84. View Slide

  85. MONEY

    View Slide

  86. FUNDING SOMEHOW
    LENDS LEGITIMACY

    View Slide

  87. SUDDENLY BIG
    MEDIA COVERED US

    View Slide

  88. SUDDENLY
    TECHCRUNCH HAD A
    GITHUB WRITER

    View Slide

  89. SUDDENLY IT WAS
    EASIER TO LEASE
    OFFICE SPACE

    View Slide

  90. THE TECH
    INDUSTRY
    IS CRAZY

    View Slide

  91. BOOTSTRAPPING WAS
    THE KEY FOUNDATION

    View Slide

  92. View Slide

  93. ORGANIZATION

    View Slide

  94. View Slide

  95. TEAMS BECAME
    MORE IMPORTANT

    View Slide

  96. EVERYONE
    HAS OPINIONS

    View Slide

  97. DRIVE-BY
    OPINIONS ARE
    LESS VALUABLE

    View Slide

  98. TEAM MENTIONS ARE
    GREAT FILTERS

    View Slide

  99. @GITHUB/DESIGN

    View Slide

  100. @GITHUB/OPS

    View Slide

  101. @GITHUB/TECHNO

    View Slide

  102. PEOPLE LEAVE
    TEAMS IF THEY
    AREN’T ACTIVE

    View Slide

  103. SAME RATIONALE TO
    TEAM-SHIP VS.
    STAFF-SHIP

    View Slide

  104. PROTECTS AGAINST
    NEGATIVE FEEDBACK

    View Slide

  105. View Slide

  106. NOW HAVE 153
    CHAT ROOMS

    View Slide

  107. ROOMS ARE CHEAP

    View Slide

  108. MORE ROOMS,
    HIGHER SIGNAL TO NOISE

    View Slide

  109. ( I IDLE IN 5 )

    View Slide

  110. View Slide

  111. STILL NO MANAGERS,
    STILL EVERYONE A MANAGER

    View Slide

  112. SOME TEAMS HAVE A PRP
    (PRIMARILY RESPONSIBLE PERSON)

    View Slide

  113. PROVIDES VISION WHILE
    STILL FOCUSED ON CODE

    View Slide

  114. PREFERENCE TOWARDS
    SMALLER TEAMS

    View Slide

  115. 1-2 DEVELOPERS
    1-2 DESIGNERS

    View Slide

  116. View Slide

  117. MORE RESOURCES FOR
    REMOTE EXPERIENCES

    View Slide

  118. DINKY LITTLE

    ARDUINO MOTION-
    TRACKING KINECT

    VIDEO CAPTURE
    THREE-PERSON
    TEAM DEDICATED
    TO STREAMING AND
    SERVING VIDEO CONTENT

    View Slide

  119. View Slide

  120. REMOTE WORK
    REQUIRES
    MORE WORK

    View Slide

  121. FORMAL EVENTS
    ARE EASY

    View Slide

  122. INFORMAL
    CONVERSATIONS
    ARE HARD

    View Slide

  123. EXPERIMENTING
    WITH MORE INFORMAL
    APPROACHES

    View Slide

  124. ROBOT IPADS, FACELETTE,
    PERSISTENT 2-WAY STREAMS

    View Slide

  125. View Slide

  126. HINDSIGHT

    View Slide

  127. BUILD WEBSITES
    LIKE IT’S 2005

    View Slide

  128. OUR TECH STACK
    SHRINKS AS WE AGE

    View Slide

  129. FEWER TRENDY
    LANGUAGES AND
    DATABASES

    View Slide

  130. YOUR PRODUCT SHOULD
    BE CUTTING EDGE, NOT
    YOUR TECH

    View Slide

  131. STABILITY IS SEXY

    View Slide

  132. RESIST DOING
    SHIT JUST
    TO DO SHIT

    View Slide

  133. WE’VE DONE A GOOD JOB AT
    REMAINING SKEPTICAL

    View Slide

  134. “WE’RE BIG NOW SO I GUESS
    WE SHOULD ADD TEAMS”

    View Slide

  135. TEAMS TOOK ALMOST A
    YEAR TO FINALLY WORK

    View Slide

  136. THAT’S COOL

    View Slide

  137. View Slide

  138. YOUR COMPANY
    SHOULD
    CHANGE, DAMMIT

    View Slide

  139. YOUR VALUES SHOULDN’T

    View Slide

  140. THINK ON WHAT
    NEEDS TO CHANGE

    View Slide

  141. View Slide