Hacker News new | ask | show | jobs
by JasonCannon 1692 days ago
My team uses mob programming to do all of our work. So we have our Jr developers working on the same projects with our Sr Developers. This creates a ton of opportunities for knowledge transfer, mentorship, learning, and growth. We provide the opportunity for Jr's to grow and try things out not only via osmosis of working alongside more sr developers, but I will occasionally ask the Sr developers to step back, and allow the Jr's to take the lead on making decisions, and only step in to provide guidance or point out potential flaws with going down a route.

https://www.remotemobprogramming.org/ https://www.agilealliance.org/resources/experience-reports/m...

1 comments

I still laugh and shake my head at mob programming. It's completely exhausting and ridicolous. I tried it once and ended up spending the entire day being interrupted and talking instead of thinking. I didn't get a single minute to think alone.
Our entire team loves mob programming. We don't think alone really, we talk things out and discuss things as a team. But our productivity has increased, we all leave the day tired but feeling good about the work we accomplished, it keeps us all honest with our work (no skipping unit tests, no writing bad/confusing code and calling it good enough, constant refactors). We committed to doing it for 2 weeks back in May, the first day was rough, but by day 3 we were all in. None of us want to go back to doing solo development.
So you have like 10 developers staring at the same all day? How big is your code base and what programming language do you use? How do you know everyone loves it?
5 devs. Code base is roughly 50k loc. C#/JS/HTML/CSS.

I know everyone loves it because I implemented mob programming as a trial run. We were going to give it 2 sprints (2 week sprints, so 4 weeks total) to see how it affected things, and see how we liked it. I asked my team to commit to doing that, and they agreed. In the beginning one guy stated that he didn't think he would like it, as he was an introvert and didn't think he could spend all day with everyone on a call working together. We setup rules stating that if someone needed to take some time in the day to themselves and work on their own things they could, no questions asked. He never once took that time. Occasionally there are break offs where 1 or 2 people will go tackle something else, but that's only ever to take care of an issue that would distract the rest of the mob from working on the task at hand.

We also have a team retrospective at the end of each day. We ask what went well, what didn't go well, and what should we change for tomorrow. By day three almost everyone was fully on board with mob programming. By the end of the first sprint we decided unanimously that we didn't need the second week trial, this is how we wanted to work. I went to the introverted person privately after the fact and told him I understand that when the team is all in on something it can feel weird being the only one not wanting to do it, so I asked him for his honest feelings on it. He told me that while he is drained at the end of the day, he much prefers working in this way instead of working alone. I have checked in with him a few times since then, and it's only become easier on him.

In September I had one on ones with my team. I asked each one of my team what their opinions were of the company, what their opinions were of mob programming, and what their opinions were of me as the team leader. A few people grumbled about how our sales team doing what sales teams always do. But they all said that they are happier working here than anywhere they've worked before, that mob programming has been a game changer and that they dread their next job, because they will have to not do mob programming, and that they felt like I was the best manager they've ever had because I actually care about my team.

I've built a relationship with my team over the last year that I've been their leader, and many of them for the year prior before I was their manager (before that, it was just me and another employee). We've built a culture where we all treat eachother as equals, whether they've been here from the beginning (me) or people who are brand new. We openly discuss issues and frustrations that we have, and work through them together. They have had issue with some things that I've done as leader, that they've discussed with me and we've addressed and fixed. So I know it's not just them being too afraid to say they don't like mob programming or whatever.