This post is a response to this month's T-SQL Tuesday prompt created by Mala Mahadevan . T-SQL Tuesday was created by Adam Machanic and is a way for SQL users to share ideas about interesting topics. This month's topic is Setting Learning Goals for 2018 .
What do I want to learn in 2018?
Next year I'm going to strive to learn more about tasks usually reserved for a DBA - backups, replication, user and role permissions, etc...
As a developer, I am generally isolated from the day-to-day work of a DBA. Not that I necessarily want to be responsible for a system's backups (and restorations!), but I do feel that I am missing out on a broader understanding of SQL Server by never having to perform these tasks myself.
I like being able to do-all-of-the-things, or at least know how to do them, because I think it makes me a better developer and a better architect of solutions. By not having an expert knowledge of things like availability groups, I feel like it hurts me when it comes time to architect solutions.
The learning process
I like to learn by doing. Since I'm not planning on becoming a DBA anytime soon, I'll need to create my own scenarios to learn how these different DBA specific features of SQL Server work.
This won't give me real-world experience, but for the most part I am ok with that - I'm trying to learn more details on the broader concepts rather than the nitty gritty of various real-world scenarios.
The best way I've found to learn by doing in this academic sense is through blogging. I like blogging because it forces me to learn a concept well enough to be able to articulate it back easily to my readers (hi mom!).
Blogging forces you to create demos that point out features that are critical to understanding a demo. If I can create a demo that recreates a real-world scenario, then my understanding of that problem in the real-world will be pretty good; at least way better than if I just read a book or MSDN article.
Blogging is all good and fun, but the best way I've found to really understand a topic is to present it. If you can teach someone else then you have a pretty good handle on the content.
Now, I'm not aspiring to give a 500-level talk about disaster-recovery planning, but I do think I can learn enough to present some 100-level topics to SQL Server beginners who are just a few books online articles behind me.
The best part about presenting is that you will have people smarter than you in the room with you. Or at least people who have a different perspective about the topic than you. These people will generally ask really good questions that... you don't know the answer to!
But there's no shame in saying you don't know the answer. It's actually a wonderful opportunity - after the presentation, you can take your time and learn the solution. Then blog about it so others can know the answer too. Then incorporate into your future presentations. It's a beautiful cycle.