I find pair programming a useful tool. It's great as patterns and practices are getting stood up on a team, for ramping new members, disseminating knowledge or for wrestling through novel code. As the article gets it, at can also be very emotionally draining so team members don't reach for enough on their own. As a lead, I regularly encourage or instruct my team to pair. However I also wouldn't make it an "always on" policy. It IS exhausting, and it is inefficient in many cases.
We've also adopted a few alternative practices (especially frequent "mob coding" sessions where we work through problems as an entire team rather than just pairs) that people find less draining.
We've also adopted a few alternative practices (especially frequent "mob coding" sessions where we work through problems as an entire team rather than just pairs) that people find less draining.