Keith H Duggar wrote:
> Well:
>
> "Software Engineering"
>
> http://en.wikipedia.org/wiki/Software_engineering
>
> is the complete set. And "engineering" at least connotes robust/
> reliable/solid etc which requires those "surrounding", as you put it,
> practices. At it's core engineering is about eliminating or greatly
> reducing human error in the application of science to control.
The field of engineering involves a considerable expectation of a safe and
defect-free product, to the point where engineers, when recognized as such,
are held civil and criminally liable for any problem which may arise from
their work. This is the main reason why civilized societies put
restrictions on who can and cannot label themselves an engineer (i.e.,
engineering licenses), and consequently who can be employed to positions
which require the level of expertise and responsibility which is expected
from an engineer.
The practice of software development does not have such responsibility nor
is a software developer held liable for any defect in their work.
Therefore, no professional license is required by society to perform this
job. This means that software development, although a highly technical
field, is not engineering, and those who are employed to churn out code
aren't engineers. And this is a good thing.
Rui Maciel