Automate toil away! Everyone has daily tasks that could be automated. Automating mundane tasks leads to immediate time savings, skill acquisition and huge cumulative benefits in the long run.
For example, a 10-minute task costs about 2600 minutes a year (assuming 260 working days). Automating the task to run in 5 minutes leads to a gain of 1300 minutes per year (about 3 full working days). There is some investment required to set up automation but provided the cost does not exceed the benefits, it is better to automate.
My daily job involves me designing APIs and making low-level platform changes. Exhaustive testing of certain scenarios requires chained API calls across many endpoints. Prior to automation, I would have to copy URLs, tokens and set up the 1001 necessary parameters to test an API. I was using Postman very inefficiently.
It took about 10 hours to complete a Postman course and create automated tests for the complex myriad of API scenarios. With this knowledge and skills, validation became possible with the click of a button!
An unexpected benefit of this approach was the discovery of a subtle bug in our API implementation. We had always returned the wrong HTTP header on completed operations. Furthermore, it reduced the ramp-up time for new engineers; anyone can poke into the API by running the same Postman collections.
2. Think hard about your work
One of my classic talks is the evergreen classic by Hamming: You and Your Research. The talk is about 1 hour long but I consider it a goldmine of career-changing insights from one of the very best in the field. If you prefer reading, then here is the transcript of the talk.
Yes, it is the very same Richard Hamming who invented the Hamming code and Hamming distance!
One key point is his recommendation of the thinking practice. He advises workers to spend some time every week (ideally, an hour on Fridays) thinking hard about their work and finding ways to improve.
When was the last time you took some time to reflect on your work and its importance? Why are you not working on the most important challenges in your field? What’s stopping you from that?
You can start by asking these two questions:
- Are you working on the right problems?
- If you answered yes to 1, then are you solving these problems in the most efficient manner?
3. Study tools and concepts
There are some essential tools we all use every day to achieve our duties. These tools vary across professions: software engineers use IDEs, designers use design tools while others rely heavily on word processors, spreadsheets and other tools.
A small amount of time spent on learning about shortcuts and productivity-boosting features pays off in the long run. A big productivity booster for me was bookmarking bug and work item creation templates. It took less than 20 minutes to discover and set up the templates, but they have saved me countless clicks every week at work.
4. Keep a Journal of solved problems
Every now and then, I encounter a tricky problem that requires extensive research or a neat trick. In the past, I would move on once I completed the task. This approach worked well for one-off problems; most times though, I would run into the same problem or a variation of the problem. Then I’d start all over with the same research and Google hunt.
A better approach is to journal your discoveries in a well-organized format; one that is indexed and searchable. Thus, when you run into the same problem again in the future, you search in your journal and reuse your solution. Your journal should include explanations to ensure you don’t miss out on corner cases.
Bookmarking website links can be a quick fix but remember websites can go down and there is no way to add contextual information to a link.
5. Avoid the email drain
It’s very easy to get sucked up into the email drain and spend swathes of time in emails. Most emails are not urgent and don’t require immediate responses; even better still, the few requiring urgent responses occur rarely and can be attended to rapidly.
If you always respond to all kinds of emails rapidly, then you condition your co-workers to expect quick responses. On the few days, you don’t respond ‘fast’ enough, they might feel ignored.
It is more efficient to batch up email processing into regular time slots – you get to do work without interruptions and your colleagues learn over time that your responses will come within a certain time window.
I like the multi-desktop feature of Windows for this reason; it allows me to compartmentalize my work across desktops. I have a desktop for communications (mail, chat and teams), another for development (IDE, tools, browsers) and one for learning. This isolation across boundaries enables me to do deep dives.
One other way to curb the urge to respond to every email is to turn off notifications and then set up automatic email processing rules to move noisy emails to less-frequented folders. The goal of both actions is to achieve a high signal-to-noise ratio: thus you know that the emails you see are the ones that need your attention.
Finally, find time to drain your emails daily (preferably at the end of the day); this gives you a clean slate to start and ensures you do not block others’ progress.
These are a few strategies I employ to be more efficient at work; what strategies do you use? Share in the comments!
You might also enjoy the first post: Less Work, More Impact.