It’s the second Tuesday of the month, a busy day for me. This is always exciting because it’s T-SQL Tuesday. This month’s blog challenge is hosted by Robert Davis (blog | Twitter). T-SQL Tuesday #008′s challenge is, “Gettin’ Schooled”.
“We return to our days of youth to take a fresh look at learning. How do you learn? How do you teach? What are you learning or teaching? Or the coup de grace post would be learning something new and telling us about it.
Being in the IT field, I realize I will always need to keep learning. That has never been a question in my mind. On any given day, I could pick 100 topics to learn about. And all of them will have new features and changes that I will need to keep up with. How do I keep up with all of this?
How do I learn?
I learn best when I can watch someone do something, ask them questions like, “Why did you do that instead of this?”, and then go off and try it myself. I really liked the classroom environments I had at my tech school, and I really enjoyed learning from my former boss. However, I am now the lone database professional at work, and I’m not currently attending school, so I’ve found other ways to keep up my studies.
I love to read. I read lots of tech books. I read lots of blogs. I read Books Online. Reading gives me step-by-step instructions I can follow. I can highlight and make notes on the paper. I can keep copies for future reference. I like to read multiple articles about the same subject so I can various perspectives on the matter.
I love to attend training sessions also, when I can, to watch people do things. There are lots of great webinars available, both live and on-demand. Most are free. I find my monthly SQL Server User Group meetings helpful, because I can watch a presentation on a subject, even if I don’t know much about it, and ask questions of the speaker. I can also hear other people’s questions, and the answers, and have multiple perspectives on a topic. Training events like SQL Saturdays are excellent events also, with one-hour sessions on a wide variety of topics, with the ability to ask questions and get answers.
Above all though, I learn by doing. I can read all I want, and watch other people do things all I want, but I won’t learn something, really, until I write the code or push the “Install” button. My biggest experience with this, so far, was setting up my first SQL Server from scratch. I had read about every aspect of it. I had watched webcasts. I had asked questions. But going through the process step-by-step, troubleshooting what went wrong, and documenting it, taught me far more than any reading could do.
I look forward to continuing to learn. Some of the topics I’m currently interested in are virtualization, performance tuning, and SSRS 2008.
How do I teach?
When I was a kid, I wanted to grow up to be a teacher. Entering the SQL Server field, though, I was wondering if I would ever know enough about anything to teach someone else. I’m learning that while I may not know as much about DBCC CHECKDB as Paul Randal, I do know how to write T-SQL, how to use SSRS, and how to solve business problems. And I have had the opportunity to teach people about these things more times than I imagined I would in the past year.
I’ve been able to help several people through Twitter – either questions they’ve asked me directly, or questions posted with the #sqlhelp hashtag. I also have helped people by blogging about problems I had, and how I solved them. I love hearing that I was able to teach someone something!
My biggest opportunity, and challenge, with teaching so far is that I was recently given a helper at work. I need assistance working through the backlog of report requests and projects, and our business analyst is a really smart young man who knows our a lot about our business and a little about SQL. I now get to teach him how to write code and build reports.
How am I doing this? Hopefully the right way!
I made a “lesson plan”: a list of what I think he needs to learn, from writing code without using SELECT *, to how to publish reports. I tried to figure out multiple resources for each item – a book, a webcast, sitting next to me and watching me do it.
I’ve given him the list of resources for each task. I’ve also had him sit next to me for a couple hours a day, watching what I’m doing. He asks a lot of questions, which I think is great. I take the time to explain things to him, and look something up if I don’t know the answer. I’ve given him “homework”, and he’s read the things I’ve asked him to, and come back with questions.
Now comes the most important part – the doing. I’ll have him start building his own reports this week, and hope he learns from doing it hands-on as much as I have.
The most exciting part of this, to me, is that as I teach him, I will learn more things! He may ask, “Why did you do that?”, and, “Because we’ve always done it that way” isn’t an answer I like to give. He many question why I did something one way, and inspire me to find another way to do it. He may want to do something neither of us have done before. He may have a used a tool I haven’t, and want to show it to me. This is really exciting!
It’s a Cycle
I need to learn things, so other people will teach me – through their books, their blogs, or by walking me through building an SSIS package. I will get to teach other people the things I’ve learned, whether it’s when I work with them, when I answer #sqlhelp questions on Twitter, or when I write blog posts.
I encourage everyone to keep learning, about whatever it is you are interested in. As you learn, you can teach other people, and you will learn more yourself. It’s a great, fun, productive cycle!