Author: Victor Odhner Date: Subject: Professional licensing
One difference with "software engineering" is
trying to determine where to draw the lines.
Do you call a senior Unix sysadmin an engineer?
Probably, but how "junior" does he need to be --
how incidental to his job does the administration
need to be -- before he's not engineering anymore?
How about someone who hacks a shell script now
and then, or creates an Excel macro? How about
someone who fills in data in some sort of decision
table? What duties of a website creator are
engineering, what parts are art, and what
lines in that area must not be crossed without
a license?
The bottom line is that the *business* of
providing certain types of services needs to
be regulated to some degree. A contractor did
a new roof for me, and didn't return my calls
when it leaked. The county inspector conveyed
my complaint to him and also found some
deficiencies, and he did the repairs because
he knew his license depended on it.
The guy who built the wall behind my property
turned out not to be licensed -- the neighbor
lined him up, and I paid half. He did a most
excellent job, but I didn't hire him for the
side wall because I found out he wasn't licenced.
But I don't offer my programming services in
the phone book to naive customers. My customers
are business people who are more likely to
analyze what they're buying and to check
references.
If a programmer is doing real engineering, he
knows it. He's running medical equipment,
flying airplanes. My programs used to run
factory assembly and test equipment to build
high-end mainframe computers, in which defects
could have serious repercussions, so I guess
I was an engineer then -- yes, in fact my
title was "computer engineer". There would
have been no test for my skills, which were
in a really tiny niche. The company gave us
training in quality issues, organized inspection
techniques, all that. I think it had to be
up to the company to ensure that the work was
being done right.
But there you have it: the people providing
the money have to make engineering decisions.
Management has to set the tone. Getting back
to the roof -- have you noticed how many flat
roofs there are here in Phoenix? That is a
short-sighted, money-motivated decision.
Since most of those roofs were designed by
licensed architects who *knew* their work would
self-destruct in 15 - 30 years, I think this
says something about the limited value of
licensing.
The customer has to "just say no" to flat roofs,
and their software equivalents. I don't mind
some licensing of services marketed directly to
the public, where the practitioner can do grave
and expensive harm to the customer and the customer
is ill-equipped to choose well, but you really
can't use this approach everywhere.