Hacker News new | ask | show | jobs
by davidsiems 5411 days ago
I'm a fan of 'Plan together, implement independently.'

I don't need someone looking over my shoulder hunting for bugs while I program. What I need is someone to bounce high-level ideas off of so that I don't get paralyzed by indecision, or overlook an important edge case.

Bad design decisions concern me a lot more than a bug here or there.

In my experience, planning with someone else away from the computer, and then implementing is as fast (and usually faster) than sitting down at the computer and trying to bang something out from scratch.

When you do things this way you don't really need to have another person there because you've already agreed on all the important details.

2 comments

I agree with this - whenever I see that a company has actual pairing stations (computers with mirrored monitors and two keyboards and two chairs) I tend to shy away.

However, I still think everyone should have their OWN whiteboard, to enable precisely the conversations you mention. Easy enough if you have cube walls, but I've never seen a good whiteboard story in newfangled open-plan startup offices.

I think once a month you should pair program randomly with someone. I think programming effectively involves combining thinking in the large and implementing in the small. Ive found that occasional pair programming teaches me new keyboard shortcuts, tools, workflows, idioms and when pair programming with a great programmer also gives me a very clear feedback that much remains to be learnt. In short Ive found that pair programming is great about teaching me about 'implementing in the small'