TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

My Remote Mob Programming Experience

35 pointsby zufallsheldabout 3 years ago

11 comments

jackblemmingabout 3 years ago
Developers (or perhaps managers) are always coming up with zany and new ways of doing things. It’s good fun, but mostly just that, fun. I hate hearing ad-hoc rationalizations about “team building” or “collaboration” or “synergy”. Call a spade a spade, it’s some made up technique for having a bit of fun. Some people will hate it, some will like it. Stop coating it in bullshit buzzwords. And preferably, don’t force people to play your game if they don’t want to.
评论 #30383931 未加载
评论 #30390758 未加载
lordnachoabout 3 years ago
I can see some use for the mob, but I think I&#x27;d struggle to do it all the time.<p>For certain fiddly things, it can help a lot to have several eyes. &quot;Spot the bug&quot; type issues, perhaps. Also &quot;let&#x27;s design and agree this interface&quot; seems like a thing that might work, eg if you&#x27;re all implementing the interface in separate backends on your own time. The big one is probably &quot;let me show you how it currently works&quot; which probably a lot of people have done as an intro to a new team.<p>But just generally coding as group I think could get tiresome. You&#x27;d have to think about how to navigate things socially, ie how do I get the shy person to bring their ideas if they have any, and not let the domineering one keep talking over everyone? Plus you tend to think faster than you can implement, and that impedance mismatch would need to be dealt with across people.<p>Finally there&#x27;s the cost of it. Four devs could easily cost the company a million bucks a year. 250 days of $4000 8 hour days -&gt; $500&#x2F;hr. Seems like a lot, you&#x27;d better have some quite scalable income to make it worthwhile. It&#x27;s definitely not impossible, but chances are you want to sometimes use the $500, sometimes work separately.<p>Also there&#x27;s tools to make this a lot easier these days. VS Code lets you share itself online, that&#x27;s pretty useful.
评论 #30384554 未加载
rpastuszakabout 3 years ago
We used git-mob in my team at Typeform, and besides the script still being a bit fiddly at the time, the overall experience was quite good, especialy with a mix of new and more seasoned developers involved.<p>What I recommend is increasing the rotation time to 25-30 m, especially initially.<p>The approach I&#x27;m experimenting with now is using vscode remote (ssh) and working with a shared remote workstation (running on EC2 and GCP).<p>Pros:<p>- no need to worry about sharing the same environment (all of you work off the same workstation after all)<p>- less infra: no need for external CI (you can just run the build scripts on the workstation, via commit-hooks).<p>PS I wrote a quick, practical overview of different pairing&#x2F;mobbing patterns: <a href="https:&#x2F;&#x2F;sonnet.io&#x2F;posts&#x2F;snakes&#x2F;" rel="nofollow">https:&#x2F;&#x2F;sonnet.io&#x2F;posts&#x2F;snakes&#x2F;</a>
评论 #30384849 未加载
mrozbarryabout 3 years ago
I don&#x27;t know if this is just advertising, but I&#x27;m the main developer behind <a href="https:&#x2F;&#x2F;mobti.me&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mobti.me&#x2F;</a> , which is a distributed mob programming timer. I&#x27;m aware of mob.sh, and have been asked if there would be any integrations. It has always seemed like it already has a timer, so I kept saying no, and now I have more definitive proof.<p>Anyway, I have a few mobbing tips that I use daily (have been consistently mob programming for 2+ years every day, and my previous job was pair programming all day for 2 years, as well):<p>- No heroes in the mob. If the mob cannot function without a specific person, then you are not mobbing. The only exception may be when a mob is first brought together to work on a new problem where only a single person has domain knowledge, but that shouldn&#x27;t be relied on beyond a sessions or two.<p>- Respect the timer, but be flexible to finish ideas. Strict timer adherence can sometimes kill the mood, but when someone takes over, it can also kill it. Always acknowledge if the timer is up, and if you need to finish something, ask the mob if it&#x27;s okay. Don&#x27;t continue if people disagree.<p>- Prefer high level intentions. Don&#x27;t tell people &quot;make this variable, call it foo, and use it fetch from this endpoint&quot; if instead you can say &quot;can you fetch this data and store it?&quot; - people can always ask for clarification, but they should be free to figure out the problem on their own.<p>- Ask for corrections after your coder is done writing an idea. If someone has the right idea, but is writing the wrong code, let it play out for a moment. Maybe the code being writing is considering a problem you haven&#x27;t, or at the very least, the person writing the code can explain it when it&#x27;s done so the team can decide if it&#x27;s good or not. Trying to throw in corrections as someone is typing is a lot of cognitive overload.<p>- Reflect often, and honestly. After you&#x27;re done a session, see how it went. It&#x27;s okay to call someone out for being too bossy, or highlight if someone isn&#x27;t being heard, as long as it&#x27;s done for the sake of being a better team. Maybe the timer is too long, maybe there are too many people, maybe not the right people, and all these sorts of things should be thought about as a team.
jillesvangurpabout 3 years ago
It&#x27;s a useful thing to do once in a while with your team. However, like pair programming you should not obsess about doing it all the time or forcing people to do it. But it&#x27;s a great tool, especially if you have a few juniors on your team. Not everybody is a natural coach and sticking everybody in a meeting where they solve stuff together tends to be a great way to nudge seniors into teaching juniors a few things. I tend to sneak in group editing sessions in my team, usually with some vague goal of looking at some feature together or figuring out some issue. I just tell one of them something like &quot;hey can you share your screen?&quot; and before you know it it&#x27;s 3 hours later.<p>Basically, staring at the same code with a group of people is a great way to spread knowledge in a casual way while actually solving some issues. The issue solving is a nice bonus but it&#x27;s the knowledge spreading that really counts. You pull people slightly out of their comfort zones by making them work on a topic that isn&#x27;t necessarily their specialty so they learn a few new things. And they pay attention to how others work.<p>One surprisingly useful thing is that the way people use tools; or even which tools they prefer can provide learning points for others. Somebody will use some neat key combination or some arcane editor feature (e.g. multi selecting bits of text) and you see multiple people doing that some time later. So, this is where I disagree with the article: the last thing you want is everybody using some uniform development environment. Let people use what they want to use show what they can do with those tools. And in case they are being clumsy, somebody will tell them &quot;why don&#x27;t you just ...&quot; and end up learning something.<p>And finally, they get used to solving stuff together instead of being lone wolfs. I love it when I see people spontaneously decide to hop on discord for an hour or so to solve an issue. Often all it takes is just the realization that help is a chat message away and you can just share a screen and look at stuff together and figure it out.
shimst3rabout 3 years ago
We used mob programming as a framework for conducting coding dojos, it was a very good experience.<p>We based the sessions roughly on the book <a href="https:&#x2F;&#x2F;pragprog.com&#x2F;titles&#x2F;mpmob&#x2F;code-with-the-wisdom-of-the-crowd&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pragprog.com&#x2F;titles&#x2F;mpmob&#x2F;code-with-the-wisdom-of-th...</a> - having some kind of system is highly recommended.<p>While I haven&#x27;t got the chance to do mob programming ever since, I&#x27;m looking forward to change this in the future. It&#x27;s such a great tool for mixed-experience teams (especially good for onboarding new hires or junior devs) or cross discipline teams (having a product manager in the mob really helps removing boundaries).
einpoklumabout 3 years ago
&gt; When one team member works on Windows, another in WSL, and a third in a Linux VM, there are countless road blocks to get everyone to reach a point to be able to work meaningfully. Of course we switched to Docker at some point.<p>This seems to be an example of how mob-programming would encourage a &quot;put a hammer to it&quot; approach rather than something more delicate and flexible (e.g. using a meta-build system like CMake to account for platform specificity).<p>I&#x27;m not saying that&#x27;s always a bad thing, but if this is how many&#x2F;most problems end up being handled then I&#x27;m not sure I like it.
评论 #30384491 未加载
buscoquadnaryabout 3 years ago
Thought this was going to be about somebody who accidentally signed up for a sketchy job a recruiter offered them and then eventually found out they were working for organized crime.<p>Was disappointed....
lobstrosity420about 3 years ago
Me and my team do this informally on Discord sometimes, I had no idea it had a name. Yes, this is not something you want to do too frequently, but it can be pretty awesome - especially during those &quot;we have no idea how to implement this&quot; times.
thrower123about 3 years ago
There is a contingent of advocates for mob programming and to a lesser extent pairing, who are just insufferable zealots. Like most programming technique evangelists, they are devoid of nuance and hammer endlessly on their single note. More often than not they have no real accomplishments to backstop their authority either.<p>I&#x27;ll go Bartleby: I&#x27;d prefer not. The entire reason I ever got into programming is because it was a refuge from dealing with people. Working alone on a technical problem is energizing; working with other people on the same is frustrating and makes me want to do violence within an hour or two.
TameAntelopeabout 3 years ago
The amount of outright hostility I&#x27;ve faced professionally for suggesting mob programming was staggering.<p>Some developers <i>really</i> like to be left alone, and it&#x27;s terrible for the business, but it&#x27;s been an unspoken thing (or spoken, i.e. Maker Time) for so long that any attempt at disrupting the freedom triggers a substantial backlash.<p>This looks like a lot of fun, I hope I&#x27;ll be able to implement it someday...
评论 #30383955 未加载
评论 #30383789 未加载
评论 #30383985 未加载
评论 #30392618 未加载
评论 #30385348 未加载
评论 #30393623 未加载
评论 #30384528 未加载
评论 #30383477 未加载
评论 #30392481 未加载