I'm a sophomore in high school and I completely understand your dilema. I would say just _do_ it. Build the app (or other type of project) you've always wanted to, and complete every part of it. You'll need to hire a designer if you want people to use it, but many professional designers are willing to trade services, so you don't need to spend anything there. What you do after you release your product depends on what it is. If it's a web app, then launch it on a good server, but something that doesn't cost too much. I'd recommend an EC2 server which is relatively low cost and gives you a free trial long enough to see what users will think of it before you make too big of an investment. If it looks like it's going to be successful, then you just succeeded in your goal. If not, you only made a small investment and try not to get discouraged; build something else.<p>Apart from that, I would recommend you join forrst if you haven't already. If you haven't and need an invite, I can giv you one. Forrst really helped my programming skills go from just a hobby to something that people ask to hire me for without me ever having to search for clients.<p>Forrst also helped me get my name out there. It's made my posts visible to enough developers that I've had my stuff tweeted about by people with over 20,000 followers.<p>But above all I'd recommend to just learn as much as you can and get as much experience as possible. If you want to make a career out of it (which seems like a good fit for you), there's no such thing as too much knowledge or experience, it's what can separate you from the crowd. If you can finish college with a degree in another science field _and_ 6 or so years of real life programming experience, you'll be leagues ahead of the competition.<p>Best of luck!