Let's forget Twitter and Facebook for a bit. I think some of the most interesting opportunities are in industries not directly related to software, where creative application of software can make a huge difference. Octopart is a great example.
The reason there are many such opportunities is that very often software people focus their efforts on rehashing the same themes - software for developers, software for "business", social software, or software for its own sake. And the reason behind this is that many developers aren't exposed to the other industries - mechanical, chemical, transportation, hospitality, farming, industrial fishing... the list can go on and on.
So, a long-winded way to get to my question: Can you learn an industry without working in it, to the point where you can spot the gaps that can be filled with software? If so, how?
I realized however after talking to her boss that I couldn't just waltz in there and tell them I'd solve all their problems with my new shiny software app. I needed a connection, several steps up the corporate ladder to have any chance of landing that gig. Which in turn would require years of working within the corporation or at least experience in a related field to give me credibility (and designing/building web 2.0 apps doesn't count)
Something so simple to me was in fact tied up by a very traditional model where "who you know" is more important than what you know or what you can deliver.
Some uber geek walking in to your industrial fishing plant and offering to re design your software (for a fee of course) is not going to be welcomed with open arms. Pre-existing relationships are very important and still play a major role in where money gets spent (software industry or not).