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

Pairing is Caring

avdi
April 05, 2013

Pairing is Caring

As presented at Ancient City Ruby Conference 2013 in St. Augustine Florida.

avdi

April 05, 2013
Tweet

More Decks by avdi

Other Decks in Programming

Transcript

  1. Pairing is Caring
    Avdi Grimm (@avdi)

    View Slide

  2. Have you ever...

    View Slide

  3. ...been new to
    Ruby/Rails...

    View Slide

  4. ...and felt a little lost?

    View Slide

  5. ...been a sole or remote
    developer...

    View Slide

  6. ...and felt isolated?

    View Slide

  7. ...used a new library or
    technique...

    View Slide

  8. ...only to realize six months later
    that you did it all wrong?

    View Slide

  9. ...felt like other developers are a
    little crazy?

    View Slide

  10. ...wanted to do more for
    the community?

    View Slide

  11. A Suggestion

    View Slide

  12. Pair Programming

    View Slide

  13. Got that t-shirt
    already?

    View Slide

  14. Pair widely, pair often

    View Slide

  15. Pair Remotely

    View Slide

  16. Reasons to Pair

    View Slide

  17. Instant Code Review
    "I was still on the fence until we had a couple
    weeks at work where only one of us was there...
    and I lost 2.5 hours on a typo"
    -- Steve Jackson

    View Slide

  18. Sanity Check
    "If you can convince your pairing partner that
    breaking a rule would produce better code,
    have at it."
    -- Sandi Metz

    View Slide

  19. Moral Support

    View Slide

  20. Talk to the Duck

    View Slide

  21. Stay on target

    View Slide

  22. Fresh Perspective

    View Slide

  23. The Experiment

    View Slide

  24. Consulting Pair-
    Programmer

    View Slide

  25. 60+ Partners
    250+ Hours

    View Slide

  26. Mostly paid sessions

    View Slide

  27. 1 OSS Session/week

    View Slide

  28. This was my job
    (And would still be, if not for RubyTapas)

    View Slide

  29. Reasons for Sessions

    View Slide

  30. Newbies

    View Slide

  31. Help with a specific
    problem

    View Slide

  32. Most commonly of all...

    View Slide

  33. "Help me grok TDD"

    View Slide

  34. The testing gap

    View Slide

  35. Crossing the gap

    View Slide

  36. Mechanics

    View Slide

  37. 2 hours

    View Slide

  38. Scheduled in advance

    View Slide

  39. Work on their project

    View Slide

  40. When you care, it's easier to learn

    View Slide

  41. Hardware

    View Slide

  42. Headset

    View Slide

  43. Separate Comms

    View Slide

  44. Software
    I used:
    ● YuuGuu (screensharing)
    ● Skype/GTalk/Google Hangouts (voice/video)
    Also look at:
    ● Tmux: tmux.sourceforge.net/
    ● Wemux: github.com/zolrath/wemux
    ● Tweemux: github.
    com/PeopleAdmin/tweemux
    ● ls-pair: github.com/livingsocial/ls-pair
    ● Screenhero: screenhero.com/
    ● etc...

    View Slide

  45. Getting Oriented

    View Slide

  46. Taking Notes

    View Slide

  47. Navigator/Driver

    View Slide

  48. Why should you care?

    View Slide

  49. Because you should do it
    too!

    View Slide

  50. Newbie?
    Learn how others think through problems

    View Slide

  51. Isolated?
    Get validated and re-energized

    View Slide

  52. New tech?
    Get started on the right foot

    View Slide

  53. Cynical?
    Feel better about yourself and others

    View Slide

  54. View Slide

  55. The Pairing Ecosystem

    View Slide

  56. Genetic Diversity

    View Slide

  57. Memetic Diversity

    View Slide

  58. Pair widely, pair often

    View Slide

  59. The tech is a solved
    problem

    View Slide

  60. Who would you like to
    pair with?

    View Slide

  61. Just ask

    View Slide

  62. Would you pair with a
    stranger?

    View Slide

  63. A challenge

    View Slide

  64. Pair with someone new
    once a month

    View Slide

  65. Put out a welcome mat

    View Slide

  66. http://pairprogramwith.me

    View Slide

  67. View Slide

  68. Link it to a way to contact you

    or...

    View Slide

  69. Let the world know

    View Slide

  70. "Want to
    #pairwithme? Get
    in touch!"

    View Slide

  71. "Just finished
    #pairingwith
    @avdi!"

    View Slide

  72. Let's make our community
    healthier and happier

    View Slide

  73. Happy hacking!

    View Slide

  74. Questions?

    View Slide

  75. "Star Wars" © Lucasfilm
    "Fresh Perspective" cartoon from "Thinking Forth" by Leo Brodie (Creative Commons, attribution-
    NonComercial-ShareAlike 2.0)
    "To the Faithful Departed" cover art © Island Records
    "Duty Calls" from XKCD by Randall Munroe (Creative Commons Attribution-NonCommercial 2.5
    License)
    "Labyrinth" © TriStar Pictures
    "The Matrix" © Warner Bros
    Credits

    View Slide