Kernel programming was profoundly educational as it taught me on an emotional level that all software is broken until you test it (and even then, of course, it only means it passes the tests).
Companies in real-life are similar to software. They are all completely broken.
In short : companies will always choose the worst possible course of action.
I have been trying to order a pair of bike wheels.
I found the pair I want, found a company selling them.
Tried to order.
Order failed each time – but I did have three sets of pending charges on my account, so the order was going through.
Contacted the bank, contacted the retailer.
Retailer replies first – it’s your bank, not us. We never decline payments. I ask them if it could be their payment provider? no. It’s your bank.
Bank replies second – it’s not us. We’re not blocking or declining anything. I ask them if they can talk to the retailer. No.
I talk to the retailer again. I ask for the same guy – no, not available. I explain what the bank had said to me. Reply? “it’s not us”. Followed by – “trying clearing your cookies and cache”.
It didn’t go anywhere after that. I gave up, because there was nothing else that could be done.
So I’m not ordering from them, because I can’t.
I am 100% sure the retailer will do nothing at all in response to this event. It’s bad for them and it’s bad for their customers – it’s the worst possible choice. It’s what they’ll do. It’s what *all* companies do.
I know this, but I still haven’t quite internalized it on an emotional level. If I had, I would have saved 30 minutes of pure tedium filling in stupid forms and having pointless conversations with people incapable of helping.