If it doesn't Squeak, be sure to ROAR!
Paul Hodges
Scripting SME, DEVOPS/GitOps Automation driver, Refactoring Evangelist, Compulsive Raconteur & unrepentant Disciple of Google Fu
Everyone knows the squeaky wheel gets the grease.
Oddly enough, there are people who count on it, who depend on the fact that the wheel not only squeaks but screams and grinds every time it is used, and so they have to manually massage it along until it can get to wherever it needs to be. See? I made it work -- you need me!
Ugh.
That's what automation is for. You figure out how to make the thing work, and then you do it the same every time. No special nudges, no little hacks... if something fails, you find out why, and you fix it once and for all so that problem is never an issue again.
Yeah, I know - awesome, eh? Consistency! Standardization! Dependability! And it even oils itself...so no more squeak!
And then management raises the bar and asks but what have you done for me lately??
Because the squeaky wheel gets the grease. The silently running well-tuned machine is ignored till something goes wrong, and though you are busily eliminating all the squeaks, saving the company endless wasted man-hours on midnight calls for outages that aren't happening, no one remembers those wasted dollars once you fix those problems, and no one generally sees the hours and hours you spend with your nose to the grindstone, sparks in the darkness often the only light you get in your little mushroom corner of the company, the gnome that spins straw into gold behind closed doors with no squeaking...
An anecdote...
I never used all my vacation time. I always ended up pushing 40hrs over into the next year, and scrambling to use the rest before I lost it. After ten years at the company I was in the middle of a Wednesday morning during one of those use-it-or-lose-it weeks off, on a call with someone who had asked a question no one else could answer about some obscure detail of Puppet-based deployments that was performing as designed but not as expected. I explained why it seemed confusing and assured the Ops Admin that it was working as it should, and made a few notes about how I could make the logging a little clearer for the people that had to handle deployments when the usual guys were off for the day.
I wrapped up my call well before lunch, checked the clock, and decided it hadn't taken long enough for me to bother trying to correct the PTO intrusion when I could easily just sleep in a little next week to reclaim the time...but before I could log off and shut down my laptop, my boss pinged me to ask if I could join a call. "Sure," I sent - a few more minutes wouldn't hurt.
It was him and someone from HR, calling to tell me Friday would be my last day. They had outsourced the entire Configuration Management department, and my job wasn't going to exist anymore. "I know this is sudden," he said... "Feel free to take the rest of the day off."
Yes, my own immediate supervisor was unaware that I had already taken off the entire week. He was unaware that even though I was on PTO, I was still enjoying my job enough that I was kind of working anyway, helping out the Prod Ops team so they could skip the alarm they thought might be necessary because they weren't the usual deployer and didn't understand the system. He didn't realize I was halfway through another upgrade that was going to make the process easier, faster, more stable, and more maintainable for whomever might come behind me.
He didn't know, because I made sure it all worked as smoothly as possible, made sure the team knew they could always contact me directly if they ever needed support, made sure he didn't have to be roped into every issue... I still don't understand how he could NOT know I was on vacation, since he had to approve it, but that's another issue I guess...
Dunno What He Even Does...
I had learned Puppet just to handle this code, which was dumped on us by a 3rd-party contract firm. I had refactored it to keep it running smoothly, and fixed several bugs, and it was working.
I had learned PHP to fix the internal order correction system, and refactored away 30% of that codebase - there were 30% fewer bytes of "code files" when I was done, even after adding features, and LOTS of comments and whitespace to improve readability, because I stripped out the trash and upgraded the algorithms, and it ran noticably faster, and had much better security...
I did about the same for the Perl code I had been actually hired to maintain, and managed to get that app, which handled about 75% of the company's revenue, into the QA pipeline for the first time - the QA team had never heard of it.
I set up enforcement for SOX rules. I fixed and tuned some shell-script utilities for the fraud department, and some SQLs for the QA team, and had some great discussions with the DBAs who were a great bunch - we helped each other out a lot...
Then they outsourced the CM department, and I spent the next two days making sure the usual Ops Admin had everything he needed before I was gone.
"So...," he asked, "If you're gone, who's our Puppet SME now?"
"That would be you," I told him. "Call me if you need me." He already had my phone number.
I made some good friends at that company, people I still interact with today. I learned a lot -
One of the things I learned was that if you don't make sure your boss knows what you do and just how valuable you are, he will be too busy with other things, and may not know to go to bat for you when the proverbial excrement strikes the oscillating aerator. If you are successful in silencing those squeaks, make sure you beat your own chest a bit in the resulting quiet.
My last boss at my current job said to me once in a performance review,
"I have no idea what you do. If you told me, I wouldn't understand it; but I do know that three years ago I was on a trouble bridge at 10PM more nights than not. Since you automated the microservice deployments, I get to sleep at night. If I knew nothing else, that would be enough."
But not all bosses notice such things. He's moved on to a new position, and his replacement came in from another department, and with a major team reorganization there's really no way for the new guy to know and understand what I do without me telling him, and I will try to make sure he gets it. I'm a resource he wants on his team, making his bottom line look better and better.
Sometimes you just have to roar a little.