Yay! Everyone start their own company! I mean why not? Who needs salaried work? It's just so easy and risk-free if you already know how to program!
Come on now, start a company when you've identified a problem that really needs a fix, and that has a huge potential of profit. A great way to find that problem is in a paid position. Starting a company for the sake of starting a company won't get you anywhere.
I'd started my own company at one point, and utterly failed at it... didn't enjoy it at all, and it wasn't at all freeing.. in fact I never felt more constrained.
I also spent 8 months in a Director level position, managing several teams and several projects. Also much more constrained. Though, I did learn that there is far more mediocrity in the majority of programmers than greatness at that time.
Now, I'm much more about putting in my time, making the projects I work on better when I leave than when I start. I enjoy contract work as I get to learn new things constantly (___domain knowledge in diverse cultures), which to me is a lot of fun. Right now, I'm working for an internal development operations group, which means creating services for other development groups... It's interesting for the moment, though I'm enjoying the slower pace so far.
I spent the last year and a half before where I am working on changing the environment of a set of very stale projects that had become maintenance nightmares, and bringing them into more current structures. Enhancing the UI as well as simplifying other systems. It really depends.
Come on now, start a company when you've identified a problem that really needs a fix, and that has a huge potential of profit. A great way to find that problem is in a paid position. Starting a company for the sake of starting a company won't get you anywhere.