![]()
At the end of 2022 we started experimenting with pair programming.
At first everything looked perfect: tasks get solved faster, quality goes up, the team is tighter. The first months confirmed it. We talked more, shared knowledge, learned from each other.
Then after six months the problems showed up. Working in pairs all the time was exhausting. People started avoiding it on simple tasks, just to get a breather. The director could not understand why two people work on one task while the speed does not double.
We had to revisit the approach.
Now we use pair work only for hard tasks. If something unusual or deep has to be figured out, two people join in. Pair programming became a tool for special cases.
And then a thought arrived: what if pair programming is only part of something bigger? A universal method that fits any hard task — engineering, business or creative. For many people this is probably obvious and has been for years. For me it was a discovery. Strip the specific context away and a simple but powerful idea is left…
Pair work creates conditions you cannot reach alone. People exchange experience, spot mistakes, learn right there in the process.
When a person works alone, they only see their part of the task. It is hard for them to hold the whole context or to notice the weak spots. In a pair one offers an idea and the other checks it immediately. Together they find the better solution faster.
Talking tasks through out loud helps surface problems early. What feels logical inside your head does not always survive a dialogue. Problems come up before they turn into bugs.
Pair work helps people learn. Knowledge is passed not through long instructions but right in the middle of a discussion. It is fast, it applies here and now, and it works.
On top of that, procrastinating together is nearly impossible. Shame in front of your partner will not let you drift off into social media. The work goes faster and with more focus.
But the most valuable part is that people start understanding each other better. Pair work creates an informal space where colleagues interact without formal team building. That makes the team stronger.
Pair work is a way to understand a task more deeply and to find the simple, correct solution. It makes the process clear and the result solid.
1. Start with yourself, start small
Do not try to roll pair work out across the whole team at once. That creates unnecessary resistance and makes everything harder.
Find one person who is willing to try. I arranged it with Dzimka, for example. I offered to work on a new task together. We discussed the problem, agreed who does what, and started.
That is how it all got going: the task was solved faster and with fewer corrections. Dzimka liked it, and he was happy to try the approach with the other guys.
2. Set the rules
For a practice to settle in, it needs regulations, reference points and best practices. I decided we needed some kind of "Mandatory development process". The idea was simple: give newcomers clear steps so they get up to speed faster. Of course it was "imposed" by me rather than worked out together.
On paper the process looked flawless: everything thought through, everything covered. Here is how it looked:
Take a task.
Find a pair.
Call the client and write the conversation down in the ticket.
Call the experts and the stakeholders. The experts on general questions are: CEO, COO, team lead, risk director.
If during the discussion anybody did not understand or did not know something about our product, code or business, that person writes a note into the documentation. The shorter the better.
Write the text of the test cases straight into the comments in Jira. Literally:
As an admin with such and such rights I go into the admin panel, into this section.
I press the (not yet existing) button that says "Download report".
The page reloads and the text "Report successfully scheduled" appears.
You have to write the main positive scenario and a couple of scenarios where an error is expected. Do not go overboard.
Of course the process did not become "mandatory". Rules handed down "from above" rarely take root.
I did not insist on following them. Everyone knew they existed. I knew they were not followed. Everyone knew that I knew. And I was fine with it. It even pleased me a little: the team was capable of ignoring idiotic imposed rules.
3. Learn to hate it and shake the nonsense off
Any practice is a crutch. We solve one problem and give birth to a pile of side effects, which sometimes turn out worse than the problem itself.
The same thing happened with pair work. The guys started getting tired of long sessions. They avoided pairing on tasks that looked clear to them. Our CEO was losing patience, not understanding why two developers do the same work, and do it at less than double the speed.
We came to the conclusion that pair work in its original form did not fit any more. It had to be shrunk.
Now the guys call for a partner only on big or hard tasks. The rest of the time they work alone. Pair work became a tool for special cases instead of a universal rule. The point is to use it where it actually pays off.
Pair work is not only for developers. It is a way to solve tasks together, where one person may miss something important and the other will see it.
It is useful where you need unusual solutions or have to dig into something hard. Engineering projects, creative tasks, even a strategy discussion — pair work helps.
Try it in your own field. It may become a handy tool that makes the hard things simpler and the work more interesting.