top | item 38925377

(no title)

rauljara | 2 years ago

A huge +1 for automating all the things as a form of practice! I don’t even think that you have to (strictly speaking) end up saving time on a particular task for a lot of automation to be worth it. The act of practicing automation makes you more efficient at future automation. Even a failed attempt at automating something can teach you stuff about why certain things are hard to automate that can make you a better engineer.

Getting in the habit of automating stuff in your editor and environment can also have a real snowballing effect. Yes, you end up “wasting” some time with yak shaves that don’t work out. But it doesn’t take long before the scope of what you can tackle in a day grows. It’s really profound how much friction you can remove, and how much friction there is in fresh environments.

Also, and ymmv, but a lot of repetitive tasks can be pretty soul crushing. Too much toil and you can come to dread your job. Automating something away almost always feels rewarding to me. Keeping yourself happy and motivated in your work should also count for something.

discuss

order

pksebben|2 years ago

I feel like my ADD makes the soul-crushing busywork thing way more of a motivator. Half of what I do at work is just an upgraded version of the things I do to go really far out of my way not to do a thing twice.

There's another benefit, too. By "living in the system" and treating every part of the computer as something to manipulate, automate, and control, you get a more organic sense of the shape of the thing. It's a fairly common occurrence that I'll have a feeling that something ought to be different without really knowing why, and then later that feeling is proven out (this typically has to do with stuff like the shape of dependencies or the usage of tools in contexts that are a misfit, which then turns into ever-expanding kluges that should have been better design from the outset).

That said, try explaining to someone else on the team that "I dunno, just doesn't feel, like, nice".

swsieber|2 years ago

Here here! And not just automation, but glue! At my last job I was a big advocate for automate all the things. "Manual Jenkins lookup task? I bet I could write a plugin for that.", etc. I got lots of practice jumping into new systems, tracing what the minimum essentials for what I needed to do were, and then making something useful.

At my current job we have some code that generates typescript RPC bindings from our java code. It's quite slick but the backend definitions and the frontend definitions aren't linked, and navigation between them is a pain. So I decided to write an IntelliJ plugin that allows for navigation and find usages across our two languages. Took 2 days-ish, but totally worth it.