The problem I've had with outsourcing is the treating of programmers like bodies. It seems like just when I've developed a good rapport with our programmers they are gone. Months of development knowledge, API knowledge, etc are right out the door.<p>My job requires me to train my replacement on our APIs if I leave. Over there, I guess it's not the same. When a programmer leaves I'm not given any notice. Just a new contact, who I then have to give the documentation, explain the work, and guide with the work. And this has happened to me 3 times in the last year.<p>Other than that, the guys are fantastic and good at their job.