One very interesting realization I had looking through the data is that software development, at the median, isn't an especially well paid field. Dental Hygenists in SF earn almost as much at the median, and registered nurses earn much more.
Overall, I think a big part of why this "shortage" exists is that the work is very difficult for the pay, and that career stability and age related employment issues may actually be considerably worse.
I know this is hard for employers to accept, but salaries may have to rise dramatically before people with citizenship or residency status that allows for career choice are willing to commit to software development. For now, I really do think one reason we are able to staff these positions at "market rate" is that we have created a visa program that essentially prevents a large number of tech workers from changing fields (i.e.., there are serious obstacles to coming to the US on an H1B as a software developer and deciding to retrain as a dental hygienist, this kind of personal and professional freedom is not permitted under this visa).
Role 1: top to bottom web app security, server ops, zero downtime rollouts, performance and architecture (shared)
Role 2: metrics/instrumentation, fully-independent backend, HTML/CSS/JS skills, integrating third-party modules, performance and architecture (shared)
Role 3: managing technical vendor relationships, work the indirectly technical parts, technical hiring, capacity planning, expectations management, performance and architecture (shared)
These are still three pretty loaded-up people! Even if there was one person capable of and willing to do this all, their current job title is likely "founder of their own startup".
I'm doing a decent chunk of that, aware of the parts I'm doing shitty, and that is my job title. :)
I was talking recruiting with a mentor. He said some of his best hires were founders he met at startup events looking to regroup and earn a paycheck after the failure of their own startup. Dark—but insightful.
[1] http://data.bls.gov/oes/search.jsp?data_tool=OES