In March 2020, with the first wave of the coronavirus hitting the US, Caktus sent all its employees home. One year later, with working from home still in effect, our days punctuated by virtual meetings via Google Hangouts and chats via Slack, our co-founders decided it was time to connect in another way.
In the early days of Caktus in 2007/08, the four founders rotated through their respective kitchens, huddled over a single laptop to pair program together. In the following years, CEO Tobias McNulty and CTO Colin Copeland often worked together, serving as sounding boards for each other and almost always reviewing emails to clients before hitting the send button.
“The belief that two sets of eyes are better than one permeates everything we do, and it remains an integral part of the Caktus culture today,” says Tobias. “In recent years we may have lost sight of how critical this really is for me and Colin. Our Chief of Staff Kel Hanna noticed that something might be missing from our professional lives and suggested that we give pair programming a try again.”
Since February 2021, Tobias and Colin began meeting several times a week for virtual pair programming sessions, using:
The VS Live Share plugin allows them to work together on the same code at the same time. While they can code and run commands simultaneously, they can also quickly switch who’s in control.
Colin explains that since VS Live Share allows them to share the same file tree in a session, they can quickly jump to and reference other files in the codebase while working on a solution together. Sharing the same interface simplifies the experience, allowing developers to augment one another or think ahead in a way that's otherwise not possible.
“For me, passing the baton is immensely helpful,” says Colin. “I might take an idea to a certain point and run out of steam or hit a stumbling block, then Tobias may see the next step right away and jump in to continue the effort and keep our momentum going. We help each other to find solutions and it prevents us from getting blocked.”
Another helpful collaboration tool for pair programming that was recently released is Code with Me by JetBrains, which is built into PyCharm's latest version. One of our contractors, Gabby Simard-Moore, gave it a shot and says “it’s pretty smooth.”
Find Time to Work with a Friend
Prior to the coronavirus pandemic, team meetings and pair programming opportunities were common at Caktus, and developers often huddled together in front of their screens, but there wasn’t always space for that in Tobias and Colin’s busy schedules because as Caktus grew, their responsibilities did, too. This is the first time in years that Tobias and Colin have been able to put their heads together in such a significant way.
“We've each grown over the years, and it's been a real joy to collaborate on a project again,” says Tobias. “I learned a ton from Colin in the first month, and he pushes me to be a better programmer and leader every day that we collaborate together.”
Colin remembers that part of the reason Caktus was founded was because the founders simply enjoyed working together.
“I didn't realize how much I missed it until we had the opportunity to do so in earnest again,” says Colin. “In the software development process, architecting a solution is fun to think through and challenging, but building it and seeing the pieces come together is where I get really excited. Sharing in that accomplishment and learning together through pair programming just can't be beat! I enjoy learning from Tobias' experience and exploring implementation ideas that I wouldn't have thought of otherwise.”
Not only are they having more fun, but they’re also more productive, delivering more value to clients. Being forced to work remotely during the pandemic, along with advances in the technology for collaborative programming over the past decade, have helped Colin and Tobias to find new workflows that they look forward to keeping and integrating into their processes even after the office reopens to all staff.
Tobias and Colin hope that others at Caktus and beyond will be inspired to find a colleague — perhaps someone who you used to enjoy working with in-person — and make time to collaborate with them again.
As Jacob Kaplan-Moss wrote recently in his article Coworking With a Friend to Write More, "Find a partner who also wants to make progress on something. We think someone you’re friendly with, with similar-ish goals, is best.”