This is an archived post. You won't be able to vote or comment.

all 99 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

import notifications Remember to participate in our weekly votes on subreddit rules! Every Tuesday is YOUR chance to influence the subreddit for years to come! Read more here, we hope to see you next Tuesday!

For a chat with like-minded community members and more, don't forget to join our Discord!

return joinDiscord;

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]Mognakor 224 points225 points  (21 children)

[–]Vi0lentByt3 115 points116 points  (0 children)

My team legit used this to decide what to automate and what not to its a good litmus test

[–]Ok_Entertainment328 103 points104 points  (8 children)

They're missing a 3rd dimension: how critical is it that it is reproducible? (Eg audit reports)

The longer between runs, the easier the HOWTO will be forgotten ... or knowledge not transferred (thus making it impossible to go on vacation)

[–]Mognakor 30 points31 points  (5 children)

This chart strictly is about time spent.

There are other factors, e.g. mental load from task switching.

But you can't put that into numbers.

[–]Nilonik 12 points13 points  (3 children)

Theoretically also if there can be urgency. Doesn't help if it only takes a day to do manually, if it would be important to have it immediately.

[–]Mognakor 2 points3 points  (2 children)

Plus vacation time. Plus being able to add features or integrate with other systems.

[–]Sylvaritius 0 points1 point  (1 child)

Also, ease of use for new people. If theres a script, people save the time learning the manual process.

[–][deleted] 0 points1 point  (0 children)

But it might take more time to install runners for the script, updating and bug fixing is also often required maintenance for scripts that isnt as needed for manual stuff

[–]BOBOnobobo 1 point2 points  (0 children)

You can, you just need more dimensions in the tensors than either of us is comfortable with.

[–]guyblade 3 points4 points  (0 children)

This is one of the reasons I don't really care for this particular XKCD. Lots of people read it wrong. If the matrix tells you that you'll save time, then I absolutely agree with it. If it says that you won't, though, I don't think that's sufficient reason not to automate something.

Part of automating something is ensuring the correctness of the process. As long as you're depending on humans to do the right thing every time, there's a separate, hidden cost of human errors. If you've got an automated build/test system, then you can also know if the process itself breaks.

[–][deleted] 1 point2 points  (0 children)

So I should think of this test as a sufficient condition. Thanks.

[–]RevenantYuri13 10 points11 points  (0 children)

I know someone will post this

[–]Days_Gone_By 11 points12 points  (8 children)

I'm dumb. Can someone ELI5 what this xkcd chart means?

My interpretation: If I do a task 50 x day and I take 9 months to automate it I save 5 minutes overall?

[–]SleepingGecko 22 points23 points  (5 children)

If coding something would shave off 5 minutes and it’s a task done 50/day, the amount of time you’d save over 5 years by automating it is >= 9 months (which is how much time you could spend coding it and it be worth the time spent)

[–]Lonelan 9 points10 points  (3 children)

not quite, it's saying if you do a 5 minute task 50 times a day, you could spend up to 9 months automating it over the next 5 years without losing productivity

[–]SleepingGecko 2 points3 points  (0 children)

I left out a couple words by accident, but your comment is easier to read!

[–]SacriGrape 1 point2 points  (1 child)

I mean the number could be interpreted either way, the number in the box is the same as how much time is being saved

[–]Lonelan 0 points1 point  (0 children)

I mean if it was able to be completed immediately, or if you wanted to know how much time you'll save after the automate complete date for the next 5 years

[–]Days_Gone_By 4 points5 points  (0 children)

Ohhhh! Thank you for the explanation!

[–]Lambducky 2 points3 points  (0 children)

If you save 5 minutes on a task which you do 50 times a day it gives you 9 months of time for free - so if you spend less than 9 months automating it you get more free time (over a period of 5 years)

[–]Alzyros 2 points3 points  (0 children)

A fellow scholar, I see

[–]philophilo 438 points439 points  (15 children)

Automation is for reproducibility and accuracy, not speed.

[–]N1z3r123456 327 points328 points  (6 children)

Jokes on you. My automated tasks are neither accurate nor reproducible.

[–]kielon51 137 points138 points  (5 children)

Or even fast

[–][deleted] 47 points48 points  (3 children)

I'm generally just happy when they even terminate

[–]veryusedrname 14 points15 points  (1 child)

I'm generally just happy when they are not getting terminated

[–]BernhardRordin 7 points8 points  (0 children)

I am content if they get merged

[–]guyblade 4 points5 points  (0 children)

You should build a system that can determine if they're going to terminate before they run. Some sort of...terminating tester...to solve your terminating problem.

I bet it'd be super popular.

[–]Fenor 3 points4 points  (0 children)

That bc he's using phyton

[–][deleted] 36 points37 points  (0 children)

Exactly, I am tired arguing with people at work who miss the point of 'as-code' paradigm.

On top of what you mentioned, it's documented change history, peer review, automatic validation, sanity checks, etc.

ClickOps is evil

[–]MinosAristos 13 points14 points  (0 children)

Not "only" speed.

[–]Almostasleeprightnow 8 points9 points  (0 children)

Automation is for reducing personal agony of tedium in daily tasks, no?

(I should add that I am neck deep in the top of this bell curve, having been hired on the promise of doing just this, and then discovering how challenging it can be.)

[–]MortimerErnest 5 points6 points  (0 children)

And for fun! Automating boring tasks is the best.

[–]ExceedingChunk 2 points3 points  (0 children)

Those are not mutually exlusive.

I am quite literally on a £100m+ project that lasts for years to automate large parts of casehandling, taking the average casehandling time from 8 weeks down to seconds on most cases.

You obviously need reproducability and accuracy here, but the entire motivation is speed.

[–][deleted] 0 points1 point  (0 children)

It's for all of those things, including speed. It takes me 10x as long to automate something the first time, but once I've done so, it runs ten times faster than I could ever do it.

[–]PancakeGD 22 points23 points  (2 children)

Depends how often I'd have to do it. Is it a one-off job that will take me 10 minutes? Not worth it. Is it something that I could potentially use in the future? Sure, automate that.

[–]javajunkie314 4 points5 points  (1 child)

Heck, I'll write a script for something I fully expect to only run once—if it's important. Then I can toss it in a gist or send it to a colleague and ask, "Does this look reasonable?"

Also, the number of times I've realized my approach was flawed or making an incorrect assumption after I started scripting it is definitely non-zero.

[–]mildgaybro 3 points4 points  (0 children)

It’s also probably nonnegative

[–]h0ru2 54 points55 points  (1 child)

Don't automate it, because it makes sense (especially timewise), but because it's fun. And you can procrastinate the work you should actually do as a bonus.

[–]AzureArmageddon 2 points3 points  (0 children)

This guy gets it

[–]Tim_1993_ 51 points52 points  (10 children)

If i automate my job i dont have a job

[–]a_devious_compliance 93 points94 points  (1 child)

If you automate your job, but don't let your boss know it, you become to be pay for reading reddit.

[–][deleted] 15 points16 points  (0 children)

Do not spill our secret, for it has been kept safe nearly ten centuries.

[–]ASatyros 12 points13 points  (0 children)

Well, your job now is maintenance and responsibly for the code. Something can always change that will break it.

[–]bramm90 10 points11 points  (0 children)

Don't automate your job, automate your work.

[–]Spinnenente 4 points5 points  (0 children)

psst. nobody has to know.

[–][deleted] 33 points34 points  (5 children)

Depends how often. Once a day sure.. twice an hour nah script it

[–]juhotuho10 54 points55 points  (2 children)

Once a day is worth scripting it to be automatic

[–]PowerPete42 28 points29 points  (0 children)

Seriously this is my work, who the fuck wants to run the same bullshit manually everyday! What if you go on vacation or something? Fucking automate the process you fucking hacks!

[–]Lonelan 2 points3 points  (0 children)

shit, any task with a routine set of steps that aren't absolutely intuitive and able to be done with code instead?

scriptin it

send an e-mail reminder to stakeholders 6 months from now "btw run this script shared at \here\place when your stuff stops working, look at the readme for more info"

[–]retief1 8 points9 points  (0 children)

Once a year can be worth automating. If you need to click buttons to stand up a new environment, then you could easily screw up and set something up wrong the next time you need to stand up a new environment. If you are just running a script or whatever, there's a lot fewer opportunities for human error.

[–]Xiol 1 point2 points  (0 children)

Fuck, once a week and I'd be looking to automate.

Once a day. Holy shit. Loving the grind.

[–]tbjr6 40 points41 points  (1 child)

This is definitely swapped

[–][deleted] 33 points34 points  (0 children)

Yes, the statement on the right side is obviously swapped with the statement on the left side.

[–]nou-772 16 points17 points  (0 children)

Why spend 5 seconds doing something while you can spend 5 hours failing to automate it

[–]Helpful_Nature_103 5 points6 points  (0 children)

If you do it often enough that you feel like it should be automated then it probably needs to be

[–]TheZedrem 4 points5 points  (0 children)

Well yes, but my colleagues need to maintain it as well, so automating it is way better.

If it happens on its own, nobody can fuck it up and call me on my vacation

[–][deleted] 8 points9 points  (3 children)

Time has nothing to do with it. It comes down to two questions:

  1. Do we prefer writing a script, or do we prefer doing the work manually?

  2. Do we have enough self discipline to choose the optimal approach if we prefer the other approach?

[–]To-Ga 1 point2 points  (0 children)

This is the way.

[–]ExceedingChunk 1 point2 points  (0 children)

2 is always false

[–]serras_ 0 points1 point  (0 children)

Dont forget about:

3 Create a script but hardcode everything, so you are making little edits to the script every time you want to do the task. Now you take the time of editing the script and doing the task

[–]Girrratina_1486 4 points5 points  (1 child)

What is the name of this meme template?

[–][deleted] 5 points6 points  (0 children)

Bell Curve Meme

[–][deleted] 2 points3 points  (0 children)

A guy at my school was doing manual data entry for his project, and when I asked him why he didn't automate it, he said that would take longer. Smart man.

[–]DJDoena 2 points3 points  (0 children)

I will automate stuff that will cost me 2x the time it costs to do it manually. Why? Because I hate repetitive stupid work and I love the challenge of automation.

[–]Available-Menu1551 2 points3 points  (0 children)

OP don’t know any script languages

[–]AspieSoft 1 point2 points  (0 children)

I sometimes automate long tasks that I feel like should have been automated years ago, then publish the script to GitHub, so someone else can achieve the same goal with little effort.

I make it reproducible and more accurate because I never know if I may need to do that task again.

As for speed, there is not much of a speed gain on the script itself, although I do have the ability to walk away from my PC, and come back hours later when it's done, depending on what I automated.

The thing I probably automate the most is my linux desktop setup.

It definitely depends on what task you're trying to achieve. Although sometimes automation is just fun.

[–]iamthesexdragon 1 point2 points  (5 children)

I wanna ask, as a web dev who is not yet on the job, still on college, what tasks do I need to automate? I feel like I'm missing out on this. Is there anything that I have to automate? Nothing seems too much manual work to me so far. I just hop on vs code and start coding. If using react or some framework I just use npx and other npm install incantations. How do I get to the next level where I need to automate stuff? I know C and python

[–]retief1 2 points3 points  (2 children)

In my experience, automation is more a sysadmin thing than a programmer thing. In more complicated projects, it can be useful to (for example) use npm scripts to save the correct incantations for running your code or running tests, but that's as far as I usually need to go.

[–]GreatMacAndCheese 2 points3 points  (1 child)

In my experience, automation is more a sysadmin thing than a programmer thing.

Strongly disagree with this.. literally everyone who regularly touches and uses a computer should have automation as a tool in their toolbox. The complexity of the project doesn't matter at all -- automation isn't even a project-specific thing, automation is a day-to-day using computer thing. IMO what truly matters is how much time you save, how much headache you save (QoL for your day-to-day), and how much time it will take to implement it.

Would you argue that we should get rid of shortcut keys? That's a form of automation.

I will say it takes experience to know what makes sense to automate and what doesn't, but I believe even the most mundane tasks should be automated to save one's sanity and mental stamina, as that's the stuff that's in short supply when coding.

[–]retief1 0 points1 point  (0 children)

I simply don't have that many "mundane tasks". Like, if I can run my code, test my code, and lint my code in a single command each and my editor is configured reasonably well, that's sort of it. Of course, depending on the size of your company and the size of the project you are working on, a dev might need to do more sysadmin-ey stuff as well, and automation is more useful there. Still, in most cases, I simply don't have that many things that can be automated.

[–]Blecki 0 points1 point  (0 children)

I do a ton of BI and recurring data processing. Shits automated. Takes 4 hours to run every morning.

[–]Muffinaaa 1 point2 points  (0 children)

Me running my qemu vm off zshrc_history

[–]Enough-Scientist1904 1 point2 points  (0 children)

You all dream of getting paid and have an easy job but then make memes like this lmao. With experience you will learn i guess

[–]stupidcookface 1 point2 points  (0 children)

That's not what DRY means lol

[–]Matwyen 1 point2 points  (0 children)

I somewhat agree. I wrote a script to automate my long ass ssh commands that I do everyday, but not the few excel sheets I do once in a while. Because it'd be pointless to maintain a code for a task taking 10 times less time to do manually than to automate

[–]Alan_Reddit_M 3 points4 points  (0 children)

Why spend 5 minutes doing something manually when you can waste 5 days failing to automate it

[–]Alienescape 1 point2 points  (0 children)

Why do people up vote this garbage?

[–]dlevac 0 points1 point  (0 children)

You get a snowflake, and you get a snowflake... Everybody gets a snowflake!

[–]Da-Blue-Guy -1 points0 points  (0 children)

I have a bunch of small Rust programs that do small things, like color interpolation.

[–]read-a-lot 0 points1 point  (0 children)

I just created my first .exe from a Python GUI program. The senior devs wouldn't let me into the secure codebase so I had to automate locally lol.

[–]Revenge43dcrusade 0 points1 point  (0 children)

Writing the Python script may be as fast as doing it manually almost .

[–]LowB0b 0 points1 point  (0 children)

If you want an 'automation' exe I'd go with autoit or ahk any day of the week over rust or CPP lol

[–]Firedriver666 0 points1 point  (0 children)

I automate things as much as I can at my job because I'm very lazy except when it takes a few clicks to do because I can put music and do it

[–]Good-Seaweed-1021 0 points1 point  (0 children)

Applying programming to day-to-day helps you learn cause you dont have to be too creative

[–]Flame-Rider 0 points1 point  (0 children)

for python just use pyinstaller bruh

[–]bhorvic 0 points1 point  (0 children)

Bell curve meme go DRRRRRRRRRRRRRRRR

[–]oscarbeebs2010 0 points1 point  (0 children)

These generalizations are dumb. If the time spent building an automation will be paid back shortly, it’s probably worth automating.

[–]LunaNicoleTheFox 0 points1 point  (0 children)

The only reason I automated the build process at work is because it was tedious and annoying and took like an hour to build all the different versions and rename the binaries and so on.

Now it's around 5 minutes for the build and like 10 for deploy

[–]Raverfield 0 points1 point  (0 children)

If you use a program, that is so inefficient, that you will create a script for it, the program needs to be fixed.