One of my favorite things is to automate something. I feel like I'm giving away a personal productivity secret here. I suspect many people do this but not to the extent I do.
I can spend, for example, an hour automating something that would take ten minutes to do manually. To some people who don't think it through, this would seem like a waste. But that ten minute task might get repeated, so it's often a net win.
But taking a devil's advocate position, let's say the task only gets repeated three times, ever. So (ignoring off by one errors in my accounting) let's say when all is said and done I end up spending 30 more minutes, total, over the course of my lifetime, on that task. Sounds like a losing proposition, right?
I would argue even if the tasks are never repeated enough times to make up the time spent automating them (though many are), this expenditure of time is still worth it in a whole-picture assessment because at the end I have:
- New code snippets I can use for other things
- Increased understanding of the problem space and how to model it.
- Learned and refreshed knowledge of some coding techniques.
- A new tool under my control, which I can tweak and extend in any way I want.
- A good productive feeling and a clear conscience about my time.
- Fewer mistakes, and no learning curve, when I repeat the task.
And then... if not that, there's always refactoring legacy code ;-).
5 comments
[ 2.7 ms ] story [ 20.9 ms ] threadI can spend, for example, an hour automating something that would take ten minutes to do manually. To some people who don't think it through, this would seem like a waste. But that ten minute task might get repeated, so it's often a net win.
But taking a devil's advocate position, let's say the task only gets repeated three times, ever. So (ignoring off by one errors in my accounting) let's say when all is said and done I end up spending 30 more minutes, total, over the course of my lifetime, on that task. Sounds like a losing proposition, right?
I would argue even if the tasks are never repeated enough times to make up the time spent automating them (though many are), this expenditure of time is still worth it in a whole-picture assessment because at the end I have:
- New code snippets I can use for other things
- Increased understanding of the problem space and how to model it.
- Learned and refreshed knowledge of some coding techniques.
- A new tool under my control, which I can tweak and extend in any way I want.
- A good productive feeling and a clear conscience about my time.
- Fewer mistakes, and no learning curve, when I repeat the task.
And then... if not that, there's always refactoring legacy code ;-).