Power of automation
Tags: devops, productivity
Published: 2021-11-10 07:13:21

> Not while I have two healthy hands.

I was looking at my dishwasher this morning, and remembered a conversation I had while in college. There was this girl that went to the same classes as me, and we were commenting on the dishwasher in the place where one friend used to live. 20 years ago dishwashers weren't that common in Croatia. But from my perspective, it looked like something indispensable. My friend was against it, like the dishwasher was taking away her _privilege_ of washing dishes. 

> But what will Joe do then?

Later in life, when I got my first full time job, we had this archaic framework. The platform we were building the app in was 10+ years old. Imagine you are working on a desktop app built on a framework version from 10 years ago and never updated except a few patches from 8 years ago. The app worked okayish but delivering updates to distributed clients was hard and required a lot of manual work. Our technician (let's call him Joe) would have to connect to 100 servers and workstations via ISDN (or later ADSL) and transfer the update package. Now the update process itself was good, we had the executable extract new code into the codebase which would increase the app version. But the _database migration_ part remained. When I started working on automating the process, I got the above reply from a middle manager, "What will our technician Joe do if we automate the process?". He even tried stopping my automation attempt because it would need less manual work. In the end Joe found a better job.

> Why would I need automatic transmission in a car?

Another anecdote that I heard from a lot of people is about the rise of automatic transmission cars here in Croatia. From what a lot of people are saying it looks like the automatic transmission is _taking away the control_ of the car. I always felt like it gave me more freedom. I don't have to think about _being in the correct gear_ so that I'll be able to pass the truck in front of me, or to achieve the highest possible fuel efficiency. There are car aficionados, and I love to hop into a cool sports car when I get a chance, but for everyday usage, give me automation.

I never realised it then, but over the years I was always looking for ways to reduce manual repetitive work. When you do a thing a certain amount of times, the patterns arise and you want to automate them. many people called me _the laziest person I've ever met_. Even the CTO of the company I used to work for would describe me like that, and I like that description. As thought-workers our main contribution isn't manual work or moving widgets around. It is the thinking that has to happen before and after we type commands into the computer. Steve Jobs's best thought process was when walking outside, he even held meetings like that. Walking does have a catalyst effect on our brain since it occupies the "monkey brain" enough and leaves the thinking part to process all it needs to. The ideas you learned incubate, solving problems in the background before the eureka moment happens. 

I understand why this feels weird, awkward, and impossible to do to some people. It is giving away control (of the feeling of control) away to something else. People have problems giving away control to other people, and the machines are even worse, or are they? If people hop on the bus/tram (letting go of control to someone else), one vehicle would transport 50+ of those people and take the same space as 3-4 cars. People will hop in their car alone and do a short drive to wherever, even when better options are available. Those same people will then complain about the amount of _traffic_.

Our IT processes are the same, we're willing to jump through weird hoops _because we always did it like this_. Without us stopping to think (because we're burdened with repetitive tasks yearning to be automated) that _might_ be a better way. What if you could have a setup where you only have to write your code, and when it gets reviewed/approved, you only click on a button to merge the code. After this _something_ deploys it without anyone's involvement. This idea looked wild a few years ago but now it's becoming the norm. We can thank startups (and a few big companies) that revolutionised the process. And the availability of technologies that allow us to do it. 

Automation allows us to perfect our processes, find the flaky steps and put in safeguards so that they are solid. Think about Toyota's quality process compared to the Detroit's. If we can automate every step and remove the possibility of errors, we will allow our creative people to think and solve complex problems. Instead of having them transfer files over a modem connection.

Charlie Munger praises building our latticework of mental models as one of the best self improvement skills. We can add automation to the list of prerequisite mental models for thought workers. The prerequisite is that we can spot the repetitive processes. Think about what you can automate, so you will be able to think more.