My previous company is very famous for its pair programming, below are my thoughts

  • more efficient;
  • in conjunction with TDD, less bug;
  • easier to setup (when you are new);
  • know the whole project;
  • easy to transfer knowledge from senior to new comer;
  • as a single developer it is very easy to miss some possibility/risk for a solution, but for pair programming your pair may help you.
  • if your pair is sick (or in absence), then you can’t do anything, especially when you are new.
  • less private. I do think, especially in programming, sometimes you need to concentrate, you need to work alone; Working alone sometimes can reach higher quality;
  • Feel pressure when sb is “monitoring” you. I am not lazy just feel uncomfortable or if you can’t fix a problem you will feel pressure
  • ow to do it when we outsource a lot to India?