Live data from Hacker News

For Writing Software, a Buddy System

nytimes.com

1–10 of 34 posts

Re: For Writing Software, a Buddy System

#4
> To me, pair programming is the only way to work. Writing code is not only scientific, it’s also a creative process.

I agree with the statement about how programming is creative work, and I disagree with the 'only way to work' statement. Pair programming is a great tool, but it doesn't have to be always used. When you adopt a methodology or process like XP or Scrum, we don't always have to adopt it wholesale - just pick the pieces that work. Pair programming, in my experience is excellent at solving difficult issues under deadline and/or implementing brand new features. For everything else, it may be overkill. Plus, with pairing, it's hard to get your mental breaks in while you simmer a problem in your mind (e.g. check out News.YC).

It's kind of like the concept of scrum rooms. We had a critical iteration and flew everyone in for a conference room-based intense week-long session. We got a lot done - much more than we could have done over WebEx. However, at the end, I wanted to kill the guy with the noisy trackball. Close quarters can become trying over time (extended family meetings anyone?)

Hashrocket may be a notable exception to the norm of programmers working in isolation/cubes (especially in larger companies)

Re: For Writing Software, a Buddy System

#6
I've pair programmed before, and in my experience it's great when the codebase and job at hand is so terrible, that when working individually it's hard to have the will to live, let alone be productive.

In this environment, pair programmed got us both past the logjam we were both experiencing on this codebase and we were able to get things into the sort of shape that working alone became not only palatable but enjoyable again.

We also did some API work together, and I think if you're writing interfaces and the like, working on that with someone who will be using it can be helpful in getting a good initial API out there.

There are also other sorts of programming tasks where I don't feel pair programming was very productive (for me/us anyway).

Re: For Writing Software, a Buddy System

#7

I've pair programmed before, and in my experience it's great when the codebase and job at hand is so terrible, that when working individually it's hard to have the will to live, let alone be productive. In this environment, pair programmed got us both past the logjam we were both experiencing on this codebase and we were able to get things into the sort of shape that working alone became not only palatable but enjoya…

Yes, in practice, everybody pair programs, on an as-needed basis. When it's not needed...well, you shouldn't be doing it. I seriously think that non-stop pair programming is just a way to keep people from goldbricking (as the article hinted at the end).

And really, 90 percent of programming is more "typing" than programming because the work is straightforward.

Re: For Writing Software, a Buddy System

#8

I've pair programmed before, and in my experience it's great when the codebase and job at hand is so terrible, that when working individually it's hard to have the will to live, let alone be productive. In this environment, pair programmed got us both past the logjam we were both experiencing on this codebase and we were able to get things into the sort of shape that working alone became not only palatable but enjoya…

Yes, in practice, everybody pair programs, on an as-needed basis. When it's not needed...well, you shouldn't be doing it. I seriously think that non-stop pair programming is just a way to keep people from goldbricking (as the article hinted at the end). And really, 90 percent of programming is more "typing" than programming because the work is straightforward.

That's an exceedingly ignorant statement.

Re: For Writing Software, a Buddy System

#9
Pair programming seems to be good, if you have everything defined. But in reality, you research, experiment, hack things around. You work on hunches and quickly implement them, then gradually improve them, compare the solutions and find the best. Pair programming would be pointless; rather annoying in this case.

Re: For Writing Software, a Buddy System

#10
One of the things I find really effective, and almost never see, is pairing up product managers directly with programmers. Instead of product types going off and holding endless meetings finally resulting in a product spec carved in stone, there's a nice interactive process of product development.
Post reply on HN