What all do you need to do and have to be a Computer and Program Designer?
It sounds like you are learning a lot of the same technologies that I use daily. I agree that taking an aptitude test can help you in deciding what to do for a career, though it sounds like you are very interested in software development. I'm not familiar with Code School, but took a look at the content and think that if you are enjoying the path that it's taking you on, you could likely enjoy what Free Code Camp has to offer (http://www.freecodecamp.com/). Their site will walk you through an entire curriculum that should prepare you for a career in the upcoming "New Web" era.
I'd suggest taking some time to analyze all of the various types of software development positions that are out there. There really are all sorts of niches and each of those require different skills and experience with different technologies and platforms. Would you enjoy building web applications? Mobile? Would you prefer to work building financial software for the largest banks in the world or would you prefer a cozy 25-person team building a video game? What about specializing in the software that goes into the medical devices of tomorrow?
Finally, do some reading up on the "software development life cycle" (SDLC), agile, scrum, and waterfall methodologies, test driven development, and automated software testing. Those topics should get you linked into some of the things that a Software Developer does in the time that they're not "head-down coding".
There has never been a better time to be self-taught. If you want to make the leap from learning how to be a programmer to actually doing it for a living, it's important to have some way to show people you can really do the job. The traditional route is to get a Computer Science or related degree, but these days, there are many alternate ways to build a portfolio that can demonstrate your ability. I'm not familiar with Free Code Camp mentioned in the other answer, but just looking at it, sounds like it might be a good source to even get some real world experience.
There are still many employers that will strongly prefer or even require a degree, so not having one might limit your options, but you'll still have some. On the other hand, if you build some real-world stuff, that will help you even if you DO get that degree, so I'd recommend it either way.
The other thing I'll mention is that, once you know the basics, just pick an idea that you think would be fun. I used to write little games when I was a kid - just for myself. They weren't very good games, but they worked and they were completely my own creation and I found it very rewarding. It doesn't have to be a game and it doesn't even have to be a terribly original idea. Build a mobile app to manage keep track of your learning goals. Create a model simulating the spread of a zombie outbreak. Just something that's FUN to work on. There will be many little problems that come up along the way to finishing your fun project and they are all excellent learning experiences. But they're not necessarily fun problems to solve unless you already think the project is fun, so that can really help with staying motivated when teaching yourself. Also, if you're lucky, you'll have something to share at the end that can demonstrate you really know what you are doing.
Jason recommends the following next steps: