Right now code reviews seem to be what everyone is pushing. TDD is good, but code reviews are better. I recently read "Best Kept Secrets of Peer Code Review" which says about the same thing.
Code reviews can be hard to come by. Some companies just don't want do dedicate the time to doing code reviews.
However, something that is almost as good as code reviews are tech sites like Experts-Exchange. These sites will not find the flaws in your programming, but one of the benefits touted by code reviews is that they help you learn new and better ways of doing things. These forums for problems and questions that people have do the same thing.
If you can't do code reviews, I suggest finding a site that deals with questions of the system that you work in and join, participate, ask questions, and watch what other experts post. You may learn some junky way to solve problems, but one thing that seems to be universal in programming. The people who are really good at it, like to help others. That's why they write books, blog, and participate at these sites.
You may be thinking, but I can just follow blogs to see what's going on. That's true, you can and should do that too. But the forums that are open for anything are where you find people asking questions about how to do something that you never even though to attempt. And while you may not know the answer, you'll likely be able to read the wisdom of someone else that already struggled through it. Don't wait until you have a question that you can't answer, find out what questions others can't answer, and the answers that are given to them, become knowledge for you. You won't even get to the point where you have to ask the question because you already know the answer. And some of the oddball questions, may open your mind to providing an entirely different solution than you had ever considered before.