When you spend a couple months making sure that your app is formatted, linted, memory-safe, is modular and extensible, has 100% unit test coverage and a comprehensive integration test suite, checks all that on CI, has fully automated CD, blue-green deployments, deployment monitoring, and finally paid an external consultant for a security audit, but it lacks that one feature that the client actually wanted (but didn’t tell you to focus on), they will get angry. After all, they paid you a bunch of cash and all you have to show for it is an unfinished product.
But then if you quickly slap together two perl scripts which spit out non-compliant HTML and then plop it on Apache running on a Ubuntu box in your garage last updated 3 years ago, the client is super happy because it actually does what they want and you did it for cheap.
I think they’re often the same client.
When you spend a couple months making sure that your app is formatted, linted, memory-safe, is modular and extensible, has 100% unit test coverage and a comprehensive integration test suite, checks all that on CI, has fully automated CD, blue-green deployments, deployment monitoring, and finally paid an external consultant for a security audit, but it lacks that one feature that the client actually wanted (but didn’t tell you to focus on), they will get angry. After all, they paid you a bunch of cash and all you have to show for it is an unfinished product.
But then if you quickly slap together two perl scripts which spit out non-compliant HTML and then plop it on Apache running on a Ubuntu box in your garage last updated 3 years ago, the client is super happy because it actually does what they want and you did it for cheap.
And this sums up the state of current technology.