In general, Engineering is creating systems with predictable systematic effects
. Those effects are what people eventually pay for.
In our context, Engineering consists of:
- Code construction.
- System design.
- Maintenance and Operation.
- and more...
Most programmers focus too much on code construction. New frameworks, best practices, OOP vs Functional languages - those topics do not matter as much.
If you find yourself focusing on code, you are missing a bigger picture:We are paid not for producing well-crafted code. We are paid for solving problems with technologies.
Engineering is the most obvious part of DEMO model. Nevertheless, developers too often ignore "unrelated" part of the craft. Do not do that - expand your fundamental knowledge.