I'm finding this quite appropriate right now given a recent blog post by Buck Woody (blog|blog|blog|twitter) based around creating a "SQL Server Professional Development Plan" (go give that a read by the way).
In his article Buck talks about foundation learning and educating yourself about a possible career and it's opportunities. This took me back, back, back a little further and then back a tad more than that to when I was in school. As a 13 year old kid I was a bit of a smart arse (some things never change). I had gotten to grips with a ZX81 and the ZX Spectrum and could see that computers were the way forward. It had reached a point in my schooling age where we had to choose our options for the next couple of years of study. For me it was a simple choice. I was going to take computers for two years, then go to college and take Computer Science. Sweet!
I put in my options and was very excited the next week when I got back my class schedule. I opened my schedule and to my absolute horror I was stuck with taking geography instead. Upon asking the reason for this I was advised that the school felt I would be wasted in the computer class and was much better suited to geography. I still don't know why they called it geography as it all seemed to be about geology.
The bitter taste of geography did not sit well, it really put a complete dampener on education for me and I never did wind up going to college.
Many years later I found myself interviewing for a job at a company for overnight work (never fun) which consisted of changing backup tapes and watching some monitors for alarms. If an alarm came in I was to call the oncall person and then they would fix it.
That was 10 years ago (oh and Jorge, Arcserve sucked back then too).
I did the changing of the tapes and I called people when things broke. Here's the problem with that...it's BORING!
After a couple of weeks I started engaging with the oncall folks on the issues. Let me help I told them. I'll help with the bad things "I want your drama". My reasoning was that if they helped me understand what was broken and how it could be fixed then I wouldn't need to call anyone the next time. This would allow the team to have an improved quality of life and eliminate the Lady Gaga oncall person, you know the type....
Helping these folks out got me a solid grounding in Windows NT 4.0 and 2000.
Now that everyone knew I could do more than stare at flashing lights they asked me to help with the rollouts of the web stuff, so I got started with using SiteServ.
One day the boss came to me and said that I'd been doing some good work, that we had this big upgrade from SQL 7.0 to SQL 2000 that was going to take place and would I like to be involved. My first response was "I'd love to, sounds awesome". My second was "so what's SQL?".
I worked with that team for a few years, they taught me a great deal.
One of my fondest memories of those early days of SQL for me was being made fun of for using Enterprise Manager. I was told in no uncertain terms that if I ever wanted to amount to anything as a DBA that I had to learn T-SQL and I had to use it for the powers of good (ie for admin purposes, not for development).
That has held me in good sway over the years and it's something I still force myself to do today. As much as possible I will use T-SQL to perform a task. Now I'm taking it a step further and I'm using powershell to do things that previously I would never have considered using a scripting language for. As an example, today I took a script I already had, made a very quick change and had something running in 5 minutes that gave me the size of every drive C on all of my servers.
In a roundabout way this get's me to my point. Learning. I learn by doing. I have books a plenty, but nothing sinks into my brain until I actually do it.
The old saying is that practice makes perfect. We learn by doing. So go out, get your hands dirty, buy yourself a license for SQL 2008 Developer Edition it's only $50. Once you have it install it somewhere. Corrupt some databases, recovery from the corruption. Create some databases, write some queries, have some fun with it. Once you start playing you'll start learning.
Go out, get yer learnin on!