Tools are made for using
Originally published 2022-03-02; last updated 2022-05-04.
The other day, it occurred to me that if I were to describe a car to someone from the mid-1800s, they would assume it was a device that could only be operated by elite specialists. A car is a two-ton machine made of metal, powered by fire, that can move with precision at over a hundred kilometers per hour. Driving a car requires knowledge of its many controls, high situational awareness, sensitive application of force, and careful coordination of hands, eyes, and feet. It’s like playing the drums while scouting for enemies.
And yet, virtually every adult can learn how to drive a car. Most people do it safely every day over the course of decades. Accidents happen, but most people have astonishingly good track records. For my own part, I might even be better at driving than I am at walking. In my fourteen years behind the wheel, I have never once caused a car to even nudge another object. Of course, this fact is not a reflection of my own skill, but of the fact that cars are designed to be operable by anyone.
This realization led me to the broader reflection that most tools are surprisingly easy to learn how to use. In my past five years working as a data scientist, there have been many times when I delayed learning how to use a tool because it seemed intimidating, only to discover later that learning it required little more than a few hours of focused attention and a willingness to ask for help.
A recent example was when I learned how to use Airflow, a code scheduling tool. I thought that understanding it would require learning a bunch of advanced data engineering concepts, and that I might even bump up against the limits of my intelligence. This worry now seems laughable, since it turned out that all I needed to do was learn some basic syntax and watch a ten-minute demo.
What I should have realized about Airflow is that like any tool, it was created by people to be used by other people. Airflow is not an inherently complex natural phenomenon that is beyond the grasp of my mind, like the energy states of quantum particles or the folding of proteins. Airflow is a human invention, and an extremely well-documented one at that. Airflow comes with a tutorial; it wants me to learn how to use it.
Admittedly, the fact that every tool is intentionally designed does not imply that every tool is trivial to learn. In the case of Airflow, I was intimidated for good reason: like many software tools, it uses opaque terminology. For example, the main thing you work with in Airflow is called a directed acyclic graph, or DAG. It turns out that DAGs are pretty simple in practice, but I can forgive myself for reading the phrase and thinking, “oof, this seems hard.” Confusing names and other user experience issues can be genuine sources of difficulty.
But even when such issues are present, I am often surprised at how quickly I learn once I start actually using a tool. It only took me an hour or two of experimentation with Airflow before it felt natural to use terms like ‘DAG’ and the others that initially scared me off. After some poking and prodding, these terms weren’t abstract concepts anymore; they were labels for entities I was using to achieve my goals. A DAG by any other name would specify task schedules just as well.
The next time I feel intimidated by a tool, I will try to remember that it is probably much easier to use than it seems, and also that its ease of use has less to do with my own aptitude than with the quality of its design. Conversely, I will also try to remember that when I am the one designing a tool, the responsibility lies with me to make it as easy to use as possible.
Thank you to Meg Inman and Matthew Jordan for editing this essay.