I'm at the point where I think the smartest advice, by default, to give to any software engineer (probably folks in any field) is to intentionally lead a hybrid lifestyle: 1) hold down a "day job" for the steady paychecks; while 2) be working towards a business of your own on the side. That way you get the best of both worlds. The safety of "guaranteed" income (plus lots of other benefits of being an employee) while also increasing your odds of getting the much higher income ceiling, and asynchronous pay, and greater freedom/control, and ROWE, from owning/selling a business. Plus when you work for others you're almost always pigeon-holed into certain narrow roles, whereas if you are The Man you can pick and choose roles better and take on a wider variety of roles, which in turn helps justify larger total eventual payoff.
Depends on what you want to do. Some mobile apps or small webapps might work, but anything more ambitous will suffer from the time tradeoffs you have to make.
What i learned from constantly doing things on the side: If you are really passionate about an idea, dedicate all your time to it.