5 ms·
My engineering team I run does Mob programming, which is like Pair Programming just with more than 2 people. It's an absolute joy. Every one of my guys says it
by JasonCannon 5y ago
My engineering team I run does Mob programming, which is like Pair Programming just with more than 2 people.
It's an absolute joy. Every one of my guys says it's much more enjoyable and productive than working solo.
- makeitdouble 5y agoI wager you try to hire people that fit your culture and would be very open to that kind of atmosphere in the first place ? Mob programming is a tool that can be useful on some circumstances, but I'm really not sure I'd join a company where the team is crazily enjoying it all day.
- katbyte 5y agoI wouldn’t want t program like that, but everyone is different and teams tend to hire for culture fit, and thus “thier style”
- JasonCannon 5y agoWe actually started it as a trial 1 week after hiring our last developer. I had to convince the team to try it and told them to give it 1 month to see how it worked, but everyone was 100% on board within the first week. We are hiring people now, and yes we are going to be hiring based off of willingness to program like this.
- djrockstar1 5y agoWhat's the distribution on that? One coder N navigators? Half coders half navigators?
- JasonCannon 5y agoOne person on keyboard, everyone else calling out code (we have 4 devs on the team currently). We switch positions every 15 minutes.
- rpmisms 5y agoThat sounds awesome. I imagine being stuck doesn't happen often, so frustration would stay very low.
- JasonCannon 5y agoExactly. And when we do get stuck, we have everyone working on the problem together, so it doesn't happen for very long. The only time the team really got frustrated was due to a mysterious memory spike that pops up at the most inopportune of times, and we had to spend a long ass time investigating it (orders of my boss) so all work ground to a halt other than banging our heads trying to figure it out (to no avail). Outside of that, things have been running smoothly. (Also, we're hiring if you are a fullstack dev)
- rpmisms 5y agoSadly, I'm fully remote and have no interest in moving to Seattle. Sounds amazing, though, maybe I can get some of this implemented in my current position.
- rixed 5y ago"your" guy? Might be just me, or might be because English is not my native language, but the use of possessive to designate people who work with you (albeit in a position that feels like it's inferior on some org chart) always sounds patronizing to me. Does it really not in English ? Not against you personally, I just could not keep this feeling within for longer. /out-of-topic
- schwartzworld 5y agoYeah, there’s nothing wrong with “my guys”, at least not with the possessive pronoun. You would say “my team”, “my employees”, “my direct reports”. You’d also say “my boss”, if that helps with your sense of internal conflict over this.
- rixed 5y agoHaven't thought of "my boss". Sure it helps, thank you :)
- svalorzen 5y agoNot an English native as well, but in my language it works in the same way. "My" is used to designate possession of the set, not of the individuals. I don't own "my friends" as a slave owner, they are "my friends" because that is my personal set of friends among all possible sets of people.
- Stratoscope 5y agoYou're not wrong to wonder about this, and even if it's off topic, I appreciate your asking about it. As others explained, it is common usage in American English. The bigger problem to many contemporary readers may be the (I am sure unintentional) sexism in the phrase "my guys". Instead of "Every one of my guys says", another way to say it would be "Everyone on my team says". Or maybe even better, "My teammates all say". Of course we have to keep in mind that these are all just late night off-the-cuff comments, so some gaffes may be expected and accepted. Edit to address the thoughtful replies below: I think whether "guys" is gender neutral or not depends on the context and culture. Informally and in personal conversation, sure, if the "guys" in question don't mind it. Here on HN, doesn't matter too much. In formal writing or business communication, it would be something to avoid.
- ehnto 5y agoWhat sort of problems do you find yourself using this for?
- JasonCannon 5y agoWe do it for just about 100% of the time now. Only two exceptions: 1.) We have a second project we are ramping down on that only myself and 1 of my devs is trained on, so when we have to do anything with that he breaks off to do so. 2.) When bugs creep up that I can quickly solve, I'll do so as to allow my team to remain focused on our current system wide rewrite. Other then that, we do everything as a team.
- rixed 5y agoI, for one, would like to work on a team where everyone is working at the same thing, as opposed to everyone working in isolation on its own slice of the problem before figuring out how to assemble the slices eventually. I guess this can work only on rather small teams though. What's the cardinality of that mob of yours ?
- JasonCannon 5y agoYou are correct that we are a small team. I have 4 devs. We are hiring 2 more right now and the plan then would be to coordinate 2 mobs/teams. I generally believe a team should be between 3-5 people.
- deleted 5y ago[deleted]
- ohwaitnvm 5y agoI’ve been pairing at all but one of my jobs in the last ten years, and love it, but I found mobbing to almost always be a driver, a half engaged navigator, and a third basically napping or distracted by a smartphone. The devs in question were experienced in pairing and happy to do it, but I pretty much always found adding more than a second head was effectively net neutral if not negative. So I’d love to learn how to make mobbing better for the rare times it comes up. What do you have to change or be more disciplined about to make mobbing a net gain?
- JasonCannon 5y agoWe don't have that issue really. We do remote mob programming (all day long zoom call + https://mob.sh/ https://mob.sh/ ) so we see everyone while we work. The issue we do have is that sometimes myself and my other senior dev end up Navigating too much, leaving our more junior developers to not contribute as much. When I catch ourselves doing that I'll just ask the other sr dev to step back for a little bit and allow the others to step up.
- ohwaitnvm 5y agoThanks for the response! I guess the big difference is being on camera. My team has been 100% remote of course since Mar’20, and split across SF and Toronto for the most part. We use Zoom for cross discipline meetings (and nearly everyone has camera on most of the time, though there’s no explicit rule) but discord+drovio for remote pairing. Discord has been nice for the ability to drop into another pair to ask for help, or for non devs to know who is pairing and drop in as well. One other thing I’ve noticed is that some team members play music in their headphones while pairing/mobbing. While the others can’t hear it, it’s certainly not helping our communication or focus… and it certainly feels disrespectful to me.
- LR3sRdQ 5y agoI've done all day Zoom/VC mobs, and that sounds exhausting as hell to me. Different strokes and all, but programming this way really takes the fun out of it.