There's something about hierarchical arrangements that makes top-down interference utterly irresistible to many managers and executives. Writers may also experience similar strife with their editors, a phenomenon Robert Heinlein described with the perfect metaphor: "After he pees in it himself, he likes the flavor much better."
Sometimes, a leader leverages their hard-won wisdom and experience to steer a project onto a better path. But, all too often, someone's imagined wisdom and starving ego force a perfectly good train off the rails.
Today, our friend and long-time submitter Argle shares an example of the latter:
Between 2017 and the end of 2023, I worked with a contracting firm. The work was quite varied, and I generally liked all the clients I had to deal with. One of those was Regional Western Electric. RWE was a good company, and the engineers I worked most closely with were guys I'd happily drink beer with. The project itself was a bit of a WTF: it was a transformer design program written in BASIC running on DOS (from circa 1988) that they wished to modernize.
While it's possible to write good BASIC code, that generally doesn't happen, and this project was typical. Aside from having a horrendous user interface, their 10 base transformer designs started as a single program and bloated to 10 programs, all sharing variables
g1throughg99andg1$throughg99$. At some point, they got a language update, so full-length names dotted the program, and a few line numbers went away.Thankfully, they didn't want us to fix the program: they wanted it replaced as web application for their intranet. This proved that there ARE smart engineers and management.
My job was to convert all the math from BASIC to C#. I was more the math guy than the other senior programmer who wanted this to be our second big project in Angular. (The first was an internal project.) This worked well, though I did ask at the start if it wasn't wiser just to have me get together with their engineers at a marker board and just figure out everything directly. There was some discussion about this, and one engineer remarked that we'll probably look back and regret not following my suggestion, but at least going the "conversion" route let us compare old output to new.
Since this was a fact, we forged ahead. The catch with this was that I had to replicate all the content errors, and there were many. A sorted table of wires had one sorted out of place. A lengthy magnetic field calculation was negated by multiplying by a global variable that was always 0. The code was littered with *1.1 or *1.05 to add 10% or 5% fudge factors to one specific design, then left in the code. As this progressed, the project went from unmanageable code to which nothing new could be added (they had newer equipment which couldn't be figured into designs) [into something manageable].
This is the happy part of the story.
The unhappy part is what happened to my co-worker. While I had a lovely base class for the transformers and happy virtual functions making the designs slick, he had something similar working in Angular. The CSS was great and designed by our house designer (who was good at his job), the components were perfect ... the whole thing was a showcase project.
Then came the meeting to discuss the aforementioned additions that everyone was looking forward to. For the first time, their IT director joined one of the meetings. He looked over everything, then declared that he didn't want to learn Typescript and Angular, and then insisted that the whole front-end be rewritten in MVC.
The company was paid by the hour, so the owner didn't mind this, but you could almost see the smoke rising from my co-worker's head as he spent weeks on the rewrite.
As for the IT director, he never stuck his nose in the project again. Never maintained it, and retired around the time I added some of the new features.
Sadly, the period of inflation ate into any budget they might have had to move on to the next big phase of the project, and I've moved on to another company.
It's just a shame what one person throwing his weight around can do to a project.
This post originally appeared on The Daily WTF.
