For me, the hard part is coming up with something "worth" taking the time and effort to go through with. I've had some ideas -- but I want to do something unique, that has a chance to really take off. But should I target the everyday user, or should I target businesses (who are less likely to pirate, from what I read)? Should I make something that has the chance to be wildly popular among all computer users, or that is targeted towards a niche audience?
The good thing about knowing how to program, though, is it's essentially all you need (besides a good idea) in order to make a living on your own.
Of course you need some other skills, such as marketing, but it seems to me, if you've got a program that does something that people think is useful enough to pay for, you're set.
Looking forward to what you guys have to say. For what it's worth, I also posted this topic on reddit (http://www.reddit.com/r/programming/comments/8f4dk/any_progr...) about a week ago.