You’ve probably filled out the same form, clicked the same series of buttons in a software or dug up the same info for each new customer thousands of times. And you almost certainly receive recurring emails that you mark as read as soon as you see the subject line.
6 Automation Tools to Know
- Nontechnical: IFTTT (If This Then That), Zapier, UIPath
- Technical: Aliases, Scripting, Scripting Languages
Software engineers, think of all the commands in your terminal that you’ve used hundreds of times but still have to Google for the syntax, or the manual clicking you have to do to get the same data from Postman again, or renaming a hundred files to a new naming convention.
These examples are repeatable manual tasks. At some point, they get boring, annoying or they simply waste time.
Any repeatable manual task can be automated. You don’t always have to be technical to do some pretty incredible stuff and some software, like the emails example, even has built-in automation tools. But you can probably guess that developers can do even more custom stuff.
We’ll check out both, starting with non-technical tools that anyone can use.
Non-Technical Automation Tools
Here are examples of three non-technical automation tools worth investigating.
Easy and Limited: IFTTT
IFTTT (If This Then That) has been around a long time and has mastered simple automations for everyday use. I set up tons of integrations years ago and they still run perfectly today. For example:
- If I’m tagged in a photo on Facebook, it autosaves that photo to my Dropbox account. Marketers can use this for automatically harvesting social media photos for your company.
- If I post a video to Youtube, it automatically creates a new post on a Wordpress blog.
- If I create a task on Todoist, it automatically doubles it over to my Google Calendar so I don’t miss scheduling time for it.
With thousands of pre-built applets and a super-easy way to create custom ones, IFTTT can do some great stuff with just a couple of clicks.
Medium and Powerful: Zapier
Zapier is incredible at making deep automations that don’t take much setup. It just takes a little practice. You can chain automations together, so you can get even deeper output and aren’t limited to just one action. For example:
- If someone applies to your Greenhouse job, make a post in your Slack group and automatically send the applicant an email with available Google Calendar slots.
- If a developer opens a PR on Github, send an automated message in MS Teams, and post a bot comment back into that PR with a custom message.
- If someone creates a ticket in JIRA, document that in your appropriate Notion page depending on the JIRA label so you can track tickets more easily.
I once even demoed how to create a Zapier-automated events business that would send out t-shirts and hand-written thank-you cards to every customer who bought a ticket. All I needed to do was create an event. This thing means business.
Hard and Superpowered: UIPath
UIPath is an enterprise software that essentially can do whatever a user can do. Among a bunch of other incredible features, it has the power to follow your interactions through your computer and record them so that a single button click will run that whole interaction again.
It takes some setup, but think of all the manual processes that could be automated and remove the risk of human error. For example:
- Record yourself opening a software, logging in and running a report that you run every single morning to start your day, and turn it into a single button click.
- Record yourself setting up a new employee through all of your HR systems, and turn it into one form with the employee’s basic info and a Start button for future newbies.
- Record yourself shutting off your computer’s Wi-Fi and setting an Out of Office reply saying “I will respond to you in the morning”, and schedule it to run each day at 5 p.m.
These are some very simple examples of a powerful tool, which is built for enterprises to save thousands of hours every week. If processes in your company are ripe for automation, it’s worth checking this out.
Technical Automation Tools for Developers
Here are examples of three technical automation tools that can save time.
Easy and Limited: Aliases
There are tons of commands I could describe with plain English, but I have to look up the syntax to get the command correctly each time. Instead, I’ve made a bunch of zsh aliases for them.
For example (in ZSH):
uncommit=”git reset –soft HEAD~1”
— This is like the undo button for git.updateallpackages=”npx npm-check-updates && npm I”
— Indiscriminately update every npm package.countfiles=”() { find ./**/$1 -type f | wc -l }”
— Counts all files matching a pattern, like “countfiles *.test.*”
You can find some really creative and funny zsh aliases all around the web, some you’ll be happy to implement into your own .zshrc file.
Medium and Powerful: Scripting
The last example started playing with this, but you can get as intense as you’d like with scripts. You can integrate them as things you run in your terminal, as heavier-duty commands in your build, or as quality checkers in your codebase. Once created, you can share these scripts for other teammates to continue to continue evolving. For example (links, because scripts can be huge):
- Shorten URLs
- Get data from a request
- Turn anything into a QR code
- Or even text an excuse to be late to work
And if you’d like a laugh, check out this classic story of an engineer who hilariously scripted anything that took more than 90 seconds of his time.
Hard and Superpowered: Scripting Languages
Now we’re basically into programming. There are a lot of scripting languages like Python, Go, Javascript, Automator and tons more, and they all have their advantages. When you write a scripting program, you’re opening the door to full computer automation that can effectively accomplish some tasks faster than any human. For example:
- Scrape all Tweets of a topic with Python
- Run all kinds of things on your Mac with Automator
- Create an Ethereum address with Go
With great power comes great responsibility. Many browsers and lots of software can tell when you start bashing their apps with automated scripts, so when it comes to interacting with software that isn’t built for automation, don’t abuse it.
Conclusion
It doesn’t take much to create simple automations that will save a huge amount of time down the road. Consider actions you do repeatedly, see if the program itself has something that will automate your task and then cruise through these suggested options if you need something more powerful.
Saving a couple minutes turns into hours that you get back, hours turn into days and days saved across many tasks becomes incredibly impactful.
Invest a bit of time up front to save yourself much more time down the road. You’ll make your work easier, you’ll avoid annoying repetitive tasks, and you might even start outperforming your own expectations.