4 ms·
Anyone with some negative experiences pair programming? Would be interested in hearing about another side of this.
by mburesh 13y ago
Anyone with some negative experiences pair programming? Would be interested in hearing about another side of this.
- sim0n 13y agoI was forced to pair at a company that I temporarily worked for. I was open to the concept of pairing but through actual experience pairing with other engineers, I found out that it was not for me. I can see the benefits of sharing the context of what's being written and having two sets of eyes on the code but in my experience, the process ended up slowing down myself and other engineers as well as making us unhappy (we preferred to code independently most of the time - being forced to directly work together isn't an enjoyable thing) and didn't dramatically increase the quality of code enough to warrant the hassle. That may be due to the quality of engineers and other factors in the workplace, though. I can absolutely see the benefits of pairing when engineers themselves choose to pair with each other though (instead of being forced to all the time). An engineer asking another engineer for a bit of help with some code is not an uncommon thing and well, it's pretty much part of working in a team and not some bizarre new concept so I don't think it really needs to be highlighted as part of a company culture. Since I left the company (due to unhappiness), I understand that the managers have become a bit more relaxed towards pairing and now allow engineers to "solo" more (at least the more experienced engineers).
- ggreer 13y agoI pair almost every day, and my biggest complaint is that pairing isn't useful for boilerplate code. Pair programming's biggest advantage is that you have two people working out solutions and catching bugs. If the solution is boringly obvious and the chance of bugs almost zero, then pairing is a waste. The success of pairing depends heavily on the skill and personalities of those involved. If the skill disparity is too great, you end up with one person doing all the thinking while also lecturing the newbie. If neither collaborator likes the other, you'll have issues. Even something like preferring different editors can get in the way. In general, I don't think of pairing as good or bad. I think, "Is pairing a tool I should use in this case?" For me the answer is often yes, but it depends on many factors. I could see others answering no just as often as I answer yes. Really though, you don't know it 'till you try it. If you want to get started with pairing, make sure you pair with someone who has paired before! If both people are inexperienced, the result is usually chaos and frustration.
- alxndr 13y ago> The success of pairing depends heavily on the skill and personalities of those involved. If the skill disparity is too great, you end up with one person doing all the thinking while also lecturing the newbie. If neither collaborator likes the other, you'll have issues. Even something like preferring different editors can get in the way. Very much agree. I was a client at Pivotal for a few months, and learned a ton from them while pairing. We brought their XP style (slightly tweaked) back to our office once our contract with them was up, and continued pairing about half of the time. We could all get along well enough, and had agreed on using the same editor, so the only pain point I felt was when working with people with a different skillset. Though the different skillset problem made development go slower, but the more experienced people are teaching the less experienced people, hopefully making the tradeoff worth it. Another advantage to pairing is that it keeps developers honest -- if you're supposed to be doing TDD, then ideally your pair helps you stick to it instead of taking shortcuts you "know" are okay. Edit: oops, grandparent asked for negative experiences. The only ones I had were frustration when working with people who were already frustrating to work with. (Ideally, while pairintg they'd be learning, and would become less frustrating to work with...) I do agree with parent's point about it being less useful when banging out boilerplate or obvious solutions, but that's not really a horrible experience, just a little wasteful feeling.