tiero - Fotolia
In Brave New World, Aldous Huxley describes a world in which people are created in test tubes. People are genetically engineered and subsequently conditioned to have the particular characteristics needed to function according to their predetermined social caste.
Society divides into five castes: alphas, betas, gammas, deltas and epsilons. Alphas do the highest order of thinking. They can abstract, strategize and plan. They run things. Betas are almost as intelligent as alphas, and their jobs are highly complex tasks that require fine motor skills, like making chemical mixtures. Gammas are bright enough to work with numbers and take dictation. They work in offices. Deltas are the truck drivers and maids who serve the upper castes. Epsilons are three feet tall and can't read or write. Their lot is factory work, doing menial and repetitive jobs.
What does this have to do with DevOps? Well, software has grown hyperspecialized as well.
Betas and repetitive task automation
Modern computing is broad and complex. In the past, technologies that kept bank accounts straight and airplane reservations in tact were amazing. Today, banking and air travel are just tiny slivers of an enormous application landscape. Software really is eating the world, and it's more complicated than ever. The amount of work required just to do little things is significant. As a result, we've become more specialized. It makes sense. No one person can know everything. No one person can do everything.
But there's a risk. As we become more specialized, we see less of the big picture. When our job is to get a specific something done, we start to do things by recipe. We lose creativity. This is OK as long as things are going well. But when misfortune strikes, we're up a tree. What good is being able to follow a recipe when we don't have the ingredients and have to whip up dinner with whatever we have lying around in the refrigerator?
There's a big difference between knowing how to do a process and knowing the reasoning behind the process. It's the difference between an alpha and a beta. In Huxley's world, betas do the extremely complex tasks, but they have no idea about the nature of the task or why it's performed. Alphas have the analytic skills. Alphas have the creativity. They can connect the dots. They see the big picture.
Specialization is inevitable and useful, particularly in DevOps. Yet, with such segmentation comes the risk of creating operational castes -- those who get the big picture and those who follow the recipes. It's sad to say, but many of us in DevOps spend a lot of time executing recipes for repetitive task automation, not out of choice, but out of necessity. More often than not, we're under the gun to "get it done."
Much of DevOps is about knowing which metaphorical dials to turn and configuration values to set. Our world is full of machine management, repetitive task automation, environment provisioning and script automation at web scale. That's a lot to keep track of, and, given business pressures, it's easier to just follow the script.
We'll always need alphas
Given current trends, repetitive task automation will take over. Machine automation will soon be doing more, if not all, beta work. It's for the best. The work will be more consistent and cheaper.
However, there'll still be need for those who can analyze situations, solve existing problems and create new things. In other words, we'll need alphas.
So, don't be a beta. Even though many of us do beta work in order to keep the fridge full and the kids happy, all the redundant, predictable work will be automated in the future. The world won't need betas. It'll need alphas.
So, if you find yourself in a day full of monitoring deployments or editing integration tests, give yourself a break. Go home and make yourself a batch of cookies from scratch without the aid of a recipe or mix. If the cookies come out to your liking, enjoy them. If not, try again. At some point you will get it right. Then, sit back and enjoy being an alpha.
Shift left to automated DevOps testing
The future of software testing: A brave new world
The rise of machine automation and AI