practice
time he did something manually, he
documented the steps. That may not
be code in the traditional sense, but
writing the steps in a bullet list is
similar to writing pseudocode before
writing actual code. It doesn’t run on
a literal computer, but you run the
code in your head. You are the CPU.
Automation is putting process into
code. A bullet list in a process document is code if it is treated that way.
The second time the successful
engineer did something manually,
he followed his own documentation. This might seem strange since
he knew the process well enough to
document it, but by following his own
documentation, he found opportunities to improve it. He made correc-
LET ME TELL you about two systems administrators
I know. Both were overloaded, busy IT engineers.
Both had many repetitive tasks to do. Both wanted to
automate these tasks. After observing these two people
for a year, I noticed that one made a lot of progress,
while the other one didn’t. It was not a matter of skill—
both were very good software engineers. The difference
was their approach, or mind-set.
I would say the successful one had a mindset of
always thinking in terms of moving toward the goal
of a better automated system. Imagine an analog
gauge that points to the left when measuring that a
process is completely manual but slides to the right as
progress is made toward a fully autonomous system.
The developer mindset is always intent on moving the
needle to the right.
The less successful person didn’t write much code,
and he had excellent reasons why: I’m too busy! The
person who made the request can’t wait! I have 100
other things to do today! Nobody’s allocating time for
me to write code!
The successful person had the same pressures but
somehow managed to write a lot of code. The first
DOI: 10.1145/3190572
Article development led by
queue.acm.org
A.B.A. = Always be automating.
BY THOMAS A. LIMONCELLI
Documentation
Is Automation