Earlier quoted context omitted.
You may not have worked with folks really into "properly engineered code". But it is amazing sometimes to see how they can twist language into pretzels by knowing every trick and pattern out there. And yes, somewhere in OOP land this is all proper engineering and the abstraction on abstraction on library on library is the key. The worst is when they start talking about future this and that. Trouble!
That isn't properly engineered code. And if you dig into all that code usually the designer didn't understand those tricks and patterns as well as they thought they did and were trying to teach themselves along the way. You can often throw away 3/4 of the code, throw away 3/4 of the "requirements" which aren't being used and wind up with something that is actually simple and elegant and solves the problem, but doesn'…
(You must not actually remove any of them. Enterprise jokers will want all of it.)
- security (the most forgotten until it bites you)
- GUI flow complexity (client requirement you cannot touch)
- distributed state management with logical consistency guarantees (horizontal scaling)
- ability to quickly adapt for new features
- schema upgrade capability (see above)
- advanced database queries
- event reactivity and/or scheduling (logging, security, notifications)
None of the above is quite actually given to you on a silver platter by any one library really, it a combination thereof, and they're rather hard to grow bottom-up organically.