3 ms·
> I have no idea about how effective pair programming is. My desire to discover it is zero. […] Related: working with people you can learn from is a wonderful s
by dahart 4y ago
> I have no idea about how effective pair programming is. My desire to discover it is zero. […] Related: working with people you can learn from is a wonderful source of motivation. […] My desire to discuss technical stuff with people, both to help and be helped, is at all-time highs.
FWIW pair programming is very hard to do well and usually pretty uncomfortable. It needs to be structured well and done in smaller doses with lots of breaks. But when it has worked right (which was a small minority of the time for me), it has been exhilarating for me, unquestionably much faster and more productive than coding by myself, and much more fun.
I do think pair programming is also a fabulous way to share workflow tips and tricks. Watching someone drive you will see things you didn’t know, and when people watch you they’ll discover your secrets. Even if pair programming is hard, I think it’s pretty good for the organization to have team members doing it on occasion to help propagate this kind of knowledge more quickly. But yeah YMMV and it does also require self control and letting people do things their way sometimes even if it seems slow.
- erwincoumans 4y agoAgreed on small doses, not full-time: I've done some pair programming with people I enjoyed working with, but only a few hours a week. It felt motivating and rewarding.
- willsmith72 4y agoAbsolutely, have even done it full-time. Most are justly scarred from bad experiences, but in the right environment with the right people, tech and culture, it's a total game-changer.
- alexk307 4y agoThis was the only line I really disagreed with. Pair programming, when done right and with two engaged participants, can be extremely rewarding and speeds up time to develop/review/test/etc. Either you're both at the same level, and you can feed off each other, thinking through edge cases and bugs as you go. Or you could be at different levels, where one engineer is teaching, and the other is learning. It's really a win-win in my opinion.
- kanbara 4y ago100% this. in my last job i transitioned into a role i didn't have much experience in, and i paired for a few months and learned more than i ever could have on my own. the miserly "leave me alone and let me code by myself" people are siloing knowledge and probably not writing the best code or products than if their code could be critiqued in real time or on pull requests and so on. a lot of adult software engineering is not in a vacuum but in a collaborative and fast-feedback based environment
- neogodless 4y agoHaving done it very little, I'm no expert, but the situation I was in was that I was motivated but not knowledgeable, and I was paired with someone knowledgeable but wholly unmotivated. It let me be much more productive than otherwise, and put to use the other's experience without requiring them to find motivation. Of course, if you're managing, and you know someone is not motivated, you probably don't turn to this as your solution, but I'm not management, so I could be wrong!