So, you want to be a better programmer.
There is one simple step I recommend you do first, and right away.
Get an account on www.stackoverflow.com. Seriously! DO IT NOW!
If you've noticed if you google for programming related questions, thats the site you usually land on. But, I recommend (or demand) you register on the site and participate.
Yes, as soon as you'll join you'll have a reputation of 1 (one). And you'll wonder, Is StackOveflow a forum? a blog? A Wiki? Answer: It's a bit of all three. (Hey that rhymes!)
It's unique platform built sorely on Q&A so no discussion are generally allowed.
You can do very little when you start, you need to earn points (precious internet points) aka reputation. You need a certain reputation for a privilege, like even answer a question, edit posts etc. Yes, they're privileges. Heck once you reach 10K reputation you can even shut and delete peoples questions down and attain superpowers... in a sense.
Participate on stackoverflow. You'll learn a LOT. Some of the worlds best programmers are on there.
Heard of JQuery, well its inventor is on StackOverflow: John Resig, then there's one of the founders of modern computing : Alan Kay. Just to throw it in, he was one of the fathers of Object Oriented Programming. (Please read more about him). There is also Eric Lippert, who, when he was at Microsoft was important member of the C# Compiler Team. Yes, I'm not joking, look at his profile now and subscribe to his blog.
..BUT how ?... Here are some tips:
Since you need at least between 5 to 50 to do basic things best way to earn some points is :
(ordered by easiest to hard):
- Propose edits: StackOverflow gets 8k questions per day. See the newest questions page. Scan for questions that have a good deal of grammar, spelling and formatting issues. Click the "edit". Clean the question and save. Now, it'll go into a queue and a moderator will approve it if it is good and you'll earn 2 points.
- Ask a GOOD question: As a question, format it well, make sure it doesn't have grammar issues and include you code. Read this article : Writing the Perfect Question. If your question is well written someone might vote it up and you'll get 5 points.
- Answer a question : This is hard, with the worlds top programmers to compete with and all... but if you try hard, scan the pages based on tags like C# Questions : http://stackoverflow.com/questions/tagged/c%23 or Java : http://stackoverflow.com/questions/tagged/java
Trust me it'll help you learn more than any classroom, training or degree can every teach you.