Has anybody tried (or been made to try) pair programming? Was it cool or did it suck?
Being somewhat introverted, I think it could be fun to do with a friend, but with a coworker who I didn't have the same level of rapport with, it would just be aggravating.
I did it for a college project once. It was fun, mostly because we were building something we already had defined, so it was just a matter of implementation and mutually learning the environment (we were using Max/MSP). It probably worked because we were in unfamiliar territory; if we both knew the lang inside and out, I bet we would have just bitten off a bigger chunk and each done our own portion and evolved it further.
I don't think I could do it on a significant project, because I'm always making a bunch of tiny changes that I wouldn't want to have to explain/suggest. Collaboration on a single problem is helpful. Collaboration on a single work of art isn't always. Could you imagine pair painting?
For debugging it's amazingly effective. Even simple coding comes out amazingly bug free when you have a second set of eyes watching as you go. I second that it is intense. I accomplish much more than I would by myself, but I always feel very used up afterwards.
Flow. When pair programming works, you can pair together for hours and be very productive. I can recall some marathon pair-programming sessions where we mind-melded and got things done very quickly.
If there is an imbalance in skills, pair programming will sometimes devolve into one of the developers asserting control and dominating.
The lowest-common denominator form of pair programming "Can you take a look at my code?" is very effective for finding bugs. Simply having to explain yourself can reveal issues.
I hate the term "Can I drive now/do you want to drive" for pair programming.
I like it, though not with everyone and not all the time.
One thing I've observed that's a little counterintuitive is that pair programming works well for many introverts. While it's true that you're engaging with another person, it's equally true that both of you are focused on the ideas and the problem at hand. So it's not an open-ended social activity, but rather a partially social, structured activity. I find this comes more naturally than, say, making idle conversation.
Also, working together on something meaningful provides access to positive social interaction that doesn't necessarily come very often or very easily to the introvert. One can become quite attached to this. I miss it when I'm not working in a collaborative setting.
Have done it quite extensively. Productivity depends on your pair. If the other person is "like-minded", the results are amazing, otherwise, its quite frustrating.
It's very productive and a lot of fun too. When you find someone who's a good wingman, things just click.
I can understand you're concern about getting matched poorly but the experience I had with pair programming is that there is a much greater chance you'll end up working well together and a much smaller chance than you might imagine that things don't work out.
In fact, you could say that pair programming is a great way to develop that rapport with a coworker. It's not just good for the company because the work is done better, I think it's good for you as a person, because people no matter how introverted are really wired to be social.
If someone were really just a toad and would be worse than useless as a partner, chances are that same kind of person won't want to do pair programming with you anyhow.
Pairs programming improves efficiency, because I don't want to look like the slacker who has to check his email (or reddit or Hacker News) 4+ times per hour.
This is a good example of how news.yc has changed over the last year. Or how continuously growing, unfragmented communities inevitably change over time.
I'm thumbs up on question mark reposts, personally. That said, you can't really knock the original submitter for linking to this excerpt. There's a lot of value in highlighting just the important part...