There was a mention in the Java Posse Podcast about how teams should be divided up into pairs. However, there was a mention from the lady on the podcast that: "Pairs should be mixed up [sic]" (an encouragement for diversity)
I understand the benefits of pair programming, but what benefit is there to intentionally mix people up. To me it would seem that it would be better to take a genetic algorithm like approach to find optimal groups to generate pairs.
An example: Let's say you have a tax developer and a front end developer how would either of these guys benefit from the intentional mixing of peer groups? Why did her assertion go unchallenged? (I got the sense that she was advising that it should go cross groups and development tiers)