On the face of it, laziness is not the first character trait to whip out before an interviewer when asked, “What can you bring to our company?” However, I’m willing to bet that a relatively small handful of lazy people have done more for the world than all of the hard working people combined. Of course, I’m not referring to the sort of lazy people who above all things prefers to do nothing at all, but to those afflicted with a low boredom threshold, easily driven to evasive action if in danger of repeating themselves.
In summarizing the three great virtues of a programmer – laziness, impatience and hubris – Larry Wall, creator of the Perl language, describes laziness as “the quality that makes one go to great effort to reduce overall energy expenditure”. This laziness, at least in part, drove the likes of Charles Babbage to find a mechanical alternative to performing tedious and error prone calculations using logarithmic tables, or Joseph Jacquard to invent his punch card-driven loom, the very first programmable device.
Following in the grand tradition of such technology pioneers, lazy DBAs will always find a way to avoid unnecessary and repetitive work. Of course, there are exceptions, people who reap satisfaction from a task undertaken in a simple, hardworking manner. I knew one DBA, a contractor for my company, who did nothing all day except “watch” our servers, staring at his screen and firing off the occasional query. We never heard from him unless he found something that “seemed wrong”. Often, he never spoke for days due, no doubt, to our high quality software, or perhaps lack of customers. Any DBA worth their salt, however, would dread such repetition, not to mention waste. After all, a week of that person’s pay could buy a heck of a lot of SQL Monitor licenses.
For a DBA with more than a handful of servers to manage and only one copy of himself (or herself) to do it, laziness is a tremendous virtue and one that both improves efficiency and ensures adequate exposure to the natural vitamin D our sun provides.
Using a tool to watch your servers and warn you when danger looms, you can deal problems on your time, before they become disasters that you need to deal with on your customer’s time. You will no doubt have scripts or tools to automate tasks like backups, letting the software back up your databases, verify the backups worked, put the backup files into safe locations and send you a nice message telling you everything is A-OK, like one of those dreadful robots made by the Sirius Cybernetics Corporation. If so, then you’ve earned the extra personal time you need to work out that reference without having to follow the link.
Armed with scripts and SQLCMD replaceable parameters (perhaps even PowerShell if you are into that sort of thing), a DBA can automate almost any task, making it easier, repeatable and less error prone. Even creating multiple databases, each with files stored in different directories, will no longer be a tedious SSMS GUI-driven task, but rather one that simply requires changing a few parameters and pressing execute.
With a script for every task, a tool to monitor their servers, and perhaps an intern to keep them entertained, the DBA approaches a state of lazy nirvana, with nothing to do but read Phil Factor’s blog and watch an endless stream of channel 9 videos. Of course, I worry that it will make the working life of a DBA as boring as that of the Maytag repairman, but it’s almost certainly a groundless fear; users, programmers and hardware gremlins will always be there to keep us working hard to maintain our laziness.