Automation Was Never Sexy And That’s the Point
Solving technical challenges never sounds sexy. When I say I automated ten boring tasks so I don’t have to do them by hand, I’m usually the only one who gets the win. Why? Because in the beginning your scripts and tricks were only ever used by you. That’s how it was when I was starting out.
It’s worth saying that automation is much easier now than it used to be. Back then there were a ton of things you simply couldn’t do outside the Windows GUI. Today the reverse is almost true — there are only a few things you have to drop to a command line for, and nearly everything else can be done there.
The one that got me started
One of my first automations, as best I can remember, copied user profiles from the domain profile storage to a local Windows NT terminal server, because rebuilding the profile by hand took too long. I built it to deal with a problem I kept getting stuck on — it took an hour or two to fix manually, and it always came up at the worst time, because by then the system was already down.
It was not sexy. Nobody cared about that script on any normal day, and this particular problem doesn’t even exist anymore. So who cares, right? Fair. But that little script was the juice that got me learning how to make things move faster.
The one that was worth the fight
The first automation that saved me real time pulled HBA addresses out of vCenter. I know how boring that sounds. Stay with me.
Quick glossary: an HBA (Host Bus Adapter) is the card that connects a server to storage; its WWN (World Wide Name) is that card’s unique address — like a MAC address, but about twice as long; PowerCLI is VMware’s PowerShell toolkit for scripting all of this.
When I was starting out with VMware I got introduced to PowerCLI, and that was the moment it clicked: if I could understand PowerShell, I could script my tasks away.
Here’s the setup. In an enterprise you connect your hosts (the VMware hosts I manage) to storage (usually a SAN run by another team), and you run virtual machines on the hosts with their data living on the SAN. Hosts and storage are joined through HBAs, which give the host very low-latency access to the storage presented to it. To coordinate anything with the storage team, I needed every HBA’s WWN — two per host, up to ten hosts per cluster, so as many as twenty addresses pulled by hand without a single mistake.
It wasn’t hard, exactly, just slow and unforgiving. Today you’d grab all of it with a one-liner — something like Get-VMHostHba piped into a Select — and be done. Back then you couldn’t. You had to walk down through several sub-objects in PowerCLI, reach the HBA, extract the value, and then convert it — hex to dec or dec to hex, I don’t remember which — in .NET. That conversion step was the real wall, and I had to pull other people in to help me get it right. Totally worth it. And of course they fixed it in a later version, so nobody needs my script now either.
The one I regret
I’ve got regrets too, and they mostly come down to the same mistake: leaning on one tool to force a problem instead of building something that could actually monitor the situation and make a choice.
This one was also in VMware. I was trying to deal with a storage lock. There’s a process for clearing it, but it meant SSHing into the core systems, which meant more people having access to core systems than should. So I wrote a script that — based on what I’d read — would issue a reset if the storage was locked.
The problem: I didn’t actually understand how to check for a lock. So the script fired reset after reset after reset, and before long everything on that storage went unresponsive. I killed the script and things came back to normal. Lesson learned the hard way — an automation that can’t read state shouldn’t be allowed to act on it.
When it stopped being just about me
Later I learned that some companies are so buried in technical debt that they’ll take any automation as a step in the right direction. That changed how I saw the work. It moved me from “make it faster and easier for me” to “help the whole team keep track of things without stepping through complex menus” — validating inventory and charges, tracking certificate expirations, alerting on change management, watching storage utilization and trending it over time.
Best of all, I wasn’t the only person chasing that goal anymore, so I got to see approaches I’d never have thought of. Splunk, AIDE, Dynatrace, Selenium, ANT, Ansible — watching how other people used these showed me just how much automation was growing beyond anything I’d been doing alone.
And then, AI
Next thing you know, here we are with AI. I think at some point we all looked at it and figured this was the thing that would finally solve the last mile. Honestly, it has a place — but it isn’t that kind of glue.
Where it earns its keep for me is speed. A good automation used to take me days to write; now I can usually get one done in about four hours. Call it automating the automator. AI has helped me narrow the gap on what’s even worth automating, and it’s done pretty well. But these automations are still led by my thinking about how they should work — the model has to be messaged toward the fix, not left to find it. One tell: I always try to build modularity into a design, and AI mostly doesn’t care about that unless you make it.
So what about AI running day-to-day tasks on its own? I still think it needs someone at the wheel. There are low-stakes spots where it can do little harm, and that’s fine. Where I do let it run, I wire in a guardrail — the simplest and most effective being: no write action without a dry-run first and an explicit approval. Let it show me exactly what it would change, then wait for a yes. Read all day; write only on confirmation. But when AI starts making real decisions on its own, I get suspicious. And there’s a second reason to keep a hand on it: if you abuse people, they look for ways to push back. We’re already watching a lot of folks who feel taken advantage of by AI find ways to get even — poisoning training data, running up someone’s token bill. (There’s a whole lineage here, going back to things like the Jolly Roger robocall-answering bots — but that’s its own essay.) The point is that “just let it run” ignores the people on the other side of it.
Automation isn’t dead — it’s just quieter
We like to say automation is dead. It isn’t. We shouldn’t expect AI to carry it alone, and there’s always a new thing to integrate that has to be understood before you open the firehose.
So do I have everything automated? Not a chance. Some things you just like doing — don’t let anyone take that away from you. Other things are so expensive to automate that it never pays off: a robot to fold the laundry, run the kitchen, pick up the dog poop. Those problems get solved eventually, but they’re hard. I remember a few dog-poop robots that were supposed to crack it and never really did.
And here’s the part nobody advertises: most of the “automation” already in our homes asks more work of us, not less. I’ve got a robot that vacuums and washes my floors. For it to do a good job I have to keep the area clear, keep it topped off with cleaner, and maintain it — call it three hours a week, easily. Doing the floors myself, once a week, takes less time than that.
So not every automation saves you time. The right ones do; the wrong ones cost you more. And a lot of the time the “wrong” one is really just a half-finished one — if you know it can be done, keep going. Don’t limp along on the bandaid.
So — what about you? What have you automated that actually paid off? Do you have one that turned into a cautionary tale? And is there one you’re still trying to drag across the finish line?







