I wonder what it is, even
Poor test coverage? Everyone sees the value in good tests in real time. Sloppy code that got through review? Everyone learns why you should be more diligent.
Tricky problem that needs an escape hatch from your framework to do something custom, or some advanced debugging tool usage to identify, or shed light on a database race condition? The impact of seeing it live is much better lasting than just getting a summary during a stand-up or a slack message.
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.
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.
For example, the Pintos [0] projects.
0: https://web.stanford.edu/class/cs140/projects/pintos/pintos_...
setopt•5mo ago
merelysounds•5mo ago
> The basic concept of mob programming is simple: the entire team works as a team together on one task at the time. That is: one team – one (active) keyboard – one screen (projector of course).
https://en.m.wikipedia.org/wiki/Team_programming#Mob_program...
The website from this hn submission seems last updated 7 years ago, perhaps the term was more popular back then.
Izkata•5mo ago
debesyla•5mo ago