I've had something similar delivered to me on a project I hired out. The most frustrating part was not the code but the developers reaction to why it was so bad. He had no idea what the big deal was and thought I was being nitpicky.
Worse yet, was an initial claim that it was more efficient to do it that way. That was followed up with a claim that doing it differently wasn't possible.
Needless to say, I stopped working with that team of "developers".
>The most frustrating part was not the code but the developers reaction to why it was so bad. He had no idea what the big deal was and thought I was being nitpicky.
This is always the worst. I've had experiences like that on many an occasion, where the person is simply like "huh? what's wrong?"
You can't really fix that level of sheer incompetence, ignorance, and arrogance all wrapped into one.
> You can't really fix that level of sheer incompetence, ignorance, and arrogance all wrapped into one.
Sure you can. You can tell them why it's wrong and point them at reading material to fix it. Fixes incompetence and ignorance, and if you're lucky, arrogance. All wrapped into one.
True, but it depends how arrogant and stubborn they are. If they're just simply arrogant and don't understand, you can do something, but in many cases they'll insist "this is fine. what's your problem?"
> Worse yet, was an initial claim that it was more efficient to do it that way
This is a classic excuse... so what if it leaks e-mail addresses (who looks at source code anyway?), makes clients wait (at least server's CPU is intact), and is just plain illegible (there is always a debugger if you want to fix a bug).
It's not possible the teach these people without encountering a massive, irreparable, hack. Nothing short of complete obliteration of their project through their own incompetence will work because the Dunning-Kruger effect is in full swing.
The smartest people I know are acutely aware of how little they actually know compared to how much there is to know.
Worse yet, was an initial claim that it was more efficient to do it that way. That was followed up with a claim that doing it differently wasn't possible.
Needless to say, I stopped working with that team of "developers".