After you've read the blog posts and done your tiny test apps, where do you go from there learning a new technology?
- Personal side projects?
- Internal Tools?
- Production Code?
Personally, I don't usually have time to do a significant personal project with each new technology. What ends up happening is I look for the next small project that comes along and I start using my new ideas and technologies. Hopefully it's a small internal tool, but sometimes it ends up as production code sent to customers. There are a few projects in production that have pieces of TDD, IoC, Repository Pattern, etc (usually done incorrectly or incompletely because it was my first attempt).
How do you go about getting good at all this new stuff coming out in a real world setting? Is it just lots of refactoring?
Any tips or tricks or good advice?