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 full-size slide

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

    View full-size slide

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

    View full-size slide

  4. Mostly, I discuss features
    write code
    sketch
    design

    View full-size slide

  5. NOW June 8, 2012

    View full-size slide

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

    View full-size slide

  7. does  robot  work
    Illustrations by @broccolini

    View full-size slide

  8. 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 full-size slide

  9. Hubot load fe
    memcache evict
    image me

    View full-size slide

  10. Hubot
    load fe
    memcache evict
    image me

    View full-size slide

  11. Hubot
    load fe
    memcache evict
    image me

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. Anyone can deploy

    View full-size slide

  15. Everyone does deploy

    View full-size slide

  16. Hubot auto-deploy
    Starting to get complicated…

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  20. github’s internal tools
    introducing

    View full-size slide

  21. … and so many more

    View full-size slide

  22. increase your potential for
    building rad shit
    TOOLS

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  28. 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 full-size slide

  29. Our internal tools
    level up the whole company

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  32. Our internal tools
    scale our business

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  35. become the culture
    internal TOOLS

    View full-size slide

  36. You should deploy
    MR. MANAGER

    View full-size slide

  37. deploy github to production
    HUBOT

    View full-size slide

  38. Everyone does deploy

    View full-size slide

  39. You need to run tests!
    MR. MANAGER

    View full-size slide

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

    View full-size slide

  41. Everyone does care about tests

    View full-size slide

  42. We’re a distributed company
    MR. MANAGER

    View full-size slide

  43. Everyone is distributed

    View full-size slide

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

    View full-size slide

  45. GHTeam::Idea.count
    => 238

    View full-size slide

  46. No, we are an idea centered
    company

    View full-size slide

  47. Building software makes me happy

    View full-size slide

  48. Common sense scales companies

    View full-size slide

  49. To us, building internal tools was
    common sense

    View full-size slide

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

    View full-size slide

  51. Internal tools
    can be beautiful

    View full-size slide

  52. “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 full-size slide

  53. Surround yourself with beautiful
    software

    View full-size slide