If you want an average successful life, it doesn’t take much planning. Just stay out of trouble, go to school, and apply for jobs you might like. But if you want something extraordinary, you have two paths:
1. Become the best at one specific thing.
2. Become very good (top 25%) at two or more things.
The first strategy is difficult to the point of near impossibility. The second strategy is fairly easy.[0]
I used to do 1.) and now I focus on 2.). Its been very effective for my career and general happiness. I consider myself a dreamer and this philosophy leads me to generate very actionable ideas. If you can read code and understand what code does - you're well on your way to being in the top 25% of people working in IT. Getting into the top 25% of programmers is probably easier than you think.[1] There are so many careers where even a basic understanding of coding will give you a huge advantage. You'll be a superhero if you take these skills to a job where you're surrounded by non-programmers. Seriously.
One more thing: C++ is not a wise choice for a first language. Its fucking hard. Python is considered a good choice to learn programming.
What you say about being surrounded by non-programmers is spot on. The way I got my start (and initial boost of self confidence), I was the only one who knew programming in a small business (about 200 employees). And what I was doing wasn't much, mostly just writing report generator programs using Awk and shell scripts). But it got so much attention that it was like lighting a rocket under my self esteem, enough so that I went on to be proficient enough in C (this is before C++ was mainstream) to code up some fairly interesting projects.
If you want an average successful life, it doesn’t take much planning. Just stay out of trouble, go to school, and apply for jobs you might like. But if you want something extraordinary, you have two paths:
1. Become the best at one specific thing.
2. Become very good (top 25%) at two or more things.
The first strategy is difficult to the point of near impossibility. The second strategy is fairly easy.[0]
I used to do 1.) and now I focus on 2.). Its been very effective for my career and general happiness. I consider myself a dreamer and this philosophy leads me to generate very actionable ideas. If you can read code and understand what code does - you're well on your way to being in the top 25% of people working in IT. Getting into the top 25% of programmers is probably easier than you think.[1] There are so many careers where even a basic understanding of coding will give you a huge advantage. You'll be a superhero if you take these skills to a job where you're surrounded by non-programmers. Seriously.
One more thing: C++ is not a wise choice for a first language. Its fucking hard. Python is considered a good choice to learn programming.
[0] http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...
[1] http://www.codinghorror.com/blog/2007/02/why-cant-programmer...