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

Code First, Ask Questions Later

2f4861b27dc35663ed271d39f5358261?s=47 Tim Clem
September 09, 2011

Code First, Ask Questions Later

Ever wonder how software is designed and developed at GitHub? Are you curious about how new features are deployed to the site? (Hint: ask the robot.) Want to know why we don't have any managers and don't track vacation days?

This talk will explore running your company like an open source project and give some insight into how GitHub continues to leverage ruby and other open source tools to keep up with massive data loads and a growing community of users.

This talk was given at "Rocky Mountain Ruby":http://rockymtnruby.com/, Sept 1st, 2011. The Speaker Rate page is "here":http://speakerrate.com/talks/8239-code-first-ask-questions-later.

2f4861b27dc35663ed271d39f5358261?s=128

Tim Clem

September 09, 2011
Tweet

Transcript

  1. code first ask questions later Rocky Mountain Ruby 2011 Tim

    Clem @timothyclem github.com/tclem Friday, September 9, 11
  2. moneycodemanagers buildingownership productivityculture automationautonomy communicationshipping Friday, September 9, 11

  3. Friday, September 9, 11

  4. and a robot named hubot Friday, September 9, 11

  5. Friday, September 9, 11

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

  7. Friday, September 9, 11

  8. Friday, September 9, 11

  9. Friday, September 9, 11

  10. Friday, September 9, 11

  11. Friday, September 9, 11

  12. code == building shit Friday, September 9, 11

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

  14. build something Friday, September 9, 11

  15. build anything Friday, September 9, 11

  16. Friday, September 9, 11

  17. ownership is king Friday, September 9, 11

  18. take ownership take ownership Friday, September 9, 11

  19. give ownership Friday, September 9, 11

  20. run your company like an open source project Friday, September

    9, 11
  21. no managers no pto reduce friction no vacation days no

    work hours no meetings Friday, September 9, 11
  22. be open how much money are we making right now?

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

    everything Friday, September 9, 11
  24. iterate quickly ship, rinse, repeat Friday, September 9, 11

  25. be a skunk works team Friday, September 9, 11

  26. Friday, September 9, 11

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

    11
  28. Friday, September 9, 11

  29. async communication Friday, September 9, 11

  30. meetings suck Friday, September 9, 11

  31. distributed team Friday, September 9, 11

  32. focus focus focus Friday, September 9, 11

  33. pull requests are an asynchronous conversation that starts with code

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

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

    9, 11
  36. campfire is a public record with searchable transcripts also robawt

    enhanced Friday, September 9, 11
  37. Friday, September 9, 11

  38. there were the useful presents Friday, September 9, 11

  39. Friday, September 9, 11

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

  41. 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
  42. robot.hear(/(deploy) ([0-9a-z\.\-\_]+)(\/ ([-_\.a-zA-z0-9]+))? to (production| staging|the cloud)(\/([^\s]+))?/, ... Friday, September

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

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

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

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

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

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

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

  50. 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
  51. Friday, September 9, 11

  52. culture of shipping Friday, September 9, 11

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

  54. Friday, September 9, 11

  55. Friday, September 9, 11

  56. do it all the time Friday, September 9, 11

  57. ask the robawt Friday, September 9, 11

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

  59. Friday, September 9, 11

  60. Friday, September 9, 11

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

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

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

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

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

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

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

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

  69. Friday, September 9, 11

  70. Friday, September 9, 11

  71. Friday, September 9, 11

  72. Friday, September 9, 11

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

  74. now your questions matter Friday, September 9, 11

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