From what I've gathered, it seems that one of the most important things that you need in order to get someone to pay you to program (yes, eventually you'll need someone to pay you to do it), is to have some kind of demonstration of your abilities. I'm talking side projects. It makes sense though, you learn, you practice, and you have a side project to show for it. So, I've started a list of things I would like to learn and a side project that can go with learning that skill. However, one of the things that I think would make me a better programmer is looking at other people's code. For myself, one of the best ways to accomplish this was to work on a FOSS project. When I first started looking around I didn't know where to start and how I would start working on something. A couple of weeks later, I don't know how I will be able to focus on one project when there are so many things you can do. When I first started looking I got a little lucky, I absolutely adore quora.com. I noticed that someone asked the exact question that had been on my mind, "Which open source projects are simple enough for beginners to start working on?" Yes! Exactly! So this led me to bugzilla.com or more specifically joshmatthews.net/bugsahoy/, where there you can sort the available Mozilla bug fixes by project type, language, and if they are a "good first bug." In addition, the developer pages, which includes pages for new contributors, are clear and easy to understand for the beginner. It's hard enough to be thrown in a new project, but even harder when people expect you to know information that is cryptically conveyed.
After building firefox into an isolated Linux virtual machine, I realize the gap between taking CS classes and working on a project in the real world. First, I take a look at the code. You would expect that these projects would contain massive amounts of code separated into many files. Even knowing this, when I first opened it up and started looking around all I could say is wow! Wow! I'm still speechless at the number of files and lines of code.