For this month’s T-SQL Tuesday, Mal asked us to blog about our 2018 learning goals. Her homework assignment included these 3 questions:
What do I plan to learn?
I like being at the cutting edge, learning things today that people are going to pay a lot for 5-10 years from now. I like to skate to where the puck is going. If a technology is already popular, then it’s too late for me to start learning it.
In the early to mid 2000s, that meant learning virtualization, which paid off really well as that grew wildly in popularity. Then around 2008, I switched to working with SQL Server in the cloud, and that’s obviously doing well these days. Good bets there.
After working in production in the cloud for more than a year or two, the next move is always totally obvious: cost reduction.
It reminds me of a company I worked for long ago back before cell phones were popular. This company would go into hotels, get a copy of the long distance phone bill, analyze it, and then say, “If you pay us $X, and let us manage your phone contracts, we guarantee that your phone profits will go up at least $2X.” It was a total no-brainer for the hotels, and the company did really well.
That same business model is coming in the cloud.
Your company’s cloud bill can go down based on the changes you make. If you can tweak the right 5 stored procedures and add the right 7 indexes, you might be able to change your instance size and see the savings the very next day. That’s awesome for consultants – I can say, “Based on the metrics I’m seeing, I guarantee this engagement will pay for itself within the first X weeks, or your money back.”
But app & database changes are a whole lot harder than negotiating phone contracts.
The biggest obstacle to reduced cloud costs is getting people to actually take the necessary actions – putting the proc or index changes into production.
So for 2018, I’m learning to implement gamification techniques. I’m not ready to talk about the specifics yet, but let’s take sp_Blitz as an example: what if you could earn badges and points for fixing problems on your SQL Servers? Or earn badges for facing a really unusual issue? What if you could show your boss your server management score and track it over time? What if you could compete on a leaderboard with other people managing SharePoint servers to see how you were doing?
How & when do I learn?
I like learning WHY to do something by listening to podcasts. I walk Ernie ~10 hours per week, and I like using that time to learn from people in different disciplines. Startups for the Rest of Us is one of my favorites.
I like learning HOW by putting my hands on stuff. I teach classes, write blog posts, and record videos to teach other people how to do things, but I hate learning those ways myself. I’d rather take a product, read a walkthrough example, do it, and then try to break it. Purposely breaking and fixing stuff is my favorite way to learn.
For 2018, this means building gamification experiments, running them in small batches with a limited audience, and then using what I learn to run the next experiment. The great thing about having an email list with ~100K people is that I can pretty quickly run small, private 100-person experiments and surveys. Then, after several iterations of that, I can run progressively larger experiments with maximum results.
How do I plan to improve what I learn?
Mal’s blog post talked about sharing what you learn with the community, and of course I’m all about this. But in 2018, I wanna take things to the next level: I don’t just want to improve your skills, but I want to be able to measure how much our servers improve across the entire community.
I don’t just wanna improve what I learn. I wanna improve what you do. I feel like some kind of twisted data center dungeonmaster, hahaha.
Hey Brent, Sounds interesting, although how you do so would be a challenge. For me, starting my new role, I’m looking at baselining, and I think that’s where your gamification would be going… metrics based on batches/sec vs improvement? If you come up with something, I’m happy to share some anonymised metrics if it’d help.
I plan on Blitzing my servers when I get there, and I need to dig in and learn the indexing blitz – I’m interested in seeing some things like duplicate cached query plans, unused indexes, if it contains helpers for index reduction (ie using smaller data types, not using guids if unnecessary, guys who use varchar(50) for a key for no particular reason).
Anyway, just shout if you’re looking for participants 🙂
Andrew – thanks! Right now we’re pulling folks from our email list, so feel free to sign up over there. Thanks!