Stuck? Benefits of Pair Programming vs. Using an AI Assistant

You’re spinning your wheels on a tough problem and the clock is ticking. You’ve been here before. To overcome this obstacle, you must choose between asking a team member to dive in with you or firing up ChatGPT for some AI assistance. Depending on your experience level, the content of the work, and your relationship with your coworkers, pair programming or ChatGPT can both offer benefits. Here are the things I consider when I need an extra set of eyes.

Use your company’s brain trust and try pair programming.

Pair programming is like going to a live music show instead of listening to an album at home. At a show, you get the whole experience, the community, the artist’s personal lore. Similarly, devs working together can often offer a richer, learning-focused environment. This is always beneficial, but especially so for those early in their careers.

For instance, if you’re wrestling with creating SQL queries or React components, instead of letting ChatGPT spit out the code for you, why not engage in pair programming? Sure, it might not be as quick, but over-reliance on AI can turn you into a code consumer rather than a code creator. You might miss out on expanding your understanding of how raw SQL, ORMs, or other complex paradigms work. Working on adding and referencing programming concepts within your brain cache is the best way to navigate unfamiliar challenges.

Pair programming is also the best way to use your company’s brain trust. Atomic deliberately mixes teams with senior and junior devs so that years of knowledge and experience don’t become contained within a small portion of the makers. While pairing, you’ll share, learn, and immerse yourself in discussions about the latest tooling, past client relations, project strategies, and more. You’ll find out who can talk your ear off about data management, who is awesome at helping with consultant/client interactions, or who loves helping junior developers craft career goals. Becoming an island in this huge sea of resources would be a mistake, and regular pairing is the solution.

It’s not all about code and technicalities. Pair programming also helps you build stronger relationships with your teammates. If you can talk about the latest home improvement disaster you’re encountering, it’s much easier to exchange feedback or have a nice time at work!

AI assistance is A-Okay.

Then there’s ChatGPT, a wise bot with a knack for simplifying complex tasks. If you’re more or less sure about what you’re into but are double-checking for a more efficient solution, pull in your rubber silicon ducky pal. It’s like the autocorrect of coding! It can quickly highlight more optimized paths to try out.

AI tools shine on monotonous tasks. Writing extensive schema validation, developing repetitive test suites or performing other tedious tasks can sometimes feel like busy work. In some instances, tools like ChatGPT can save you precious time and cognitive load. These tools can handle repetitive tasks and allow you to focus more on creative problem-solving.

In the case of junior developers, it can also be helpful to throw out a question that doesn’t really need extra personal context – “ELI5: What is a unit test?” Just don’t forget that your human mentors are there to help and some of the best background knowledge can come from the simplest prompts!

Choose your fighter.

Ultimately, pair programming and AI-assisted coding tools like ChatGPT both have a place in a developer’s world. Which one to lean on largely depends on the nuances of your task, learning style, and team ethos.

For immersive learning and insight into your team’s technical heritage, pair programming is ideal. But when you’re confident and seeking quick solutions or handling tedious tasks, AI assistance like ChatGPT can be a real timesaver.

The power lies in balance — effectively harnessing the strengths of both approaches when the situation demands to enhance your proficiency as a developer.


Join the conversation

Your email address will not be published. Required fields are marked *