John Sonmez runs the Simple Programmer website which is a great site for someone like myself who is self-learning to be a professional programmer. Its called simple programmer because a lot of programming technology is actually quite simple to learn if you break it down to learning just enough to get started on your own instead of trying to learn everything.
John is also really big on the idea of blogging in order to become known and has a Blogging Course which I am now taking. The main idea of this course is that you should specialize in some area of programming and become an expert in it so that you are sought out for work instead of having to look for work with only general knowledge. I like this idea a lot because I would like to become a freelance programmer. I also like the idea on the macro economic level because if everyone did this it would make a better and more efficient tech industry because software companies could easily find the exact people they need instead of wasting time training. So its higher pay for the worker who gets hired as a consultant and quicker and more advanced work getting done for the company hiring the consultant.
I haven't decided on my specialty yet, I am mainly learning mobile programming, right now mostly Android and later more iOS. I want to be able to do back end web programming at some point because I think there is a lot of potential to improve on the social networking sites out there. Mobile social apps also depend on backend frameworks. For this course I am specializing in programmable interfaces for mobile devices even though I have very limited understanding of how to make APIs for mobile apps and extend them with wrappers.