As I go through the process of reviewing CVs for a software engineer position we have open, and keep seeing acronym list after acronym list, I’m reminded of the discrepency that seems to exists between my concept of a software “engineer,” and that of so many people out there marketing themselves as such.
In school, I recall a strong emphasis that engineering is more about understanding and process, than tools or techniques. It’s as much about the practical world, as it’s about the theoretical. It’s about knowing how to analyze and decompose a problem, before trying to solve it. It’s about seeing the big picture, finding sensible solutions to problems that exist in the context of constraints, and understanding that the last 10% of a solution can cost as much as the first 90%.
These aspects are common to all fields of engineering — electrical, chemical, software, etc. — but they seem to be often lost these days in the field of software engineering. That’s why, for me, there’s a clear distinction between a programmer, and a software engineer. And the latter is becoming increasingly difficult to find.
Technorati Tags: business, engineering, software