What is Engineering

We are in the middle of the yet another bubble in IT - the bubble of mediocre coder.

We have told in high school that pointers are evil, that memory allocation is difficult, that resource management is boring, so we should buy all that JVM-based crap. (now it is Javascript or Rails - it doesn't matter).

Coders are talking about their tools and their wage labor. They are neglecting ideas, ignoring underlying principles and hardware platforms. They are sure JVM (or V8) will do everything for them.

The art of crafting simple and efficient software was lost in layers upon layers of useless abstractions coders pile up without understanding or even thinking, to get their wages based on lines of code or hour of coding.

This is where we are. In the bubble of wrong tools, bureaucratic processes and mediocre coders.

On the other side, the essence of software engineering is to apply ideas and principles exactly on the intersection between hardware and software.

It is same as body and mind - the body cannot function without the mind and mind cannot exist without the body. Neither cannot be neglected or ignored. Everybody knows what happens if it does.

Engineering is the art of managing complexity and joy of producing simple and efficient, good-enough solutions, the way Nature do.


No comments.