Good point - but I would take out the "all" in the middle.
I would say software engineering is about (the attempt of) commoditize software development process, about turning it from "art" to "craft", just like any other discipline of engineering.
One objective of the software engineer is to rid itself of the dependency on "geeks" -- ultimately once the process (or "assembly line") is defined, any project could be carried out by any Joes from the street (in disciplined roles) without much difference on the quality of the end product.
So far, the said attempt of software "engineeringization" hasn't been completely successful. Software engineering is still not reconized as a first-class engineering discipline -- maybe never will. Software design/development is still both "art and craft".
Given the above, for now, it's good to possess both skill sets of an architect and an "expert plumber".
Just my two Fengs.
I would say software engineering is about (the attempt of) commoditize software development process, about turning it from "art" to "craft", just like any other discipline of engineering.
One objective of the software engineer is to rid itself of the dependency on "geeks" -- ultimately once the process (or "assembly line") is defined, any project could be carried out by any Joes from the street (in disciplined roles) without much difference on the quality of the end product.
So far, the said attempt of software "engineeringization" hasn't been completely successful. Software engineering is still not reconized as a first-class engineering discipline -- maybe never will. Software design/development is still both "art and craft".
Given the above, for now, it's good to possess both skill sets of an architect and an "expert plumber".
Just my two Fengs.