Software development is rarely a lone activity; it is a social sport, a people pursuit. A good programmer is able to work well with the other inhabitants of the software factory. To become a better programmer, you must learn how to work effectively with others, and how to learn from them.