> I worked on a 9-figure construction project and there were two full-time engineers specifically tasked with looking for ways to reduce the cost of the project, because it was essentially free money for the contractor.
Semi-related story:
Way back I was a trainee for a company, which won a contract to upgrade the the branch servers for some other company, about 500 of them.
The on-site process involved copying over files from the old Unix server to a new NT4 server running Citrix, split maildir and home directory and set proper user-level permissions on each users home and mail directory.
The whole rollout was going on for just a few months, so we had tons of folks doing this in parallel at each site. During the first site I saw the manual our project team had created, and it specified us doing the copying and permission setting using Windows Explorer. To change the ACL that meant scrolling down to find the right abbreviated user name matching the directory name... fun when there was hundred employees at a branch.
I figured there had to be a better way, and started writing some batch scripts. After about a day I had automated the whole process, including sending a mail to our phones (the phone company had a service turning number@phone-company.com into an SMS).
So I just launched the script, went for a 1-2 hour lunch until the phone beeped. Then I just had to go over the logs and verify there were no errors, and job done.
Back at base, I shared the scripts with my coworkers, which obviously loved not having to do the tedious process as specified.
It was only after the end of the project that I learned that the contract included a fixed rate of 3-5 days per site for one or two techs, depending on size. After all, changing all those permissions manually took a lot of time. After I wrote the scripts nobody used more than half a day...
Did I get any extra compensation for that? Of course not, and I was too young and shy to ask.
Fresh out of high school, I worked for a telecom contractor, installing large cross-connect machines. (Think 20-30 racks of equipment, a few thousand DS3s worth of capacity, which in the late 1990s was a lot.) We'd do the physical install and some very basic continuity testing, then hand over the keys to the vendor's own tech who would "turn up" the machine, thoroughly testing it and making it ready for service, before finally handing it to the customer who would provision their actual traffic on it.
The turn-up procedure was documented in the manual and technically anyone could do it, it was just customary to have the vendor do it. And they charged handsomely for it, flying out a tech who would spend 2-3 weeks on site running through the procedure. It was quite a lot of manual work, adding and deleting connections throughout the whole range, and plugging a T-Berd tester into the patchbay to verify transmission of every single circuit. The tech was quite busy during those weeks.
My company decided (at a level way above me) that we were gonna try to get into this line of work. As the pimply-faced youth with some computer experience, I got tapped for it, and paired with a graybeard who had done something similar back in the 80s and had a sense of the lay of the land. The logic was that our first few jobs might not make us any money, but we'd get better, and anyway just saving the airfare would be a win.
The manual specified typing all the commands directly into the machine's (TL1) prompt, but I wanted to avoid typos, so I typed everything into Wordpad first and then pasted it into the prompt. Which meant I was creating a log of all the necessary commands, and I could search-and-replace various parts to advance through the range of valid circuits. Less typing, more pasting. By the end of our second day, we were screaming through the testing (still doing everything by the book, just typing an effective 500wpm and making zero typos) way faster than the vendor's tech ever did. Running back and forth with patch cords and T-Berds was the principal limit.
By the end of the first week, I had written a QBASIC program to obviate the search-and-replace, and just spit out bespoke commands for any given range, or for a whole machine at once if you wanted to feed it the whole config. The output was a many-thousand-line text file which you would then drip-feed to the machine while doing the needful with patch cords and your trusty T-berd. As long as nothing went wrong, it was literally just one long file-send with pauses for jogging across the office. And as our installers were very good, things rarely went wrong. (I did find out that the machine's input buffer was only a few hundred characters, thank goodness the terminal software had an inter-line paste delay!)
Our very first job came in at less than half the time we'd bid, and it only improved from there. After our third job, I believe, I went solo. I bought a pair of WPC11 cards and parked one laptop at the machine's console port, carried the other with me to the patchbay, and eliminated the running-back-and-forth time too. Wizardry! Laziness! Profit!
I proceeded to reverse-engineer quite a lot of that machine, finding undocumented debug interfaces that saved tons of time when things did go wrong, so we could avoid the blind combinatorics specified in the manual, and instead directly zero in on the errant signal. When things went smoothly, I was 3-5x faster than the vendor's own tech. When things went wrong, I was 10x faster.
Extra money? Nah. But I was having the time of my life.
Semi-related story:
Way back I was a trainee for a company, which won a contract to upgrade the the branch servers for some other company, about 500 of them.
The on-site process involved copying over files from the old Unix server to a new NT4 server running Citrix, split maildir and home directory and set proper user-level permissions on each users home and mail directory.
The whole rollout was going on for just a few months, so we had tons of folks doing this in parallel at each site. During the first site I saw the manual our project team had created, and it specified us doing the copying and permission setting using Windows Explorer. To change the ACL that meant scrolling down to find the right abbreviated user name matching the directory name... fun when there was hundred employees at a branch.
I figured there had to be a better way, and started writing some batch scripts. After about a day I had automated the whole process, including sending a mail to our phones (the phone company had a service turning number@phone-company.com into an SMS).
So I just launched the script, went for a 1-2 hour lunch until the phone beeped. Then I just had to go over the logs and verify there were no errors, and job done.
Back at base, I shared the scripts with my coworkers, which obviously loved not having to do the tedious process as specified.
It was only after the end of the project that I learned that the contract included a fixed rate of 3-5 days per site for one or two techs, depending on size. After all, changing all those permissions manually took a lot of time. After I wrote the scripts nobody used more than half a day...
Did I get any extra compensation for that? Of course not, and I was too young and shy to ask.
Oh well, lesson learned.