If it's really something that needs to exist, the second step may be harder.
Maybe, maybe not. As discussed here before, many hacker types don't tend to think outside of a very limited domain of problems very well, leaving lots of potentially useful programs unwritten.
This is the question you should be asking! What needs to exist? If it happens to involve powerful algorithms, go for it. If not, go for it also. Unless of course you think you'd rather do something else...
Shoot. Can someone give this guy an upmod... I accidentally clicked the wrong little arrow. :-(
Done
I totally agree with this. That is why I'm building my product right now and not thinking of anything yet - but the product