What should I do?
First of all, let me tell you more about myself. I'm a 16 year old developer and I have lots of experience in designing backends for small-scale as well as large-scale multi-server distributed systems. I know lots of programming paradigms, practices and a multitude of languages including but not limited to PHP, Python, JavaScript, Java, C#, C++, Haskell and have experience with MySQL, MongoDB and SQLite database systems.
I also have extensive knowledge and some experience with systems administration and network engineering in both *NIX and Windows. I've also tried my hand at physical computing with Arduino but left it after getting bored.
I'm really interested in learning web design practices and aesthetics and have found a few interesting resources and books for it. I'm still trying to learn more about it though.
Now, the big question in my mind is this: how can I effectively utilize my skillset and make something useful? I have had a few ideas in mind and have also done some market research and guess what, nothing like what I think of exists!
Should I start working on this idea of mine immediately? Or should I wait until I find something better and maybe more useful?
I've sometimes had some ideas and did some groundwork for them but couldn't manage to continue them, due to lack of interest and boredom. What's the best way to eradicate this pest?
I find that I often need some sort of incentive to learn something, and mostly its a paid project. Is there any better way to incentivize myself to learn?