Member-only story
Bad Development Is Intensely Habit-Forming When Rewarded
Culture sets standards

The iron rule of nature is: you get what you reward for. If you want ants to come, you put sugar on the floor. Charlie Munger
Software developers create software for the speed and quality they are rewarded for.
Software development projects are driven by short-term decision making, favouring instant result and fast progress. The focus of software projects is on the creation of software not the long-term quality or maintenance of the software.
Short-term solutions create tomorrow's problems. Leadership on software projects focus on solving the symptoms of problems and no underlying problems or the entire system.
The underlying problems remain untouched, creating more symptoms (problems) and with a delay the solutions create further problems (technical debt, bugs, problems associated with low quality code).
Why does low quality code get rewarded?
Senior developers set the culture of a development team. The culture sets the standards, these are enforced via code reviews. The acceptable standards affect the quality of the code created.
The culture of the company affects the software approach and the messages coming from management/leadership.
If a company competes on price, they view software development as a commodity, the focus is on developing as fast and cheap as possible. Anything steps in development they view as not needed (testing, code reviews, etc) will be removed in order to spend more time creating software.
A company who competes on quality and they focus development process on quality. The culture, the individuals, the standards and best practices are focused on creating quality.
The management/culture influences the code created. Incentives for fast code and punishments for code that take longer (quality code). If the senior developers are not interested in the code's quality, only the time to create the code this will lead to developers creating lower quality fast code.