Is It Worth The Time? XKCD 1205 updated for open source and shared tools.
People often ask why I contribute to open source projects or otherwise work on building automated tooling. They see me spending hours to automate a task or fix a bug that take seconds to do or avoid manually, in a way that the original XKCD comic says won't pay off. The disconnect seems to be that the comic and those people only consider time it saves me, not time it saves the tens to thousands to millions of other people who will use the script or patch or whatever when I publish it. So, here's a version of xkcd.com/1205 updated for making decisions that benefit a thousand people instead of just one.
How many things does anyone do 50x a day, period? Apart from autonomic body functions I can't think of anything. I probably don't even stand up 50 times a day.
Copy, cut, paste, undo. Use those keyboard shortcuts and if you work with documents for a notable part of the day you will save a half day a year or so.
I click the left mouse button more often each day, also when you work in a production facility you have a bunch of repetitive tasks, automating them is pretty much was humanity did in the last century.
I have a lot of repetition in my job (CAD modeller). Even just knowing keyboard shortcuts & setting up shortcuts for frequently used operations can easily net me 5 seconds per operation. I want to spend my energy on solving the task at hand, not on how to use the tool in the moment. I don't want to move the mouse away from the work area if I can help it.
Maybe not as frequent 5 per day - but scripts for really bottom of the barrel stuff:
Cycle thru all currently open drawing documents, zoom to full page and force save.
zoom out ensures drawing can be identified from document thumbnail.
the software is known to crash, especially editing drawings.
easy 10mins duplicated work saved.
Printing all open drawings out to the office printer in order with a delay between them, so i don't spend the next 20 minutes manually sorting the drawing prints.
printers don't always print in incoming order, some documents take longer to process.
I'll do it for things that don't seem like it will save much, but because it was such an infrequent task I would forget how all the cogs worked when it needed to be done again, and what pitfalls to avoid. So it's not just direct time saved, but also increasing reliability.
Question, can anyone please tell me what job titles cover this skill set? I've seen and performed a tremendous amount of this automation work by data analysts and data scientists, but it doesn't seem to fit the titles. I've seen 'process automation X' as an example but more often than not that title seems to be used for an actual engineer in some assembly line manufacturing job rather than what is essentially a programmer/GUI automator
DevOps for me in hardware (chip design/verification)
You would thing a bunch of engineers would know how to use conputers, but no, they are good at chip deign. Automating stuff for them gives insane benefits and scale.
I work on business intelligence, and part of my job is automatize processes, like comercial team updates excel files and those updates needs to be updated on the database so the dashboards show the latest version. I could do the update manually, but I don't like do that and wrote a python script that do that for me.
I contribute to open source because i use the tool and the problem exists for me as well, and I know how to solve it. I don't care if others use it or not.
I used to write tons of automation in my previous data role. While time saved matters, the other important takeaway is reproducibility. Other people on the team were writing giant SQL scripts and highlight running each one and then manual checking to see if it worked... I'm talking about tables anywhere from 1-100 millions records. You aren't checking shit by skimming a top 1000. And what a ridiculously error prone process that is. Take the human out of that equation!
If the data came out wrong, it would be because the data came in different/corrupted, not because I missed a query. Speaking of different causing problems.. one time a company sent us data that was fixed width by character instead of fixed width by byte. Smh...
This! The point of automation is rarely saving time.
The point of automation is increasing quality.
It can be a data quality, it can be mitigating a production risk, can be avoiding regression.
Heck even unit tests are automation (you may just manually test your code once and call the day).
I am not saying that automation is always good, but the evaluation should be
what is the cost of production/data quality/regression gone wild? (Possibly in€/$/¥)
what is the cost of the person/team performing the task over 1 Year (Again, £€$¥)
what is the expected cost of the person/team implementing automation?
Then you do (3)*3 - (1) *3 - (2). Is it positive? You do, is it negative you? You don’t. The more it’s positive the higher the priority of doing.
Why the *3?
The first because the expected cost of automation is always massively underestimated
The second because it takes multiple times something goes wrong till the decision is reconsidered 🙂
Why 1 year? Because generally the task to automatize changes or disappear
I hadn’t ever seen this XKCD, but as someone who’s constantly worrying about spending too long solving silly problems, this is really encouraging. Even more so when you solve someone else’s problems and save them time. Thanks for the share!
Did you seriously see an xkcd from 3 or so years ago and get so angry that you felt the need to run and post in a forum about how they are wrong and you are actually the savior of humanity?
Heh, I can't wait until the person who insists that detecting a desired action based upon CPU temperature is actually a very important workflow and an example of why developers need to be wary of fixing bugs
It's a good point to make and interesting to see how the numbers shake out ... both of which come together to make the broader point that many people probably have bad intuitions for what these numbers look like.
Most of my motivation here was recurring conversations with friends and colleagues and strangers about how much time I put into making small contributions to open source projects.
If you are having recurring conversations with everyone you know (... and apparently many you don't?) about spending too much time "making small contributions"... you probably need better time management skills.
And yeah. That is pretty much what I assume happened. You made a comment about how you spent twelve hours optimizing the way you read your email. Someone jokingly pasted an xkcd comic. You went "well ackshually" and decided you would argue that you are saving the world by saving everyone else time and blah blah blah.
Which is how most of these go. Because people either seem to realize they are supposed to laugh along with xkcd in a "Well... uhm... Okay, you aren't wrong but.. I got nothing" kind of way or they laugh until they feel "called out" and get set off.
Did you seriously see an edit of an xkcd from 3 or so years ago and get so angry that you felt the need to run and post in a forum about how they are wrong and you are actually a massive douche?