It - A Mentality Problem
3 years ago

In my experience, most code bases are outdated, disorganised, disregarding of convention and/or code quality. Because from the perspective of management, these are nice to have options, unaware of the huge cost in terms of time and money associated to their decision. Management don't care how something gets done they just want it delivered so they can stroke their bosses ego with good looking numbers and play the career ladder game and who can blame them.

However, this mentality of delivery at all costs, means more programers are required to fix bugs that simply wouldn't exist otherwise, which means spending more money because ironically delivery of new features takes longer as the programers are putting plasters on an earthquake sized split in the codebase, and not to mention the detrimental effect this has on team motivation. I know many programers that have either quit or switched industries for this very reason.

Programers are problem solvers, give them an issue and they'll try to solve it in the best way they can. Generally providing overly complex solutions, to problems that shouldn't exist. But because they are seniors, they know best. supposedly.

Let me give you an example from real life (paraphrased):

Scrum master: "We need to have a new Iframe feature, so when a user hovers over a product it displays some details about the product."

Programer 1: "Why are we using an Iframe to achieve this, seems overly complex?"

Scrum master: "I'm not sure, speak to Programer 2 they will know."

Programer 2: "Umm, yes. It was done by this guy, he doesn't work with us anymore. I'm not sure why it was done this way, but it works fine."

This situation is not uncommon. Programers generally don't question existing systems and they will solve the issues regardless of the technical debt that it will create, very few will question why those problems exist in the first place.

As we can see looming economic down turn in the not so distant future, it's more important than ever that we shift our thinking. Clean, maintainable, quality code is mandatory as it will save companies time and money.