17 comments

[ 5.3 ms ] story [ 42.0 ms ] thread
Interesting concept, but they should define mob programming on the landing page instead of having to dig into links.
[dead]
This website hasn’t been updated in a while, perhaps we should add (2018) to the title.
Can be fun sometimes. Especially if you rowdy team and debates start happening.
> Mob Programming is a fairly new concept.

I wonder what it is, even

We did this exclusively at a great company I worked at for years. It was pretty great actually. Never felt stressed, we just collectively knocked out one thing after another in sequence.
We’ve had great success using mob programming as part of our interview process. Candidates - usually associate level - have a blast as well.
I know that some people really find value in this and even enjoy it, but I can't imagine it and would never accept a role at a company that does anything close to this.

For me, so much of the value and enjoyment in programming comes from getting locked in and grinding out some feature or fix solo based on a spec or description. I also feel like programming without listening to music is way less enjoyable.

Again, no flame at all for people who work this way. It just doesn't match at all with my own sensibilities and work style to the point where it's hard for me to imagine doing it at all.

In some situations and particularly for helping new hires get on board mob programming can have value, but as an introvert being in a call/huddled together constantly is exhausting and not for me.
The largest benefit of mob programming (or software teaming or ensemble programming) is the continuous knowledge sharing. Instead of trying to figure out context during code reviews or syncs, you do it organically all the time. Developing together builds a tight team where people grow together.
Yeah, and reduces the lottery factor. Much less siloed knowledge banks creating unicorn Subject Matter Experts (SMEs). Lots of SMEs is a security risk.
This sounds like a great way to teach juniors and exhaust introverts, but it probably also causes some reversion to the mean in terms of outputs, unless your seniors are just railroading the whole thing.
I’ve been in three teams that has done Mob Programming full-time. In one team it was for two years and a half years.

I have lots of side projects when I get home. Love sitting by myself coding, listening to music, running a video on my second monitor. I work on some hard problems, and get a lot of stuff done.

But I have never been at a workplace where the problem was that we needed someone to grind out as much code as possible.

Doing mob programming essentially means the team works on one thing at a time. It shortens the lead time for that one thing as much as possible. That allows you to gather feedback on the solution as fast as possible. Iterate as fast as possible. Which is why you feel as you are getting so much done, even though you can go a day barely typing yourself.

And you can’t do this solo. It’s rare to find one person with all the skills necessary to change our system end-to-end efficiently, and have them never be sick or slip on a banana peel.

IME the perfect size team has been between 2-4 engineers. And the rest of the team filling in with skills depending on the domain: - data science - banking - design - marketing Etc.

It’s not always comfortable. I’m somewhat of an introvert, and I feel a group of 3 is a lot easier to work in than a pair.

But you get a lot of the right things done, and fast.

There so much to be said about this way of working, upsides and downsides. Hoping to hear a lot in this post from people with experience.

Whenever I hear about this and pair programming, I can’t help but feel like my brain is completely incompatible with this way of working. Whatever mental capacity I have for writing code and for interacting with other people seem mutually exclusive. I can do one at a time well, but I can’t do them both at once well. Just having somebody sit and watch me code is a big distraction, and I’ve observed the same in others.