4 ms·
I've never heard of "Mob Programming" before coming across this thread. It's as if somebody looked at pair programming and said "This sucks... but I think I ca
by jcadam 9y ago
I've never heard of "Mob Programming" before coming across this thread. It's as if somebody looked at pair programming and said "This sucks... but I think I can make it suck more."
Collaborate on architecture, interfaces, design, etc.. sure. But, as an introvert, sitting in a room amongst a mob of code monkeys screaming and flinging feces about the room whilst trying to share a single keyboard doesn't sound like the best way to build good software. I'd have a blinding headache after an hour of this sort of thing.
- jfroma 9y agoI am not introvert but I feel very uncomfortable doing pair programming (specially with one keyboard). When I am driving some times I get questions about things that I don't care at the moment, why I am using vim/sublime this way, why I named the variable like that. This causes me to lose concentration. If I am "navigating" (as the article mentions) I try to not make many comments but I feel very stressed about the other person not solving the problems the way I would. I am very open to brainstorming meetings etc, but then just let me go back to my computer in my space to write code. Then I send a PR to someone in the team for review and we can discuss about it. However there are scenario where I think pairing is very useful, for instance when doing risky changes to infrastructure. The driver share her screen and then it tells the other people watching every action before executing, like "I am going to switch the DNS record now to X.." and the copilot answer "go ahead", "I will wait 2 minutes"..."I am taking down this load balancer.. "
- nathanaldensr 9y agoI think you identified the best use of pairing: high-risk changes. Avoiding costly mistakes is easier with "another pair of eyes." Pairing on the creation of yet another DTO has very little, if any, value.
- vorpalhex 9y agoI use pairing when introducing a peer to a new concept, a new library, or helping them get complicated stuff working. I think pairing works best when it has a very intentional purpose - "Together, we're going to get this service up and running locally so you can develop against it" kind of thing.
- jcadam 9y agoSure, but I would just call this 'mentoring' rather than pairing :)