March 2, 2015 at 10:03 PM by Dr. Drang
I got some interesting responses to my post last week about ethics and licensing, more on licensing than ethics. I thought it worth a quick followup post.
First, I was a little surprised at the responses I didn’t get. Given the popularity of dumbass libertarian politics on the internet, I was expecting more comments like
“@drdrang: ⛄️ Engineering ethics
Licensing like doctors/lawyers leads only to insular anticompetitive rules/laws
— Dog Shit Frosting (@DogShitFrosting) Feb 28 2015 11:22 AM
but this was the only one.
More people had comments on the topics covered by the software engineering licensing exam, and opinions were split. Some thought it a good cross-section of professional practice (Casey Liss’s post was the archetype of this response), while others thought actual programming was seriously underrepresented.
I don’t have a dog in this hunt, but I have noticed that when programmers talk about software engineering as a discipline there’s a tendency to focus more on the process than on the result. It always sounds more like management than engineering.
Traditional engineers do spend a lot of time working with design, construction, and testing standards—organizations like ANSI and ASTM wouldn’t exist otherwise. And testing standards are very heavily focused on process because test results are comparable only if the process is consistent across all the tests. But design and construction standards focus on results—the properties and quality of the finished product—rather than on the means used to get to those results. No one cares how you came up with the design of your mobile crane as long as it meets all the strength and safety requirements.
The licensing exam questions reflect this. Electrical engineers are asked about circuitry, metallurgical engineers about heat treatment, civil engineers about pipe flow, and mechanical engineers about thermodynamics. Take a look for yourself. The exams for the traditional disciplines certainly have project management questions, but they’re a small percentage of the total.
The software engineering test, in contrast, looks to me to be dominated by project management questions. Maybe this is appropriate, but it does make software engineering seem like a different beast.
Update 3/3/15 7:07 AM
You disappoint me. I was expecting to wake up to at least one overnight tweet pointing out that industrial engineering is mostly about process. And there’s a good chunk of process in construction engineering (a subdiscipline of civil), too. Do I really have to make my own counter-arguments?
It is, however, the differences between software engineering and the other disciplines that I find the most interesting. Even when it comes to the study of process. The processes studied by industrial and construction engineers are outwardly directed—they’re concerned with the planning and efficiency of physical work done by machines and (other) workers. Software engineering processes strike me as more inwardly directed, more about the planning of thinking. There’s a sociology thesis in there somewhere.