Everyone wants the "cool" job building websites and consumer facing apps in Rails and Node, and so they all compete for those $120k developer jobs here in San Francisco. No one is competing to add a new input line to an old COBOL program at a factory outside of Detroit that actually makes something.
San Francisco and New York are where people to go to write software for the internet, and internet connected things, but most software running today that powers small industry and manufacturing, at least in the US, is old and disconnected. Maybe they manufacture soap or water bottles, who knows. Pretty much any small company that has "Since 19xx" anywhere near their logo is probably in need of help somewhere. I used to work in an industrial park with no less than two dozen of these kinds of companies. Not once did a software engineer, or firm, or anyone drop in, and yet I know that pretty much every business there had an aging system in need if upgrades or repair. Some move to turnkey solutions, but most need something a little custom because they have custom machinery somewhere in the building.
There are a lot of professions that pay much better than writing software, that is clear, despite our massive egos we must admit that (unless you work for one of the few tech companies that can pay exorbitantly, but usually then you are sacrificing the rest of your life). If you want to make $300k+ your best bet is to be a really good salesperson. It probably has the best ratio of low education costs / high potential salary.