"Do whatever it takes to solve the business problem now and we'll worry about the other stuff later" is what produces horribly complex code bases because "later" never comes and management will never justify the time to fix things.
This presents you with a number of problems:
* It makes it harder to pivot in the future. You may end up having to rewrite a lot in order to extend the original model.
* In most cases, this means no tests.
* Maintenance costs significantly more.
* When you hire new people to work on the code base, it will take a significant amount of time for them to come up to speed and be productive in the code base.
I assumed OP was competent but not stellar, so my answer was about the difference between average and good.
You're talking about bad. I agree that no competent programmer would do the things you're describing if they could possibly help it. So we probably would have given OP the same advice if we had started with the same assumptions.
This presents you with a number of problems:
* It makes it harder to pivot in the future. You may end up having to rewrite a lot in order to extend the original model.
* In most cases, this means no tests.
* Maintenance costs significantly more.
* When you hire new people to work on the code base, it will take a significant amount of time for them to come up to speed and be productive in the code base.