So, why "Logic Is Hard"?
Back in the Before-Time (before I had a good job with a decent company), I had a stressful job with a ... well, let's just say it was *another* company. And this company needed to be able to do e-commerce on a particular Web Site. We had already developed an e-commerce solution for an earlier Web Site, so obviously we know how to do this... so the company pulls a "Dilbert" and buys into a third-party solution. "Hey, we could make this in-house for next to nothing!" - "Naw, let's spend 2 million dollars on something another company developed instead!" - "Keen!"
Thus, the nightmare began. We had to install this piece-of-junk application on our web servers, then we had to make it work with our Web Site, all with the *help* of their highly-qualified consultants. When I say "highly-qualified", understand that this means they were high.
One of our guys was having trouble one day, and asked one of the consultants to help him. She looked over his shoulder for about 5-10 minutes, suggesting this and that, oh, that didn't work either, what about this, no, hm.... Finally, she patted him on the shoulder and said, "Well, you're a smart guy. You'll figure it out." That was pretty much the extent of the *help* they were able to offer.
The application was basically Java. The only customizations they had made was to add text files that were treated like databases, and were fiercely guarded as "Intellectual Property". Seriously... one of those text files had a list of the 50 US States, and "Oklahoma" was misspelled. We were not allowed to fix this... it was just a text file, it lived on our servers, but it was their text file. The engineers had to do it for us. In a full year and a half of struggling with them, they never fixed it. This same error also existed on their own homepage. It was pathetic.
So, frustration builds. It amplifies. It reaches a fever pitch. This was by the end of week 1. The adventure continued for months. Then, the conference call to end all calls...
We got on the line with a representative of their company. This was a new guy that they brought in specifically to help us with our difficult installation. We started to confront him with the problems we were having. He was dodging our questions well at first, but we started to nail him more and more, and he started acting more and more like a whipped pup. "Why can't we make it do this?" - "Um... well... you see... " "Why is it so slow?" - "Well, um..." "You said it could do this!" - "Well, er..."
Finally, the guy snaps. He says, and I swear I am not exaggerating ...
"What you have to understand is that [name withheld] is a huge program, and logic is hard!"
Incompetence at its glorious best. "Logic Is Hard" has been with me ever since.