Quote:
Originally Posted by twowheels
One of my biggest failures at work is assuming that something will be easy because it "should be". I have found, repeatedly, that it's better to assume that if something CAN be done in an overcomplicated way, it will be.
An example... a piece of code that I specified was for a temporary solution that did not need any future-proofing (it was to support a piece of legacy hardware that hadn't changed in 15 years and was being phased out) and that I felt (as one of the system designers) should have taken 25-50 lines of code to write, and a few hours... after 3 hours of meetings trying to explain it to the developer (with the title 'senior'), and three attempts on his part, it finally came back a week later as a 700+ line source file, with a 400+ line config file. I was in complete shock.
Another senior developer with many years of experience writing video games once "fixed" a bug in a medical device where measurements were off by 4. I later found a '+ 4' hidden in the code. He was fired the same day. This is the same guy who'd spent nearly 6 months working on a feature that was buggy as could be and after many months of testing cycles with bug after bug and many people trying to figure out his 50 boolean flags that were trying to keep track of all of the special cases and past history of what had happened to make it do the right thing next, and other developers trying to help fix the bugs by adding even more flags... I finally got permission to rewrite it myself and did it in less than a day, with ZERO flags to keep track (just one state variable and a simple state chart) and it had ONE tiny little bug that was found the next day where I went "doh!" and fixed it in less than 30 seconds. No bugs were ever found in that code after that.
|
I am not a programmer, but I deal with the results of their work on a daily basis. I swear, sometimes I think they overcomplicate things as a means of job security. If you're the only one who understands an essential system, they can't get rid of you.
I wish more developers followed your inherent philosophy of keeping it simple.