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

Building an army of robots

Building an army of robots

There's nothing quite like writing code to automate a task. It's like bottled satisfaction for coders. With that in mind, I want to introduce you to GitHub's army of robots. Robots to test our code and deploy. Robots to open doors. Robots to play our music. Robots to record videos of presenters. Robots to serve us beer.

Robots improve quality of life. Robots remove the separation between programmers and designers. They replace managers and large QA departments. They ensure GitHub continues to be a company full of hackers.

Kyle Neath

June 09, 2012
Tweet

More Decks by Kyle Neath

Other Decks in Technology

Transcript

  1. Building an army of
    robots

    View Slide

  2. I’m Kyle Neath
    On the interwebs @kneath

    View Slide

  3. I’m Director of Design
    I work at GitHub. It’s a tech thing.

    View Slide

  4. Mostly, I discuss features
    write code
    sketch
    design

    View Slide

  5. 2009 201

    View Slide

  6. 2010 201

    View Slide

  7. 2011 201

    View Slide

  8. NOW June 8, 2012

    View Slide

  9. Mission: Take over the world
    Let’s build the best company in the world

    View Slide

  10. does  robot  work
    Illustrations by @broccolini

    View Slide

  11. USB 12 NANO CONNECTOR
    HIGH EFFICIENCY
    INSERT/RETRACT POLYMER
    VISUAL ACQUISITION SENSOR
    1M DPI RETINAL TRANSCEIVER WITH
    HIGH FIDELITY SQUIGGLY LINE OUTPUT
    OBJECT ACQUISITION DEVICE
    3,000,000 PSI
    “DEATH PROOF” CLAW ARM
    EXTERNAL INPUT TERMINAL
    PREDICTIVE LOGIC
    MINI QUERTY TECHNOLOGY
    PLASMA ARM
    HYPOTHETICAL TERMINUS
    POINT RETENTION TECHNOLOGY

    View Slide

  12. Hubot load fe
    memcache evict
    image me

    View Slide

  13. View Slide

  14. Hubot
    load fe
    memcache evict
    image me

    View Slide

  15. View Slide

  16. Hubot
    load fe
    memcache evict
    image me

    View Slide

  17. View Slide

  18. Hubot
    load fe
    memcache evict
    image me
    play thermonuclear war

    View Slide

  19. Hubot deploy
    Any app. Any branch. Production or staging.

    View Slide

  20. Anyone can deploy

    View Slide

  21. Everyone does deploy

    View Slide

  22. Hubot auto-deploy
    Starting to get complicated…

    View Slide

  23. Did the tests pass?
    Is your branch up to date?
    Is someone using production?

    View Slide

  24. That’s what robots are for
    Doing computer work so I don’t have to

    View Slide

  25. View Slide

  26. janky
    monitors
    app-perf
    groceries
    heaven
    team
    haystack
    kod
    office me
    play
    coalminer
    halp

    View Slide

  27. github’s internal tools
    introducing

    View Slide

  28. View Slide

  29. View Slide

  30. View Slide

  31. View Slide

  32. View Slide

  33. View Slide

  34. View Slide

  35. View Slide

  36. View Slide

  37. View Slide

  38. View Slide

  39. View Slide

  40. View Slide

  41. View Slide

  42. View Slide

  43. View Slide

  44. View Slide

  45. View Slide

  46. View Slide

  47. View Slide

  48. View Slide

  49. View Slide

  50. View Slide

  51. … and so many more

    View Slide

  52. increase your potential for
    building rad shit
    TOOLS

    View Slide

  53. Network Ops
    Business
    Executive
    Copywriter
    Visual Designer
    UX Designer
    Sysadmin
    Assembly Hacker
    Kernel
    Hacker
    Mac
    Developer
    Marketer

    View Slide

  54. This is your potential
    How do you want to spend it?
    Proficient
    Mastered

    View Slide

  55. 1997
    I want to be a master
    Mac Developer
    Mastered

    View Slide

  56. 1997
    I want to be a master
    Visual Designer
    Mastered

    View Slide

  57. 1997
    I want to be a proficient
    Visual Designer
    and play around as a
    Mac Developer
    Proficient

    View Slide

  58. 2012
    I want to be a master
    Visual Designer
    and a proficient
    Mac Developer
    Proficient
    Mastered
    TOOLS
    and a proficient
    Marketer!
    and learn me some
    Unix!

    View Slide

  59. Our internal tools
    level up the whole company

    View Slide

  60. No managers
    No top-down “vision”
    No core hours
    No mandatory meetings
    No conference calls

    View Slide

  61. GitHub’s tools prevent chaos and give
    power to employees

    View Slide

  62. Our internal tools
    scale our business

    View Slide

  63. Our internal tools adapt
    Because that’s what software does

    View Slide

  64. But, what if we didn’t build these
    tools?

    View Slide

  65. become the culture
    internal TOOLS

    View Slide

  66. You should deploy
    MR. MANAGER

    View Slide

  67. deploy github to production
    HUBOT

    View Slide

  68. Everyone does deploy

    View Slide

  69. You need to run tests!
    MR. MANAGER

    View Slide

  70. Kyle, your branch has failing tests. I
    can’t deploy it right now.
    HUBOT

    View Slide

  71. Everyone does care about tests

    View Slide

  72. We’re a distributed company
    MR. MANAGER

    View Slide

  73. Everyone is distributed

    View Slide

  74. We’re an idea centered company
    MR. MANAGER

    View Slide

  75. GHTeam::Idea.count
    => 238

    View Slide

  76. No, we are an idea centered
    company

    View Slide

  77. Building software makes me happy

    View Slide

  78. Common sense scales companies

    View Slide

  79. To us, building internal tools was
    common sense

    View Slide

  80. Internal tools are the DNA of software
    companies
    Don’t look at them as wasted effort

    View Slide

  81. View Slide

  82. Internal tools
    can be beautiful

    View Slide

  83. “If you want a golden rule that will t everything,
    this is it: Have nothing in your houses that you do
    not know to be useful or believe to be beautiful.”
    William Morris

    View Slide

  84. View Slide

  85. Surround yourself with beautiful
    software

    View Slide