It seems that in the past few years, advancements in programming languages and environments has once again led us down a road of waiting forever for things to happen. Just as I’ve seen compilation times for C++ code drastically reduced due to progress and advances in compilers, I’ve seen times for other build tools skyrocket.
What is the big deal with waiting on software? Well, a lot.
The first and most obvious consequence is the time lost waiting for the process to run. There are far more productive things we can be doing with our time than waiting for something, and as a programmer, I normally can’t even check my work until the thing I’m waiting on is completed. Over the course of a week or a month, even delays of a few minutes that we put up with on a daily basis can add up. As a business owner, I also have to be cognizant of the fact that the effects of delays are multiplicative. Each of my employees and co-workers who are encountering the delay add insult to injury. A three minute delay encountered four times a day over the course of a week by three people adds up to a four hour loss of productivity in the week.
This is time where your employees and yourself could’ve been productive, but were instead waiting on slow software.
It gets even worse.
When people are waiting on something, there is a tendency to task switch or find something else to occupy our time. In this day and age, this “something else” most likely ends up being social media or surfing the web.
Changing gears like this has a detrimental effect on the flow of work. We humans are not very good at task switching. But even the best multitaskers among us have yet another problem when we start surfing twitter or facebook:
We lose track of time.
Now instead of waiting three minutes, it took ten minutes to realize the thing we were waiting on had in fact finished. I’ve seen this become a cycle where I’ll get almost nothing done in a day because of delays and compounding distractions.
The bottom line? Next time you’re evaluating a piece of software or writing something on your own, keep in mind that performance is always one of the critical considerations. Don’t waste people’s valuable time when a small change in a query or a processing algorithm might make all the difference between someone getting their work done early and someone having to stay late on a Friday night.