
Ask HN: How to learn to stop worrying and love pair programming? - wwwater
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?
======
wayn3
Pair programming is great to get junior people or people just coming in up to
speed.

If 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.

~~~
bbcbasic
Nose.js clowns?

~~~
wayn3
node.js

~~~
bbcbasic
Sorry phone typo. Question is why you associate node.js with being a clown?

~~~
wayn3
I'll let the paradigm and the code speak for themselves.

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

~~~
bbcbasic
Don't worry I'm well versed in the better alternatives was just interested in
the correlation. And sometimes at a job you have to use tooling you wouldn't
necessarily choose yourself.

I like your welder analogy it priceless! Pair piloting works well I heard.

------
daly
I've done pair programming. With the right partner it is productive and
produces better code. The person at the keyboard is at a disadvantage because
the partner has more "think time". Anyway, I found it pleasant.

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...

~~~
wwwater
So you could concentrate and think despite that there is another person
sitting next to you and waiting when you say something?

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.

~~~
daly
We both knew the task, having designed it before we started. It involved
networking so there were standards we had to follow. He wasn't 'waiting', just
writing code. However, writing code takes up a lot of head-space. My portion
involved things like real-time code review, discussing design decisions such
as where to check for edge cases, etc.

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.

------
zzzcpan
I agree with another comment here, you are not supposed to love pair
programming. It's an attempt to put pressure on you. Just never do it, talk to
your manager. If they are not happy with your decision, leave, as you are the
one to suffer the consequences, not them.

~~~
wwwater
I also see it as an attempt to put pressure on me, but I know, that there are
people who truly like it. So would be interesting to understand their point of
view.

