Since when is it absurd that a developer makes that anyways; one could argue it is software engineering or a science that has highly technical skills and creates something. About half of the developers I have worked with are some of the smartest people I know, it all areas not just development. Though a lot of "programmers" aren't really there, there is a big difference between a programmer and a developer.
Also as much as I think police officers are under payed those are the ones who didn't have to invest as much time into obtaining a technical degree and also continue to learn new technologies and is a horrible comparison. The teacher one is fairly more comparable but I think everyone can agree our schools are a mess.
Very true, some of my peers work places where they have basically marked all of their old products legacy that were outsourced in the past and are doing a full rewrite with developers here. One very large company that makes a lot of money printing cards had outsourced almost all of their software for many years. One of their current devs is in charge of basically just designing all new versions from the ground up; the business guys at the top wanted them to take the existing code and reuse it but after much debate she explained that it was so bad it would take longer to dissect it figure out what's going on update it and build tests instead of just start from scratch. Many companies that have outsourced in the past are suffering from this now.
Outsourcing isn't as popular as it used to be. Employers are discovering that there are all sorts of hidden costs and drawbacks to the practice that end up hurting in the long run. In other words, hiring locally is actually cheaper and better.
Outsourcing is fairly common in the industry for art assets, but not programmers.