4 ms·
I think it can work great for some people. I did it for a few weeks at one point, and found it thoroughly unproductive. 90% of my time was spent waiting for som
by breischl 3y ago
I think it can work great for some people. I did it for a few weeks at one point, and found it thoroughly unproductive. 90% of my time was spent waiting for somebody else to type something, or trying to verbally communicate something that would be better done in writing/code.
Even now I find it incredibly off-putting to have somebody looking over my shoulder when I'm trying to work, to the point that I basically just can't. People have asked to watch me do something, and my response is that you can either watch me, or I can do it, but not both. It's like Heisenberg Uncertainty for work output.
- gavmor 3y ago> waiting for somebody else to type > trying to verbally communicate something that would be better done in writing/code > somebody looking over my shoulder At the risk of sounding flippant, none of these activities comprise pair programming. What's better written should be, and the simplest way might be "can I just show you?" or, from a particularly well-atuned pair, "would you mind showing me?" "Waiting for someone else to type," in my experience, is either a good opportunity to finish a bit of thinking that'd I'd put off moments prior, or else premeditate on our next move. Sometimes, however, the typing is, as you alluded to, an attempt to communicate something, in which case watching them type is roughly equivalent to listening to a person in conversation, and therefore an opportunity to learn, catch bugs, etc. In other words, when I am pair-programming I am never waiting qua idling. And, lastly, I completely agree that "somebody looking over my shoulder" is an unnerving condition to code under. As purely ergonomic concern, "over one's shoulder" is not a healthy position from which to operate a computer. ;) But, seriously, it's not pair programming if you're not on equal footing (seating?), with equal access to mouse, keyboard, and monitor. Don't stand for someone standing behind you! I am sorry for the unpleasant experiences you've had. As a practitioner, I would not have subjected you to them. I am, frankly, vicariously irritated with whomever did.
- breischl 3y ago"Looking over your shoulder" was just a figure of speech, not a literal description. And I suppose I could have grabbed the keyboard, but there's social niceties to navigate, everyone likes their keyboard & IDE set up different ways, and it's generally a PITA. Also the way I tend to code is never linear in a way that anybody else could follow. I write something, edit it, throw it away, put it back, rename it, hack out something I _know_ is buggy so I can see how it looks, and basically "thrash" my way to a solution that I like. That makes it essentially impossible for anybody to follow in real time, and having them try to point out errors would be counterproductive. In the later stages someone could help polish it, but even then I think it'd mostly be a waste of time. That's before we even get to things like dealing with interruptions, or answering other questions quickly. Ideally interruptions don't happen, but in practice they do, and I don't want to be wasting someone else's time. There's a lot I liked about XP, but I still think that (for some people) it's just a great way to make two devs produce the output of one intern.