This is good advice. One thing that surprised me was viewing a long-term contract with a big company as a holy grail. That's different from my way of thinking. Also, I've never been tempted to double my rate for those; my instinct is to pass some of my overhead savings back to the client. I'd be interested to hear some elaboration on those topics.
A long-term contract with a big company paid for my first major down payment on my current house, helped me even qualify for the loan in the first place, and helped me get a huge head start on saving for retirement. When you find an opportunity where you can get paid your hourly rate and the number of billable hours is unlimited, my advice is to jump at it. Corporations are much more financially stable than small clients and often far more willing to pay for quality rather than penny pinch. You also have an opportunity to work on larger scale problems and meet other developers whom may provide you with future opportunities both from within that company and at any future company or ventures they join. The only problem is that it can start to feel like you're wearing golden handcuffs, especially if the work isn't rewarding. Just make sure not to do what I did and forego taking vacations and working too many hours during the week, because that can lead to burnout.
And as far as hourly rate goes, there's only two universal truths – you are either undercharging, or you are overcharging. Most freelancers undercharge by a wide margin, especially younger freelancers and engineers (who in my experience tend to be more humble and self-doubting). It sounds like you may be up against universal truth #2 and passing savings onto your client is a way to attract more business. You also sound like you're happy with the amount of money you're making which is great, but keep in mind that the amount of time you'll be able to continue doing what you're doing right now and make good money at it is finite. Also, think of it from the client's perspective; how often have they offered to double your rate to pass on some of their profits back to you? It's a business arrangement, not a friendship. Make sure you're getting something in return for discounting your rate, like future opportunities or referral opportunities.
It's important to keep in mind that there's no guarantee what you do will be in high demand for the next 10x years, and there's no guarantee you'll be able to or even want to continue doing it that long. Because freelancing does not scale like a company can you have to maximize your revenue as much as possible while you can and save as much as possible along the way. When you're done, you're done. You won't have ownership in a company you helped found or a pension from a company you worked for. You'll have whatever you set aside during the fat years.
Great followup, thanks. Getting a home loan is one time when it pays to be on board with a big company.
Good point about networking. My best networking came from mid-size companies (~100 people - for me that's a big company), because there was a good flow of new people coming through regularly from elsewhere in industry and I actually got to meet most of them.
In general, it seems to me that the best results came when a small, motivated group of people with money had an opportunity to make a lot more money by solving some hard problem before someone else did. In those cases, the payoff was very clear to them and they were ready to pay accordingly. Big companies do this, but they usually seem to do it by partnering with smaller companies or by doing a skunkworks project, often relying on outsiders.
I agree that not enough developers plan for a short career. One of the nice things about being independent is you don't get to fool yourself into thinking you'll have a job in a month.