I have recently learned c++, I'm 14 and want to get started on developing software. The problem is I'm too young to get a career in programming but I would like to start now partly to make it easier in later life and partly because I enjoy programming. The problem is I can't see how and what software I should create or should I help with open source projects. Could someone suggest something I could do.

Do you have a handle on C++ fundamentals as well as the primary algorithms and data structures? If not, you'd best focus on those things for a bit. Once you get into real world development, strong fundamentals will be your biggest asset. And if you jump in too soon, you'll either be overwhelmed, or end up learning a lot of bad habits from being forced to work around a lack of fundamentals.

Be able to take advantage of every feature of C++, including the STL.

Study Algorithms, Data structures, and other misc. Computer Science stuff--like Artficial Intelligence, etc.

For instance a DFA/NDFA/FSM comes in REAL handy sometimes: http://en.wikipedia.org/wiki/Finite-state_machine

Calculus too.

Since you're still 14, think of something that would help you program-wise. Is there a particular math class you're taking and want to speed up the process? Write a small program to compute the answer and the steps needed to get the answer since most teachers have you do the steps otherwise it's a 0 (say Geometry / Algebra / etc). Have a history/literature test coming up? Simple, write a program that'll randomize questions/answers and tell you if you're right/wrong and the % correct. Start from the bottom with the easy programs and work your way up.

Thanks. I think I will start with Zerconian's suggestion.