I've been having to do a lot of very tedious work lately. Repetitive,
stupid tasks. This sounds like it could be automated perfectly.
However:
-- I was forced to use software with no APIs or bad APIs.
-- Even though the tasks were repetitive, there was a lot of
"branching" involved: Sometimes foo should happen if bar holds
true, or baz should happen if bar and bam hold true, and so on.
To automate my tasks, I would first have had to familiarize myself
with the various APIs. This alone takes some time. Then, I would have
had to write a lengthy program with many, many "if" statements. If I
were to make an error here it could have devastating effects, so I
better pay a lot of attention and be very careful. This, again, makes
it more time consuming.
At the end of the day, I did most of the work by hand. I only
automated what could be automated easily. I felt pretty stupid.
However, I was finished *a lot* earlier than I originally thought.
Moral of the story: Automating things is great but don't forget that
you first have to write the code. Running the actual code might be
done in a few seconds, but the "pre-work" can be very, very expensive.
Also, don't get scared by large amounts of manual work. Don't
underestimate how much work you can do -- just do it, don't waste time
thinking "this is too much work to be done by hand".
____________________
On a similar topic.
I really wish that more people would embrace the power of plain text
files. I wish that people would remember (or realize) that a file
system on your hard drive is a powerful instrument.
Instead, our modern "IT world" is cluttered with databases and
frameworks and web applications. All in the name of "usability" -- so
they say. In reality, many developers simply don't know better.
Others do, but they fear for their job.
It makes me sad and angry. It's a waste. A waste of computing power
and, more importantly, my time. It makes my life more complicated. I
have to do tasks that I wouldn't *need* to do if we "fundamentally"
changed how we process data.
For example, Git is a powerful tool and it works very well. I believe
one key aspect is that its internal workings rely on a rather simple
design. Just imagine what Git would look like (and feel like) if it
was a web application with a database backend. That application would
also need a plugin system because there is no shell that helps you
build your own tools around Git. Most likely, the application would be
written in Java or -- if you're lucky -- Python, both would further
boost its inefficency.
Does that sound silly? Who on earth would build a VCS as a web
application? But then again, most "wiki software" out there is just
that. And, uhm, just think about Dropbox or Google Drive for a second.
But, of course, these days are over. Nobody wants to use text files or
maybe even simpler tools anymore. People have different standards.
I'm not sure why (I have many theories, though). In any case, I have
little hope that this will change again. It's just over. Things will
only get *more* complicated.