Just watched this David Heinemeier Hansson talk from Startup School. This is a great thing to watch if you're starting a career as a developer, or ten years along.
His basic point is this. Lots of times developers might see their range of options as working as an employee, or founding a venture-funded startup. Those can be great options in the right situations, I enjoyed working at Red Hat and am enjoying the startup I'm a part of now.
There's an under-considered third option: create a small, sustainable business. Sometime since the dot-com boom (back then everyone was buying huge racks of Sun servers), it became possible to launch a web app or web site for almost no up-front investment. You can buy just one server in a colo, or even better, use flexible utility services such as Google App Engine, Amazon EC2, or Mosso.
There are inexpensive, pay-as-you-go, automated ways to do all the mechanics of a business, such as collecting payment (PayPal, Google Checkout, Amazon) and advertising (both buying ads and selling ad space). None of these have up-front fixed costs.
If you want to be old school you could even create a non-web app and sell that. I guess there's nothing 100% new here; developers have been writing shareware and doing freelance work forever.
Whatever the details, as a software developer all indications are that you can start a simple small business with just your own skills. The only investment will be your living expenses. There are many ways to cover living expenses (consulting/freelance, savings, mooching). It helps if you live well within your means.
Disclaimer: I haven't done this myself. I've been fortunate enough to find other stuff I wanted to do and people I wanted to work with. But I have seriously considered it. A while back I tried figuring out in detail how I'd do it. I came up with numbers pretty similar to the ones David Heinemeier Hansson mentions in his talk.
If you find something you can charge $5/month for, or better $40/month for, the number of customers you need to match typical software developer salaries just isn't that high. Make a spreadsheet and play with your own numbers to prove it to yourself.
Your product can be niche, or regional, and still be worth your time.
Coming up with product ideas is hard, but it's a lot easier if you're trying to come up with something small a few people might want, instead of trying to invent a product worth hundreds of millions.
Why is this huge? Think of the confidence and independence it should give you to know that by yourself, or with a couple friends, you can go earn money directly. Employers and investors have advantages and often make sense to work with, but if the relationship isn't mutually beneficial, you don't need it. That's a great thing about software development as a career in 2008.
Even if you never end up starting your own business, you'll be a much more valuable employee (and earn what you're worth) if you have all the skills you'd need to go out on your own. Learn something about UI design and financial math and marketing and legal issues. Why stick only to code? The world is a complicated place.
Surely it's a worthwhile exercise for all developers to work through what they could do on their own - what they could contribute to the world, what they could earn, and what their quality of life could be like. Identify any missing skills. Develop a concrete plan. Then use your plan as a baseline when choosing people and companies to work with. Why settle for less?