Advice for the Freelance Developer
medium.com
medium.com
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.
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.