Hacker News new | ask | show | jobs
by whateveracct 1881 days ago
I just recently started working at a place where mob programming is commonplace.

It is easily the most wasteful use of time I have ever seen in my professional career.

1.5hr session * 6 devs = 9 hours down the drain.

Only one person can speak during a Zoom call! It's a single-threaded, low throughout, low latency communication medium.

So it always ends up being one or two people talking - the one or two driving what is being mobbed on.

Due to this, I try to only jump in when I have something valuable to add. Which isn't often given the situation I described. If I'm driving or directly involved with the design or w/e of the mob session's focus .. sure of course I'll talk. But I'm not going to sit around trying to get a fluffy word in edgewise for 90 min just for its own sake.

And yet a frequent driver of this mob culture (a "principal" engineer if you can believe it) loves to mention how I'm not "engaged."

??? I sit in your dumbass meetings and pay attention for 90 minutes! My time is 100% focused on the meeting!

4 comments

Being a junior previously I derived a lot of benefit from light pair coding every now and then to learn something from a more senior developer. I have also been in code reviews where 2+ people are of equal relative skill, but have different approaches to a problem, and it almost becomes a stalemate or some kind of power struggle to 'be right'. 6 devs seems very excessive and an expensive use of time heh.
Think of it as a chance to pick up editor and language tricks you might not have known, or to socialize "best practices". The metagame is still part of the game. If you can't change the practice, try to make the most of it.
I had an admob interview once. I don't understand why this would ever be used. It seems so costly, slow and disrespectful of everyone's time.
It's slow at the beginning, but the payoffs are huge. With mobbing, everyone knows how to do everything. Far less design mistakes are made. No one ends up "owning" certain parts of the system. It's also very humbling as everyone succeeds and fails together, discouraging "heroics". Pairing is also great for this (but you have to switch every day).

Obviously, if you're working in a feature factory, pairing and mobbing are pointless. If you care about code quality and de-siloing, they're incredibly valuable.

Obviously, it's not for everyone, but it works incredibly well where I work and I will never accept another job that doesn't encourage pairing by default.

For "normal" mobbing, 6 people is too many. If I had 6 devs coding (which I often do) that's very rarely going to be a single mob. It could split up 2/2/2, 3/3, 1/2/3 or whatever, but a single group of 6 is really inefficient.