Throughout my life, I’ve picked up various phrases that have come to define who I am. One of those phrases is “there has to be a better way,” and I use it whenever a task is extremely repetitive. Today, I want to take a moment to reflect on that phrase and the idea of computer automation more broadly.
Table of Contents
Introducing My Catchphrase
When it comes to navigating life, we all have phrases or quips that we use on a regular basis. In my experience, these phrases tend to reflect our core values—whether we realize it or not. As a result, I wanted to take today to analyze one of my catchphrases and see how it stacks up to my values.
Given that folks reading this have probably never met me, I’ll let you in on a secret: I use the phrase “there has to be a better way” a lot. And funnily enough, it’s not a phrase that I noticed myself saying. It actually took my wife to point it out before I realized how often i say it.
So what does this phrase mean? Well, mostly I use it when I find a task particularly boring or arduous. In most cases, the task involves some form of repetition that I find extremely boring, so I pop the catchphrase. I’m sure you can see where this is going.
The Curse of the Catchphrase
For folks in our field who write a lot of code, we have a particular set of skills that allow us to be very, very lazy. Doing some manual data entry in a spreadsheet? You can probably automate that. Renaming a bunch of files? That can be automated as well.
Ultimately, the curse of the catchphrase—”there has to be a better way”—is that it is often simultaneously true and false: a paradox. It’s true in the sense that repetitive tasks can almost always be automated, saving you the time and energy of doing the tasks by hand. It’s false in the sense that automation is not always the better way, spinning up a 4 hour automation task that could have been done in 10 minutes by hand.
To make matters worse, if the repetitive task is a one-off, there’s actually no value in performing the automation. No one is every going to need that script again. As a result, I have to be really careful not to fall for my own catchphrase in cases where the automation won’t actually save me any time.
On the other hand, automating a task can feel really rewarding and validating. It’s like being the person to invent the nail gun after years of hammering nails. Suddenly, an extremely painful part of the process is automated. That feels pretty good!
Seeing the Catchphrase in the Wild
Funnily enough, the brain rot that causes me to strive for automation in every task is nearly universal in the field of computer programming. Here are some funny references in the wild:
- “Never spend 6 minutes doing something by hand when you can spend 6 hours failing to automate it” by Zhuowei Zhang on Twitter
- “Why spend 5 minutes doing it when I can spend 5 days automating it” by u/Yeetoppotamus on Reddit
And of course, there are smart folks who have thought through the actual decision to automate or not:
As usual, the topic of when to automate is more nuanced than yes or no.
When the Catchphrase Saved Me Time
With all that said, I still generally buy into the idea that there are often better ways to do tasks than by hand. A perfect example of this is my image titler tool. I made it ages ago to solve the issue of making thumbnails for my site. And let me tell you, it saves me so much time.
Another time, I got tired of rolling my own Markdown in code, so I made a Python library to do it called SnakeMD. Now, I no longer have to worry about all the markdown related bugs that happen from strings in code. The entire process is abstracted away for me and others.
Meanwhile, I have a Discord bot that I share with students. Whenever I want to add knowledge to the bot, I have to transfer the data manually. For this upcoming semester, I’m going to create a command that allows users to upload data themselves to the bot. That automation should save me a lot of manual data entry.
Of course, nothing will ever compare to the time I was working on a game called Poof Paradise. It was a 2D Farmville-style game with tiles. I recall one of my team members being asked to scale the grid to have more tiles. He was dumbfounded as he had created the grid entirely by hand (i.e., he placed 100 tiles in a 10×10 grid into the scene). To access the times, he named each tile by their coordinates (e.g., 1, 1). He then would parse those names to get their location. The absolute madness of the design meant it was completely unscalable. As a result, I remember stepping into to automate the tile placement in the scene. Definitely, one of my favorite stories as a developer.
Overall, I think automation is generally a positive, and it’s clearly a part of my identity. With that said, that’s about all I want to cover today. If you’d like to support my mission to automate my life, check out my list of ways to grow the site. Alternatively, you can check out some of these related posts:
- The Sample Programs Website Is Fully Automated
- How to Automate Your GitHub Profile
- How I Automated My Grading Responsibilities
Otherwise, take care! I’ll see you next time.
I'm embracing the virtual world and moving all of my computer science exams online. Here's why!
Amid all the chaos of my daily TODO list, I was able to find order by sorting my tasks by my values. Maybe you'll find some "value" in this tip as well.