The opposite of “pair programming” isn’t “developing solo”.
Like I said above, most problems that developers are working on everyday isn’t some complex algorithm it’s translating business requirements to code.
Collaboration is often definitely better than developing solo but it isn’t “pair programming”. But developing solo can be faster. The more developers you add to a feature, the more communication and coordination overhead you have (The Mythical Man Month a book written in the 60s). Honestly, we’ve found that three people working on three separate features solo can get more done than three people working on the same feature over the same amount of time. Again we make it a point to switch up so we can see the whole picture.
When the product owner comes in and realizes we didn’t consider something, it’s almost always faster to have that one person who knows how the change will affect the whole stack - UI/Back end/database/deployment, infrastructure requirements than to have five people trying to coordinate the change.
Collobaration can mean “war rooming” or “swarming”.
War rooming for example is getting your back end and front end developer together in a room along with your QA person, your Devops, and your product owner working on their piece of the feature, rapidly iterating.
I work on a team where each developer can easily go back and forth between the three languages we use (JS/C#/Python), front end development in React, database design, Devops with CloudFormation, CodeBuild, Code Deploy and Code Pipeline sometime we will split up the parts. Other times one person will do a quick design session, do the whole stack, do a post review along with design docs in MarkDown.
If you have well rounded developers, they will often switch roles on the next feature just to have knowledge and a different perspective.