Written by Dirk Hayhurst.
Onboard at a Higher Level of Impact
When you pair a new developer with a senior developer, it allows that rookie developer to enter at an advanced section of the project or base code upon arrival. Sure, the rookie dev may not make major additions at first, but that’s not the point. Pairing them with a seasoned dev means they have the advantage of witnessing the established company workflow by observing the senior developer operating. Thus, new employees acclimate to the company climate faster, and, when you’re finished successfully onboarding new employees, they’ll already be familiar with the base code at a higher, more intimate level of production.
Get Instant Feedback
Paring means instant feedback and communication between a junior and senior developer. To translate this into a real software development environment, it means that custom built extensions are seen and explained immediately, common and time-wasting mistakes are avoided, and best practices are made clear. Furthermore, new employees can see exactly what they are doing, right or wrong, in real time.
Learn Custom Extensions
When I was hired at Patriot Software, fresh from college, I was paired up with an experienced member of the software development team who told me about all the custom built, in-house extensions that were made by Patriot to streamline the workflow. In school, I had learned how to use .Net 3.5, but the version Patriot was using was vastly different and very customized. It would have taken me weeks to understand what all of the custom stuff did. My pairing partner essentially served as my tour guide through all the custom extensions, saving me lots of frustration.
Increase the Value of/for Interns
Pairing offers amazing value for interns. And, as you may know, if the interns learn fast and are engaged, you get more work out of them and do less babysitting! During my college days, I had friends who did internships in other companies. Some came back and talked about how little they got out of the internship because the company they were with didn’t trust them to work on the code. I can’t speak for everyone, but, for us, pairing has allowed our interns to get their hands on some real projects, which adds massive value to their future resume, and helps Patriot reap the benefits of employee engagement.
Pairing is painless to implement. Your development team doesn’t have to waste time retraining. Pairing doesn’t require a major cultural shift in operations. There are no downcycle times or employee exodus concerns due to organizational change shock. Basically, you could pair a new developer with a senior dev tomorrow, if you wanted to.
Improve Your “Bus Factor” Number
The bus factor is a slightly gruesome way to prove a very compelling point about information bottlenecks and knowledge silos. The bus factor asks a blunt question: how many of your software developers could get hit by a bus tomorrow without derailing your software project? If the number is low, you might be in trouble. Pairing helps your company avoid buses because of its amazing capacity to facilitate knowledge exchanges.
Have a Built-in Quality Check
Coders, even great ones, make mistakes; simple mistakes, like typing errors or wrong names, or missing tags. When you pair, you sat a proofreader down next to your senior dev. I’ve been working in code all my life, and I still make little mistakes. My brain fills in words that the fingers never actually typed. When you have a partner within close proximity, even if they aren’t coding, they can help spot mistakes that could later take hours to track down.
Don’t Wait; Adopt Pairing!
We like pairing here at Patriot Software. However, we’re a close-knit company that values teamwork, cultural fit, and high-quality software. Not every company has the same cultural makeup we do, and we respect that. But, pairing is a fantastic tool for enhancing software developer motivation, speeding up development, and, if done correctly, any company can benefit from implementing it.