Our team recently worked on a tool to remove unused AWS stacks, dedicating quite a few lunchtimes to the cause. We decided it would be a great opportunity to try some mob programming, as it was a project that we were all excited about.
In the process we
- Learnt some emacs
- Learnt about using the Serverless framework (AWS lambda under the hood) for the first time
- Worked out how we were going to test our application
- Came up against deployment and runtime problems
While each of these could have been done solo, mob programming gave us the opportunity to:
- Talk the problems through, coming up with better design
- Get comfortable asking for explaination when we're unclear - showing that we don't know it all
- Bring something new to the table that other people don't know - even if we've just found it ourselves
- Teach others
- Share the joy of seeing something working that we've worked on so closely together
One of the biggest benefits is individuals showing they don't know everything. Often as software developers we suffer from imposter syndrome, but just exposing that we're all learning can encourage a better culture where people are happy being vulnerable - where they feel they can ask questions without judgement.
Have you tried mob programming? What do you think are the benefits? Drawbacks?