From: karl@ddsw1.mcs.com (Karl Denninger)
Subject: Re: Licencing of computer professionals
Date: Mon, 14 Dec 1992 02:33:12 GMT
Organization: MCSNet, Chicago, IL

In article <1992Dec11.054110.8618@tc.cornell.edu> mdw@db.TC.Cornell.EDU (Matt Welsh) writes:
>>I'd need to join some guild before I could log in as root on my friend's
>>machine to help him install a new piece of software?
>
>You could always do electrical work at a friend's house with their consent.
>But don't plan to start up business as a professional electrician.

Why not?  If I am honest with people about the fact that I have no
"certification" why should it be illegal for me to sell my services wiring
homes?

Note that whether I'm certified or not if your house burns down due to my
shoddy work you (or your insurance company) can still sue my ass off or
worse.

>The idea of licensing programmers is a problem, but not for the reasons 
>you give. Licensing a programmer would only restrict them from implementing 
>their code at institutions that required programmers to have such a license.
>It wouldn't stop them from writing any programs. 
>
>I think licensing of programmers suggests a caste system within the 
>programming and software development world, and that's scary. Sure,
>programmers for certain institutions (as in the classic example of
>medical management software) need to be responsible for the code they
>write and implement, but requiring a license by law isn't the way to
>ensure that. Perhaps institutions that wish to hire responsible 
>programmers or system administrators should require a few common-sense
>prerequisites, like some kind of degree from an educational institution,
>and so on. 	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

All I can say is this -- I have seen over 200 resumes in the last six months
from wanna-be people to work for me.  Every one screaming loud and clear how
well qualified they are on the basis of their education.  NOT ONE OF THESE
PEOPLE IS, IMHO, SUITABLE TO HIRE.  Why?  They all want to trumpet education 
instead of their >practical< experience.  I'm not interested in someone's
GPA; I'm interested in what they know and how they approach a problem.  You
do >not< learn these things in a classroom; you learn them with your hands
on the material.

I have over ten years of experience in this industry.  I have no degree; I 
quit college when I started making more money writing code than I was paying
out in tuition.  My department head said "you'll never amount to anything,
and you'll never get a job".  Wrong on both counts.  I have never had
trouble finding work, I have run my own consulting outfit and my code is in
daily use all over the place.  If you watch cable TV there is a damn good 
chance that the signal passes through a piece of real-time control equipment 
that I wrote the software and network control system for.  Now I do IP network 
design and communications programming, both of which seem to please my
employer(s).

I have met more people who are truly talented without degrees in the
computer industry than those with.  I have discovered, much to my chagrin,
that many of the people who have degrees, especially advanced ones, couldn't
program their way out of a paper bag and have NO idea how to design a
complex system so it works reliably.

Some of the people I work with that have the best levels of talent have no
degrees, or if they do they aren't in a computer-related discipline.  

An education is meant to teach you to think.  If you know how to think then
no problem is insurmountable.  If you don't then all the "education" in the
name of a technical trade school (which is what C.S. programs are anyway) is
worth a tinker's damn.  

Software design is NOT a science.  It, and programming, is an art form.  You
can engineer networks or disk arrays; they follow simple patterns.  Software
design isn't the same thing; there are infinite ways to approach a problem,
and an infinite number of solutions.  The question is which method best meets 
the design constraints.

CASE tools are a perfect example of trying to turn programming into a
science.  Any science can be mechanized given sufficient precision and
information processing capability.  Art forms are much more difficult to
work with in this fashion.

BTW, CASE isn't meeting the expectations of its originators and pundits.
Guess why?

>Even with such prerequisites ('programmers license' included),
>you can't guarantee that the programmer/system admin in question is
>going to behave responsibly. I have a driver's license, but that doesn't
>keep me from getting in my car and running down pedestrians. It does,
>however, show that I've learned enough about driving to drive
>responsibly if I want to. 

That would be true if software design and programming were as simple as
"press the air pedal and the car goes faster, press the brake and it slows
down".  But programming isn't that way.  Thus, you need artisans to do a
truly outstanding job.  It is easy to parrot someone else's work.  Real,
honest ground-breaking efforts don't come from a machine.  They come from a
healthy mind.

--
Karl Denninger (karl@ddsw1.MCS.COM, <well-connected>!ddsw1!karl)
Data Line: [+1 312 248-0900] Anon. arch. (nuucp) 00:00-06:00 C[SD]T
Request file: /u/public/sources/DIRECTORY/README for instructions
Newsgroups: comp.org.eff.talk