It’s a well-known fact in programming circles that trying to make something run faster (or whatever metric you’re chasing) before you know that it’s too slow can lead to all variety of problems. Complexity increases in an attempt to make things faster, or have additional layers of caching, or whatever it takes.
Of course, you don’t know if it matters. You spend time developing the solution, and then you have additional weight to maintain forever.
I ran into the same problem myself. But not in code.
The slide scanner thingy I keep talking about is a lesson to me. I spent a lot of time trying to make something that I can automate and scan tens of thousands of slides with minimal intervention.
You know what? That’s dumb.
I realized a few weeks back that automation isn’t what I should be chasing; I was optimizing a process that hadn’t even worked the first time. I needed to establish a beachhead and just get something working.
It’s so freeing to not try to solve all of the problems at once.
You don’t have to swing for the fences when you can win just as well with singles.