The job of a DBA requires a fusion of skill and knowledge. To acquire this requires a craftsman mindset. Craftsmen find that the better they get at the work, the more enjoyable the work gets, and the more successful they become. Deliberate practice, Specialization and an appetite for overcoming difficulty are good habits to deliberately adopt to successfully grow those craftsmanlike skills to the point that you become “so good they can’t ignore you”.
Recently I finished the book So Good They Can’t Ignore You, by Georgetown computer science professor Cal Newport. While the book is certainly not specifically targeted at database administrators, I found that many of the points were very applicable to the paths I’ve seen several highly successful ones take. For example, Newport makes the point that the “follow your passion” advice is largely flawed; rather, by honing our skills and getting good at what we do, we find that very passion.
“In most jobs, as you become better at what you do, not only do you get the sense of accomplishment that comes from being good, but you’re typically also rewarded with more control over your responsibilities.” 1
Newport, Cal. So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love. Hachette Books (2012).
What Newport is essentially saying is that it’s by getting good at what you do that you gain the autonomy and mastery that fuel passion, not the other way around. This made me think about something I heard several years ago from someone of high standing in the SQL Server community. It was in the speakers’ waiting room at SQL Saturday in Philadelphia, and the person doing the speaking was current MVP Mike Hillwig, and to (hopefully not too roughly) paraphrase him, he said “When you want to move up in the SQL world, think about doing more of the things you like, and less of those you don’t.” (I’m not sure but I think he may have attributed the wisdom to another current MVP, Thomas LaRock.)
I’ve found this to absolutely be true; it’s only by getting really good at our jobs that we are able to filter out the parts of the job that we don’t like. If we are valuable enough, we can negotiate with our employer to let us focus more on the things we enjoy; if they choose not to agree to this, then we can go elsewhere, because highly skilled database professionals are always in demand.
This being the case, another idea from Newport’s book seems very appropriate: that of the mindset of the craftsman. He defines this as one who works tirelessly to improve his or her skills, which if done properly, results in us obtaining what Newport calls “career capital”. This idea, borrowed from basic economics, is that to get the things we want (autonomy, for example), we must have something valuable to offer in return, namely our skills.
I’d recommend the entire book to anyone interested in furthering their career, but for now I want to pick three specific habits that Newport identifies with this craftsman mindset, and apply them specifically to the work of a DBA. In each case, I’ll give you specific useful takeaways that will help to further your journey towards becoming a craftsman. Let’s get started.
Habit 1: Deliberate Practice
One of the first things that Newport identifies as a foundation of the craftsman mindset is the idea of deliberate practice. How do we define this? Newport cites a phrase coined by psychologist Anders Ericsson, which defines deliberate practice as “activity designed, typically by a teacher, for the sole purpose of effectively improving specific aspects of an individual’s performance.” 2 I would add to that that deliberate practice must:
Involve extended periods of focus.
Target specific areas of knowledge.
Throughout my career I’ve witnessed the importance of systematic, methodical practice of the craft of database administration. When I first started, I wasn’t even allowed to have full access to the systems until I could prove knowledge on some basic tasks. Beyond that, I was made to follow strict guidelines and practice our procedures rigorously, such that by the end I could do things without even glancing at Books On Line for reference. And don’t even think about clicking through things in the Management Studio GUI!
Here are some ways to incorporate the habit of deliberate practice into our work as DBAs.
Drill, drill, and drill some more
As DBAs we face a dizzying array of different tasks and problems. Often times these are presented in high pressure situations, where there could be a lot at stake. How can we prepare for these? By taking a page from emergency preparedness and doing drills. Pick a number of different scenarios that you might encounter, then practice walking through the steps necessary to resolve them. Here are a few examples of good things to practice:
Restoring databases, including file group and page level restores and point in time recovery
Manual failover of clusters, mirrored databases, and availability groups
Handling transaction log full errors
Responding to common automated alerts
Troubleshooting performance problems
Mind you, I don’t mean to imply that you should be doing all these from memory; quite the opposite, a checklist is often a DBA’s best friend. But even still, if you practice these steps frequently, you will not only improve your valuable skills, but better prepare yourself for the inevitable emergencies as well.
Takeaway: make a list of common tasks that you need to complete, especially those often done under pressure. Then, practice them repeatedly, making sure conditions are as realistic as possible.
Find the gaps in your skills, and focus on them
As DBAs we are often expected to be like Swiss Army knives: competent in all things related to SQL. As a result, it’s in your interest to have at least some level of skill in most of the basics of SQL Server. Take me, for instance: I am by no means a guru when it comes to SQL Reporting Services, but I can make a serviceable report and understand the basics of putting them together and deploying them. This is largely because I’ve made it a point to use SSRS whenever possible in the delivery of my work, thus requiring repetitive practice of fundamentals.
Take a look at your competence in the following core areas of SQL Server, then make an effort to do some work in whatever you feel your weakest area of knowledge is.
SQL Database Services
Creating and maintaining SQL databases
Installing and configuring SQL Server, including advanced configurations such as clusters and AlwaysOn availability groups
Security in SQL databases
SQL Reporting Services
Installation and configuration of SSRS, including advanced
configurations such as load balanced / scale-out
Development of SSRS reports, including tabular, matrix, and graphical styles
SQL Analysis Services
Installation and configuration of SSAS, including advanced
configurations such as those supporting PowerPivot and near real-time analytics
Use of scripting languages, including XMLA, DMX, and MDX
SQL Integration Services
Moving data between various sources, such as SQL Server, flat files, and possibly other RDBMS systems such as Oracle
Use of transformations such as pivoting, lookups, and others
Deployment of SSIS packages to SQL Server