Eliminate Inefficiency with Automation
— This post is part of a series of ongoing tips on lessons learned & experiences I”ve had as the lead developer of the online dating startup, at Ignighter.com. Though these tips are focused primary at consumer startups, they ring true elsewhere too. For a full list of these tips, see 10 things I”d wish I”d known as a lead developer at Techstars. —
I spend a lot of time building and reading reports. I also spent a lot of time shuffling files around, and formatting data.
If you”re like me, you probably also spend a great deal of time doing simple, mindless, monotonous tasks like normalizing data, working with log files, or transferring files from one development region to another. While they are completely necessary, these simple mindless tasks take a ~long~ time.
One of my favorite things to do when executing these types of tasks is to figure out where I can eliminate the inefficiencies in my process. Since I”m running a startup, and am not subject to the process of some large bureaucracy, the power (and responsibility) to optimize time-inefficient tasks falls with me.
What types of tasks I automate
Most of the time, this process starts with a task that I have to do twice. The first time I do it, I groan, but I suck it up and do it the brute force way. The second time, I look for a pattern to emerge, and if one exists, I write a script to do the bulk of the work for me.
Part of the fun with this approach is that, while you are performing a mindless task, you can let your mind wander about the ways you could be improving your workflow.
Tools of the trade
If you aren”t familiar with shell scripting, you probably should be. If you”re on the LAMP stack, get to know your cron tab. Also, QTP is a great tool for Windows UI automation.
Some Use Cases
Here are a few examples of time-saving scripts I”ve written. In the past, I”ve written scripts that
– Build Regions.
– Normalize Data into JSON, MySQL, or XML formats.
– Build cached versions of my codebase.
– Find Database Integrity issues, correct them, and notify me so I can investigate deeper.
– Backup my codebase and database.
– Comb my log files for a search query.
– Email daily, weekly, and monthly statistics reports to my team.
Bottom Line
It”s a best-practice to always be looking for ways to optimize your processes.
How much time could you save if you automated your repetitive tasks today?