I’m a runner. I wasn’t always a runner. Three years ago, I couldn’t run a mile. I wanted to, but I wasn’t physically capable. So I started training with the Couch to 5K plan. Eventually, I ran a 5K – I did it! – even though I was a mess. I didn’t wear the best clothing. I ran slowly. I struggled to finish. I hurt for days afterward.
I’ve now run 10Ks, half marathons, and a marathon. I have moisture-wicking clothes. I’ve been doing speed training to cut down my time. I know how to pace myself so I can finish strong, and fast. I know what to stretch and ice afterwards to prevent soreness. How did I learn that those things would help me? I followed a training plan. I ran more. I ran longer distances. I ran faster. I tried new clothing. I talked to other runners. I stepped outside of my comfort zone.
I’m a SQL Server consultant and MCP, also. I wasn’t always a consultant, or an MCP. I started in IT on the help desk. After taking a SQL class, I volunteered to help the DBA write reports. I realized I really liked working with SQL Server, and that is what I wanted to do. I wasn’t good at SQL Server right away. I didn’t know the difference between backup recovery models. I couldn’t explain how clustered and nonclustered indexes worked. I didn’t know what a filegroup was.
Eventually, I was promoted to DBA. Now, I’m a consultant. I give presentations on Reporting Services and filegroups. I’ve put clustered SQL Server instances into production. I’m writing a book chapter on automating administration. How did I learn those things? Over the years, I’ve tried new things. I’ve read books and blogs. I’ve attended webcasts and presentations. I know far more about SQL Server than I used to – enough to help other people!
What is the connection between being a better runner and being a better SQL Server consultant? Both have taken time. Both have required me to try things – I’ve failed at some and succeeded at others, but learned from all of them – thus gaining experience. Both required training and dedication.
Create A SQL Server Training Plan
To improve your skills with SQL Server, possibly leading to a promotion or a new job or a speaking gig you really want, you need a training plan. Yes, a plan. One that has dates and actions. My current half marathon training plan is from Hal Hidgon’s website.
First, identify what you want to accomplish. I did not set out wanting to run a marathon. “I want to learn everything about SQL Server” is a big statement, and nearly impossible. It is too big of a product for one person to know everything. You will get lost and discouraged trying to do that. I set one goal at a time. I want to run my next half marathon in less than 2 hours and 10 minutes. I want to give an hour-long presentation on automating SQL Server administration. I want to pass the 70-461 Querying Microsoft SQL Server 2012 exam.
Second, identify your preferred training method. I love long runs – Saturday mornings are my time to run for hours and hours. You have many options. There are books and blogs you can read, webcasts you can watch, podcasts you can listen to, and in-person events to attend like user group meetings, SQL Saturdays, and PASS Summit. (Shameless plug: Brent Ozar PLF has a ton of great blogs, a free weekly webcast, and training classes.)
Third, find something outside your comfort zone. I hate speed work. I’ve tried fartleks, intervals, hills, and track workouts, and I dislike all of them equally. However, speed work has helped me get faster. Doing something outside of your comfort zone increases your skillset – and you may find something you enjoy! Answer forum questions. Create a presentation to give for a user group or virtual chapter. Try writing an instructional blog.
Fourth, create your training plan. I’ve already got my half marathon training plan printed and hung on my corkboard. Decide what book you are going to read or what set of webcasts you’re going to watch. Then – and this is the part people usually forget – set aside the time. Block out time on your calendar. Keep a book in plain sight. Every morning, when I wake up, I spend 15-30 minutes reading while I drink my first cup of coffee, before I go for a run or hit the weights. I just finished “Troubleshooting SQL Server – A Guide for the Accidental DBA” and now I’m working on “On Writing Well”. I have time blocked off on my calendar weekly to watch a PASS Summit presentation and a TED Talk. I go to a user group meeting monthly. These are things I have worked into my schedule because learning – training – is important to me.
Fifth, and most importantly, execute. Some days, I don’t even want to lace up my shoes. But I do. Some days you won’t feel like reading a book chapter, or writing even one page in Word. But you need to. If you don’t do it on the tough days, you won’t get where you want to be.
Training is Important
I’ve learned that no matter how much I want to be good at something, it doesn’t happen automatically. I have to invest time into preparing and training, whether that is by making time to run 4 or 5 days a week, or setting aside time to read blogs and try new SQL Server features. There is no substitute for hands-on experience. I have gotten better as a runner by running different roads, different distances, and different paces. I have grown as a SQL Server professional by working with different versions, trying new ways of writing queries, and investigating how things work.
To grow in your career, understand that there is no substitute for time and experience. Identify what you want to learn, determine how you learn best, set aside the time, and train!