In the movies, programmers often presented as some sort of geniuses; kids are breaking into Pentagon databases and so on. In reality, programmers are regular people who just happen to code as their day job.
In fact, I remember one colleague of mine from India, who, in a moment of frankness, told me that he because a programmer not because he loved programming, but because it was a needed skill that was required on the market.
So because so many people in this business are for the money rather than by call of their heart, there is so much convoluted, ugly and error-prone code hidden around.
Once, working in one company as a consultant, I noticed that their main application taking several minutes to start, which seemed odd. Taking a look under the hood I noticed that program data was loaded and unloaded many times. Apparently, several different coders worked that project and their actions weren't coordinated. Each of them needed the same data or similar data and built his own "door" into the application.
I let know of this to the director of application development of this company. What he needed to do was to pick one of the openers, make it the opener, reconnect all the parts of the application to this one opener and delete extra code. He listened to me silently nodded his head in agreement.
Several days later, when I started the application I was a new bar that stated