Everything changes—especially when we seek to automate tasks. Automation is leading to amazing consumer benefits—from vehicles to clothing to voice-activated devices—and making our lives better. In the workplace, as automation becomes applied to repetitive tasks that are being handled manually, people become concerned about their livelihoods. Will they lose their jobs? How will they provide for themselves and their family? How will automation impact them personally? These are natural and healthy questions. But they do not change reality, especially in the world of software development, where sooner or later every repetitive task will be a candidate for automation—even those once considered sacred and performed by the DBAs, e.g., SQL script reviews and deployments. Automation will inevitably impact everything from code development and application testing to database deployment. Evolution is needed to respond to change—and here is why that is a good thing.
Let me be clear from the start: Automation replaces tasks, not people. Automation will change how DBAs perform their tasks, but it will not change the value they can provide their company. We have seen this before with Infrastructure as Code (IaC) and tools such as Puppet and Chef. Prior to adopting IaC, system administrators automated much of their jobs, just not in a way that enabled self-service. That automation was limited to making the system administrator’s life easier, not the end user’s. Now with system provisioning automation, end users can request systems that meet corporate standards without having to go through a ticket system or procurement. This has provided benefits to the end user and the business but also the system administrators. The system administrator role has shifted to roles such as site reliability engineers or other more interesting and strategically beneficial roles. It’s time for DBAs, and their companies, to share the same benefit.
Today, the DBA role is insular and focused on protecting data. (Data is, after all, the most valuable asset a company owns.) However, tomorrow requires data to be available and managed in a more decentralized fashion. DBAs must balance data protection with data availability to better serve application development and testing teams. Tomorrow is a “You build it, you run it” world that requires tasks such as database schema changes to be made just as easily as application code changes. Moreover, DBAs are often siloed by the database platform they support. With the advent of more specialized data platforms, being an Oracle DBA alone is not enough for some companies; they are demanding more from their DBAs.
And there’s no time to waste, as the adoption rate for new technology has increased dramatically during the past century. Electricity was made commercially available in 1873, and it took 46 years for one-quarter of Americans to use it; the internet first became available in 1991, and it took just 7 years to reach the same level of adoption. The rush to containers by cloud providers and development teams is happening even faster, which makes it all the more pressing for DBAs to evolve at a pace that can keep up with these changes.
DBAs must start to think about their jobs differently. Instead of simply focusing on data control and safety (which is important), DBAs must also think about other business imperatives, such as application delivery speed, platform flexibility, and data accessibility. To balance what may seem to be competing interests, DBAs should consider evolving their practices and incorporating automation. This will help meet the demands of the business.
Automation is key to this necessary evolution. DBAs must start thinking in terms of “as a service” instead of bespoke, one-off, discrete tasks. If your only entry point to the DBA is a ticket system, then you and your company are not evolving. Self-service must be the priority. Of course, the need for control and safety has not disappeared, but the way it is applied must change. Just as IaC usage provides a menu of system options for end users, DBAs must provide options for their end users that allow them to reach their goals in the manner they deem best. This is very much similar to offering choices to a child. As my son matured and sought more screen time for video games, I didn’t hand him a game controller. We started gradually offering choices such as at bath time: “Do you want to stay in the tub or get out now and play video games for a few extra minutes?” Sometimes he chose now and other times he chose to stay. Not to liken software developers to children, but they do not have the experience and resulting pattern recognition skills that a seasoned DBA has. But, the solution cannot be, “Let me see your SQL script,” followed by a lengthy manual review. DBAs must balance safety with speed.
To that end, DBAs must enhance their skill set and evolve to meet these demands. Learning a programming language other than SQL should be the first step. I recommend Python, as IEEE has once again put it at the top of its list as it continues to expand its lead on C++, C, and Java. All modern tools have a Python API, and database automation tools are no exception. (If not, you’re using the wrong tool.) Furthermore, experience with a database platform other than the one you are certified on is a must. Find out which platform your CTO has identified as the company’s future and learn that. Today, we no longer need to sit in a classroom for 2 weeks and take a test to become certified. There are endless and, often, free resources online to take advantage of, mostly from the vendors themselves.
But this evolution will not happen in a vacuum. Today’s DBAs are the most overworked group in IT. To demand that DBAs add yet another list of tasks to their already-overflowing email inbox is a fool’s errand. Management must make this a priority and help. IT management must understand recent computer science grads are not becoming DBAs. Programs must be created and funded to retain DBAs and help them evolve. If not, those DBAs will find more progressive companies and take the knowledge and experience between their ears with them.
I have seen firsthand what companies are able to accomplish when they make this change a priority. These companies can deliver compelling services to their customers far faster than their competition … and their stock performance reflects the results. Furthermore, employees are happier, more engaged, and able to deliver better results for the management team. Remember: Companies that are high IT performers deliver better stock returns than their lower-performing peers. And, that is exactly what management’s compensation is tied to. Bottom line: Help your DBAs evolve and you are going to make your bonus.