The bottom line is a balance of functional requirements (e.g: user facing features) and non-functional requirements (e.g: maintainability, performance). Software that doesn't implement non-functional requirements has a name: a functional prototype.
Bad engineering feels like taking a loan of technical debt to pay your manager, so customers can be scammed receiving a half finished product for the price of a finished one.
In the other hand, when you do good engineering you can proudly stand behind your work, be motivated and engaged.