Pair programming is a central element in Extreme Programming (XP) and its correct practice dramatically improves software quality. The technique is however quite difficult to master, and not doing it properly will not only be frustrating for the developers but also a waste of the company resources. This talk introduces different approaches to the technique and shows the audience how to avoid the common pitfalls that developers will encounter in their path to effective pair programming.