Collaborative Programming: Body Doubling for Developers
Posted on April 8, 2025 • 5 min read • 1,026 wordsCollaborative work sessions help ADHD developers stay engaged, avoid distractions, and manage complex tasks more effectively
If you’ve ever struggled to stay focused while coding alone but suddenly became ultra-productive when working next to someone else, you’ve experienced the power of body doubling.
Body doubling is a technique commonly used by people with ADHD to improve focus and accountability. It involves working alongside another person, not necessarily to collaborate on the same task, but simply to create an environment where distractions are minimized and engagement is easier to maintain.
For developers, body doubling naturally exists in two powerful coding practices: Pair Programming and Mob Programming. These techniques create structured, collaborative work sessions that help ADHD developers stay engaged, avoid distractions, and manage complex tasks more effectively. In this post, I’ll explore how these practices work, why they align so well with my ADHD brain, and how to make them even more effective.
My ADHD makes it difficult to self-regulate attention, meaning that tasks requiring sustained effort (like debugging or planning the next task) can quickly lead to zoning out, procrastinating, or going down an unrelated rabbit hole. However, working in the presence of others creates a sense of external accountability, making it easier to stay engaged.
Here’s why collaboration works so well for my ADHD brain:
When someone else is working alongside you, it’s easier to stay present. This is why co-working spaces and study groups help many people with ADHD get things done. When working alone, it is easy for me to get distracted by email, facebook, or any myriad of other things that I find interesting. In a group, we’re all focused on the task at hand, no one is on their phone, or checking email, etc.
In a mob or pair programming session, you don’t have to hold all the context in your head. Your teammates are there to help. This reduces cognitive overload and working memory strain. I don’t spiral into feeling overwhelmed with having to remember huge contexts and concepts.
ADHD brains thrive on instant feedback. Discussing ideas in real-time, and seeing progress unfold keeps my motivation high, and my imposter syndrome low.
When working alone, it’s easy to get stuck on a decision. In a collaborative session, you have teammates to help push forward when uncertainty strikes. The team talks about “next tasks” and works collaboratively to ensure all the tasks are understood and completed in the correct order.
Collaborative Programming extends the concept of pair programming to an entire team. The group works together at the same time, solving problems collaboratively while rotating roles.
All the brilliant minds working together on the same thing,
at the same time,
in the same space,
and at the same computer- Woody Zuill
Encourages clear thinking: In a mob, we talk through ideas aloud, reinforcing group learning and decision-making. This is immensely helpful for lowering my imposter syndrome, and my RSD at bay. I don’t need to be the most knowledgeable person. When my RSD would appear, it is instead replaced by thoughtful, considerate communication from the team.
Shared focus: It’s harder to drift off when an entire group is actively coding together. We use Pomodoro timers to take regular breaks, allowing for some other tasks (like checking emails, taking a walk, or grabbing a snack.)
Prevents getting stuck: The navigator can help me when I lose focus. In fact, as the driver, all I need to do is listen and input what I’m being asked. As the navigator, when I freeze because I’m unsure of next steps, the rest of the mob helps out as needed to get me back on track and moving forward.
Switch roles frequently: This keeps me engaged as we continually change rolls. The shift from driver to navigator requires me to refocus my thinking, so I never get the distracted/bored feeling of doing the same repetitive task.
More perspectives: I often struggle with decision-making, sometimes to the point of freezing. In a mob, the decisions are the responsibility of the whole team. This allows me to feel less overwhelmed, and feel that my input is recognized and accepted.
Immediate learning: I build my knowledge through real-time discussion and practice. Due to my ADHD, reading documentation, or learning from a presentation is almost non-existent. The knowledge that I gain in a mob, whether it is contextual to the product, or better ways of writing code, is reinforced through immediate application and practice.
Rotate regularly: Use a strict timer for role rotation to keep engagement high. I find that less than 10 minutes
is a good time start, although when we do
TDD, we often follow:
Red → Green → Refactor → Commit → Rotate
Practice Pomodoro: Use a Pomodoro timers to take breaks on a regular cadence. I find 25 minutes working, then a 5-minute break is a good starting point, but your needs team may vary.
- Stand up, if you can.
- Look outside, or at-least, not at your computer.
- Take a quick walk, or leave the room.
- Don’t talk about your work. This isn’t a time to discuss next steps, or architectural decisions
Get a Coach: You don’t learn well just by doing.. Having someone that can help you and your team become learn to be effective will make work easier and more enjoyable.
Talk to your team: Let them know how they can help you be the most effective as a part of the team.
For ADHD developers, working alone can be a struggle, but working together can be a game-changer. Mob programming and pair programming aren’t just effective development practices: they’re built-in focus tools that naturally align with how ADHD brains function best.
If you’ve never tried pairing or mobbing before, I highly recommend giving it a shot. In my next post, I’ll dive into another ADHD-friendly technique: Discovery Trees: how visualizing tasks prevents overwhelm and helps ADHD developers track progress effectively.