Madhav Malhotra
Often times, the word automation is used in job descriptions, responsibilities etc. Let us take a closer look at what that means and what it means to have "automation thinking" as a skill.
What is Automation?
Excerpt from Wikipedia:
"Automation describes a wide range of technologies that reduce human intervention in processes, mainly by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machines."
Source: Automation — Wikipedia
Plainly speaking, automation is the activity of taking something humans can do and having machines do it.
Why is it important to Automate?
Although this does not always hold true, the core value that automation provides is:
- Do More (faster throughput): Something that might take a human to complete in one day, might take an hour for a machine. And so the machine can do more in the same amount of time.
- Do Better (with consistent quality every time): Depending on the task, a machine might be able to provide higher quality than a human may be able to.
- Do the Impossible (tasks beyond human cognitive or physical limits): Some tasks, humans are not built to do inherently. For example, some of mathematical processing that is needed for our scientific research, might be impossible or very hard for humans to do in a lifetime, super powerful machines may be able to do that in a realistic amount of time.
How did automation as a concept emerge?
A big reason why automation exists is because we built powerful hardware systems that had massive capabilities.
For example, when computers (through their motherboards and processors) became capable of performing millions of operations per second, it suddenly became possible to hand off many human tasks to machines. This is what allowed automation to emerge and scale.
What is Automation Thinking?
Automation thinking is a problem-solving mindset where you analyze tasks, workflows, or processes with the goal of identifying repeatable patterns that can be simplified, standardized, or delegated to systems.
These systems can be software or hardware. A key element of automation thinking is the ability to select the right system that should be used for creating the automation. Let us look at that with an example.
Automation Thinking Example: Sending Marketing Emails
Let us say you are an email marketer and you are tasked to send 100 emails each day. You find this process really cumbersome and since this is a repeated task, you wonder if you can have a computer do this automatically.
Now you have various ways of automating this:
- Your own computer: You can use your own computer, via programming, to schedule and send 100 emails.
- Computer as a Service (or Software as a Service as we like to call it): Rather than you having to do all of your work, you might look for software running on computers maintained by other providers, who already have a bulk email service. An example would be mailchimp etc.
Depending on your time and interest, you might choose either of these or some other option. You might have to balance several factors when choosing the system, such as:
- Cost - Can I afford this?
- Reliability - Can I ensure that the system will do what it says?
- Compliance - Do I have any regulatory considerations such as privacy, consent, or anti-spam rules?
- Scalability - As my needs change in the future, will this still be able to work with that?
The ability to be able to identify this repeatable pattern (sending emails) and then finding the right system to delegate this to, is what forms the core of Automation Thinking.
Limitations of Automation?
As we learn to delegate our tasks to other systems, it is important to remember that the systems are fallible and make mistakes. Depending on the automation, a human in the loop is often times still necessary, to provide the right kind of quality check to the output of the automation
Understanding both the opportunities and limits of automation is what strengthens automation thinking as a skill.
