If a teenager took at
C++ course and didn't say he found it "challenging" then I'd be worried, but Andy is right, there is a certain mindset for being excellent at programming part of which is doing stuff for it's own sake, a pattern that I believe carries across to excellence in almost any subject.
The big noises in entrepreneurial activity in the West are currently based on computers and thus programming, the question is can you get to a useful level before the tides turn and something else takes over ?
I'm an occasional IT journalist and for a couple of years in the 1990s we seriously wondered if IT was finished, in the sense that everyone had what they needed, it was complete and the future was just maintenance and that day will come, but as we all know, not then.
Math finance is different because the internships actually mean something as they do in medicine or law. In IT they often do not and instead typically centre around you being found something to do that can't cause too much harm and that's for people more experienced than you.
I think the sweet spot may be charities...
Even allowing for the size of its economy, the USA has a surprisingly large charitable sector whose use of IT varies from the excellent to the luddite. One piece of pro-bono work I did last year was advising a very well known charitable trust how to mine it's database to identify potential donors and various other tricks to improve their revenue.
They came to me talking of a system that was locked down and incomprehensible, I sat in front of the screen and made it dance because actually it was just standard Microsoft SQL Server
This charity has a substantial turnover and I learned things about their business including that they had very different views on optimising revenue...
They are great places to learn new business ideas and unlike a commercial business they have this contradiction that they want money but they don't focus on it like a business; meaning that there are often some excellent quick wins where you can add a lot of value without being an IT guru or spending two years on a project.
For instance most galleries, theatres and museums have no idea at all who is coming through their doors; since about one person in a thousand can today write a cheque for a million bucks if they
really want to, it follows that serious donors have walked into your charity, liked it's work and left without any opportunity to help.
Charities have some serious experts on getting money out of people, learn from them and I will share that my various charitable activities have introduced me to some tier-1 name-droppingly famous people, some are also more wealthy than the bankers I work with.
One reason for that is that I (and I suspect you) are not like the standard person who wants to help a charity...
Many are "awareness raisers" a poisonous subset of any charitable activity who enjoy the glamorous bits of charities like producing media campaigns that say "AIDS is bad" rather than actually doing anything about it, others really want to do the thing the charity is for like personally helping people so that there is shortage of people to do not just IT but all the finance and admin activities and both factions try to avoid paying them properly with sometimes awful results.
You can learn a lot in that environment, make contacts and have some entries on your resume when you graduate that a rational Maths/CS grad (like I was) would kill for. "Identified major donors for a blind people's charity using SQL" looks just so much better than "spent six weeks at WalMart corporate HQ copying data from one format to another".
Be aware that a depressing % of all IT work is getting data between formats and places.
Also you get to do some good for the world, one trick that has served me well is not to care too much about which precise kind of "good" you do, charities have a lot of people who really really care about their thing, caring just enough to make you do a good job gives you the freedom to do it with excellence.