Permalink
Browse files

pairing post

  • Loading branch information...
1 parent 6e007e1 commit 3442d0965801acaaef33bb040ac08afebf282471 @jvns committed Mar 2, 2014
Showing with 51 additions and 0 deletions.
  1. +51 −0 source/_posts/2014-03-01-pair-programming.markdown
@@ -0,0 +1,51 @@
+---
+layout: post
+title: "Pair programming"
+date: 2014-03-01 21:12:15 -0800
+comments: true
+categories: stripe hackerschool
+---
+
+So I started at [Stripe](https://stripe.com/) this week. I did a lot
+of pair programming at [Hacker School](http://hackerschool.com), and I
+found it super productive. As of right now, there's no culture of pair
+programming at Stripe. However, Stripe is a place full of delightful
+people who are willing to try new things. So this past week I've found
+myself explaining why I find pairing productive.
+
+I think some people are confused about what pair programming means.
+It's pretty simple! Two humans sit down in front of the same computer,
+with one keyboard, and work on a Thing together. The Thing is often
+programming, but you can also pair on other things, like writing
+documentation!
+
+Here are a few ways to think about pairing:
+
+1. You can timebox your pairing sessions, and have a specific goal:
+ "We're going to work for 1 hour on refactoring this library".
+1. Explaining your code to someone makes you understand it better.
+1. Pairing on a boring task makes it way more fun. If you have a
+ gnarly bug that you don't want to fix, work on it with someone new
+ to the codebase! They'll learn something, and you'll have company.
+1. Pairing is a good way to share knowledge. I get a lot of incidental
+ learning out of pairing with people, seeing things they do that are
+ new to me, and asking them questions.
+1. It keeps you honest. You can't just stop coding and go look at cats
+ when you're pairing. (You actually can, but you both have to agree
+ to go look at cats together.)
+
+It's definitely possible to have pairing sessions that go badly, of
+course. Hacker School's
+[excellent advice on pairing](https://www.hackerschool.com/manual#sec-pairing)
+suggests
+
+> It's good to make sure you have similar (or at least compatible)
+> goals before you start pairing. If one person thinks the goal is to
+> learn Python, and the other thinks the goal is to fix a bug as
+> quickly as possible, you can run into friction.
+
+Basically I think pair programming is a fun time, I usually end up
+writing better code than I would have on my own, and I learn a lot.
+Some people like Pivotal Labs pair like 8 hours a day, but you don't
+have to do that! Pairing a little bit is a super fun thing.
+

0 comments on commit 3442d09

Please sign in to comment.