Thoughts on Pair-Programming
Pair Programming is important. Because software development is more like a team football game, not a solo concert.
I believe there are generally two parts about programming. One part is when we work with the computer by interacting with codes; another part is when we interact with human, our teamates, with our own communication methods and attitudes.
Computers are stubborn; most of the time they do what you tell them to do and they are able to do the same task one million times a day without a word of complain. Human are different; human have emotions and our attitudes can be drastically different based on how we interact with each other. One of my mentor told me that “most software projects failed not because of technical difficulty, but because of human errors.” I truly believe in that. Rome is not built by a single man; in most software projects it is essential to have a team that is caring for each other.
This is why pair-programming is important. Pair-programming is a process when we try to be both emotionally and intellectually connected with another human being. It is a process when we can develop a team-chemistry and work more efficiently. Yes, sometimes it could be frustrating that my pair is somewhat behind on his technical knowledge and unable to grasp my logic, or my pair is way too advanced and going at a speed I cannot catch-up. But I believe being humble and honest is the best way to resolve our differences. Just be honest and tell my pair what I am thinking, what I am feeling. By being open and honest we eliminate misunderstandings. Pairing is caring; after-all, computers are not the most important things, human are. Any invention of technology is here to help improve our lives, to make our life happier, and to make human live at peace and harmony with each other.