A little off tangent but this year I started volunteering for an organization called TEALS (http://tealsk12.org/) that's trying to address this by having developers teach into and AP computer science in high school. I'm currently teaching AP CS remotely to a school in Kentucky - it's extremely challenging and a huge time commitment but being able to get students excited about computer science and seeing them succeed in their programs is worth it.
I suggest everyone to check it out - if you're near a local school you can actually teach a class in person.
Also - if you have any questions feel free to email me - username @ gmail