As patio11 says[1], 90% of all software is line of business software.
Where are the other 10% of jobs? How are they distributed? One or two people per company? (I worked for a company with 2 research-type engineers out of 10ish total.) How large is the team inside Google or Amazon? What are the qualifications needed to get into those positions? Are they significantly better paying? Are there more skilled people for these positions (like in academia), or more positions than skilled people?
Basically, it seems that there is some missing information about the market, and I'm not sure how much effort to put into training for a highly specific skill set without specific information about the potential benefits.
[1] http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/