Side Projects - Mongly
To me the difference in the quality of code between a developer that works on his own project and one that doesn't has always been obvious (as a general rule). It really doesn't matter what it is, so long as you take the opportunity to try new stuff. When you're doing stuff on your own projects, on your own time, you don't have the same constraints as work you do for work. You get to try new solutions and learn from more failures, which can then be applied to your next project.
In that spirit, a few weeks ago I release an open source web admin for mongodb. I had a couple reasons to do this. First, I wanted something better than the shell for dealing with our growing data. Second, a growing amount of mogade's code is moving towards MongodDB's raw ruby drivers - rather than the MongoMapper wrapper. This project gave me some pretty good hands on experience and helped me get a lot more comfortable than I had been.
As I was writing the admin, I realized that someone could make a nice MongoDB tutorial out of it. So, this past friday, I released such a tutorial at www.openmymind.net/mongly/. So far, it has been very well received. I didn't learn too much from it, but it was still a fun project that I hope will prove useful.
My personal preference for learning isn't to read books, or watch videos, but always to try things hands on and use the vast amount of free information as needed. To me, this type of interactive tutorial is a nice hybrid approach - it's to the point and relatively quick. Best of all, once you are done, you can play around and try out whatever you want.
So, if you're interested in learning more about MongoDB - which I remain a serious fan of - do check out www.openmymind.net/mongly/. At worst, you'll have lost 15 minutes.