I remember a job as a junior programmer: typical 90’s era C++ Windows application. Compiling it with compiler defaults would spew out a continuous stream of thousands of warnings. This was before unit tests and static analysis were in vogue, so random crashes and errors everywhere. Major performance problems. I argued for code hygiene, fix all these crashes, figure out what’s behind the compiler warnings, etc. The response was predictable to anyone who’s been in software for a while: No, we actually need moar features! Keep spooning features into the software and we will succeed! One of my tasks was actually to write a separate process, a watchdog, that would detect every time the app crashed and re-start it quickly hoping the user didn’t notice. Totally demotivating if you were passionate about software craftsmanship. I started fantasizing that the company would crash and burn, and I would be standing there among the rubble saying, “See, I told you to fix those COMPILER WARNINGS!!”
Never happened. The company simply limped along in this now-familiar “zombie mode” neither succeeding or failing until it was gobbled up by a bigger mediocre company.
Never happened. The company simply limped along in this now-familiar “zombie mode” neither succeeding or failing until it was gobbled up by a bigger mediocre company.