Make it collaborative
While organising a collaborative coding session sometimes feels like a bit of a faff, when executed properly the benefits can be massive. In this blog I’m going to tell you a bit about a couple of different types of collaborative coding, how I’ve experienced them and what the benefits can be.
Pair programming
This is my favourite way to code collaboratively.
Pair programming involves working with a partner on one laptop and taking turns to control the keyboard. It requires you to work as a unit and builds strong communication – something often overlooked by people in the software development world. Pair programming also means you get to see problems from another person’s perspective. It’s a great reminder that there is more than one way to skin a cat when it comes to code.
With pair programming, you get benefits no matter how experienced you or your partner are. If you’re a junior developer working with a senior developer, then you get to see how an experienced developer works, while the senior developer gets a deeper understanding of a topic through having to explain it. And everyone gets the added bonuses of stronger communication and team bonding.
Also with working this way, the code has two sets of eyes on it before going to code review, which decreases the potential for bugs. I find that pair programming also increases focus and keeps your mind on the issue, rather than on distracting Slack and Skype notifications or emails.
Mob programming
This is similar to pair programming but involves multiple people, usually using a projector.
Mob programming is tricky to get right, but it can be a great way to break down knowledge ‘silos’ where just one person has a real understanding of an area of codebase.
My team at work recently used mob programming to implement backbone JS into a portion of our codebase. This means that every team member now understands how to set it up, and each of us came away with an ability to dive in and work in this portion of the code. It should save us a lot of time in the future.
Mob programming is not for everyone and it takes a certain type of team to successfully implement it. Properly managed though, it can be a brilliant way to encourage a quiet team to talk to each other more.
Collaborative coding is a great tool in your developer toolbox and used properly, you’ll see your productivity and teamwork increase massively. At the very least, it’s worth a try to see if your team can benefit.