So familiar
There was one contract job that was absolutely brilliant. Just two questions in the intake meeting: "Can you start tomorrow, and do you always wear those silly clothes?" Lots of leeway, they knew what I was capable of and that I would get things done.
But there have been others.
Manager: "Why is the backup still running when people come in and need to start working?"
(logins are disabled during backup)
Me: "Lessee, <poke, poke> oh, it could start right when the database extract is done, but instead it starts at $fixed_time, which is well over an hour later, usually. That's easy to fix. Then we could tweak some backup parameters to speed things up. We can also make sure the important files get done first so that in case we have to kill the backup for still running too long, we'll just miss a few odds and ends."
Manager: "Right, take your suggestions to $permie for approval"
Me: "OK"
Me: <type, type, print>
Permie: "I'll look into it"
[time passes]
Manager: "The backup is still running into office hours. This is unacceptable"
Me: "I handed my improvements to $permie, but he hasn't given the nod yet."
[more time passes]
Manager: "The backup is still running into office hours. This is unacceptable"
Me: "I handed my improvements to $permie right after we discussed the problem the first time, but he still hasn't given the nod yet."
[even more time passes]
Manager: "The backup is still running into office hours. This is unacceptable"
Me: (inner voice) "Then let me fucking FIX the problem, or get out of my hair"
Me: "Let's ask $permie what he thinks of the modifications."
Permie: "Your script is incomprehensible. We can't maintain it when you're gone"
Me: (inner voice): "WTBF? They're YOUR OWN backup scripts, with a handful of lines to start the actual backup right when the extract is done, plus a watchdog that tells it to wrap things up ten minutes before people need to log in again. And the actual backup now consists of two steps, Important and OtherStuff"
Me: "Sorry, but that's just the way these jobs can be synchronised. It's a standard mechanism exactly for this kind of problem, provided by the OS itself. Nothing unsupported or undocumented"
Manager: "You need to do it differently, in a way that we can maintain when you're gone"
Me: "Sorry, if you think that using $OS_provided_method is unmaintainable, I can't help you"
[exit, stage left]