Ask HN: How to learn to stop worrying and love pair programming?
At my work we have to do pair programming for some time. For me it seems even worse than being interviewed. To make myself concentrate is very hard. And it seems that this pair programming is exactly the opposite of what programming is all about, i.e. to become temporarily unobservant, forget about everything else but the problem to solve and the code. So I wonder, are there people who can truly enjoy pair programming?
11 comments
[ 3.0 ms ] story [ 34.2 ms ] threadIf you put me and another senior next to each other to use just one computer and make us do that consistently, we would both quit the job by friday. Pair programming is a great way to cut your productivity in half (2 people doing the job of one). We trust each other anyway, there's no point in watching each other like hawks. We can just do our own thing and then CR the other guy.
Pair programming is another one of those schemes employed to make people feel pressured into not slacking under the pretense of it being new and edgy and kinda cool. Its great, nobody ever slacks. You just burn out within months.
If you don't think pair programming is retarded, please ask a welder how he would feel about pair-welding. Complete and utter bullshit.
^ I'm talking about professionals. Not brogrammers. Not node.js clowns. Those people could all use some supervision. But sticking two great engineers with lots of experience together like that will jsut reduce productivity and will to live.
Other than that, I did not say that all node.js engineers are clowns. I said that clowns tend to use crap like node.js over better alternatives.
Don't ask me for better alternatives without saying what you want out of your tool, though. Node.js does a little of everything but is pretty weak at all of them. Now, if your main requirement for a programming language is that it better be as crappy as your frontend technology, then node.js is the only choice you've got :D
I like your welder analogy it priceless! Pair piloting works well I heard.
The KEY problem is management. My partner always wanted to type so we ended up with me doing the thinking/review while he worked out the syntax. When we got our performance reviews my partner got a raise and I got a bad review. My manager believed that he did all the work and I just sat around talking.
Beware the 'review' trap...
This part remains me too much of an interview: somebody sitting next to you and waits in the real time when you say something. It is too much pressure for me, somehow.
There isn't much benefit to pair programming. It does catch errors sooner. It does help structure code better. It does eliminate typos the compiler can't catch. So it does have benefit. But I think the cost of two programmers does not justify the benefit.
The real problem is 'shared credit'. Remember those school projects where 2 or 3 people worked together? I had one in grad school where I ended up writing almost the whole project myself but we all got an 'A' grade. Management has no way to figure out how to allocate credit. This is a problem in shops where they put people on a scale of 1-5 or some such nonsense. If your shop does this, do NOT pair program.