Some things that I could have done better would have been to learn some more basic fundamentals. The sort of (arguably pointless) stuff that they grill you at some interviews about.
That, and learning the jargon. After years of hacking away at my own things, there were a number of times where I was conversation with someone, and we were talking about something - patterns/concepts, and I can tell you everything I know about it. Except what it's called!
This is all the sort of stuff that you'll pick up in CS, should you opt for that. But personally, I think having the opportunity to go into another field and still being able to keep up your programming on the side, can be really rewarding. Having done that, I'm working alongside CS majors -- but in the back of my mind, on top of all that I do now, I have years of Master's level physics creeping around.
So, when you get to the age you start applying to schools, think twice before just jumping straight to CS if you already know your stuff.