There’s a debate in the developer community: is pair programming worth it?
When it comes to your shining accomplishments, it’s possible to do your best work alone, away from distractions, those breakthrough moments arriving at a time of respite or solitude. But often, having another programmer at your side can keep you from getting distracted by Buzzfeed’s latest clickbait or from making an easily preventable mistake. What does that mean for your work? A higher level of accuracy and objectively better-written code, which keeps projects on track.
Here are four reasons why programming in pairs will enhance your programming game (and mean less cleaning up messes later).
For beginners who have a tenuous grasp on the material, pairing with another person on the same level helps reinforce what they just learned together. And it’s not just for newbies, either – it works for all levels of learning. For junior developers hoping to hone their craft, working with a senior developer who shows quality techniques and habits may give them the needed tools to improve their work, and offers additional knowledge that otherwise wouldn’t have been available. In the short term, it may slow a senior dev down, but in the long run, it will help with the company’s overall knowledge and productivity.
In sum, high morale + additional knowledge = a lot brighter road ahead.
In the context of code, design is a pivotal factor when it comes to the quality of the finished product, especially when it will inevitably need to be re-purposed or changed. A rogue programmer who decides not to consult with others or really map out the purpose of their design may make everything more complicated as the project progresses.
Save the cowboy antics for another time.
When it comes to design, coding in pairs doesn’t necessarily mean writing every keystroke together, line by line. Start by discussing with a fellow teammate what will be the most efficient way to create a flexible and malleable design. After that, you can break off on your own and write that brilliant code with a plan in mind.
Let’s boil this down to some objective facts: the end defect content is statistically lower when partners pair up and participate in continuous code reviews. That’s because you’re human and prone to mistakes (about 100 defects per 1,000 lines of code, in fact). Studies have shown that with a programming collaborator, you’ll have 15% fewer defects, and believe in humanity 78% more than usual. (OK, the humanity bit is made up the rest of it is all true!)
Whether you’re deciding to use pair coding just in the initial stages or as a full-blown activity to sit down and work out together, coding in pairs helps create checks and balances to correct the inevitability of human error. It also helps you focus on one activity instead of multi-tasking with a lower success rate. If one person can keep an eye on the conceptual ideas, another can make sure that curly brace is where it’s supposed to be. At the end of the day, pair programming helps to correct those mistakes before they get lost in thousands of lines of code.
All the cups of coffee in the world are not going to correct the fact that you’re tired and forgot a semicolon.
Working in code can sometimes be an isolating endeavor, and it’s easy to get trapped behind the mesmerizing glow of that screen. Committing to a project with a partner will help you understand your thought process as you speak it out loud, as well as get insight into your partner’s thoughts. It also enhances team dynamics and gives better information flow, which means higher quality projects in the end.
Additionally, team members working on projects together end up with multiple understandings of each part of the system, so that more people can go in and work on the code later as needed changes arise. And, as one of Flatiron’s own junior developers put it, “[Pair programming] contributes to a selfless development culture.” It encourages people to help each other become better programmers, work collaboratively, and not give up when the going gets rough.
Companies that implement pair programming — at the very least, on occasion — have better team dynamics and report they enjoy their work more. It puts a human face on all that code. Because explaining your process to a rubber duck can only help you so much.
Since their launch in 2015, Flatiron School has strived to give their online students the tools to create and foster an active and supportive community – even when studying hundreds of miles apart from one another. Now, in partnership with WeWork, they’re thrilled to share a new community feature available to their online students and alumni: free WeWork Hot Desk and We Membership access. Current and future Flatiron School students in their Online Web Developer Program will now have: