Professional Licensing Premises

From ProfessionalLicensingOfProgrammers.

Let us discuss/debate here the premises that may support ProfessionalLicensingOfProgrammers. We should state right away that even if the premises are found to be correct that will not necessarily entail that ProfessionalLicensingOfProgrammers is the solution.

There are people who believe the premises are correct but are not ready to buy into ProfessionalLicensingOfProgrammers until we can be reasonably sure that the cure is not worse than the disease -- and under current conditions of the labor market and the organization, composition and political ramblings within established professional bodies related to programming there's a strong likelihood that the cure may very well be worse than the disease. So let's reserve the ThereforeBut part for a page of its own.

I'll enumerate some premises, but contrarians, please jump in.


Premise 0: Programming as a profession (as opposed to hobby, programming as a user, etc) is essentially an engineering discipline. Yes, it also shares something with art, science, even sport, but its essential character makes it an engineering discipline.

The above premise is not a strong argument for professional licensing but if it was not true, professional licensing would make less sense. A lot of engineering disciplines have licensing requirements but arts do not, nor would it make much sense to license an art.

[However, note that many non-engineering disciplines, such as accounting, law, medicine, driving trucks, construction/contracting, etc. have licensing requirements of various types and scope, despite having nothing to do with engineering.]

I doubt you'll get a majority of programmers to agree to this premise. Computer science may be close to an engineering discipline, but modern software development has more to do with language, philosophy, and tactics than it does hard science.

Fair enough, but if the people involved aren't qualified to comment, what makes you? Indeed. I've seen many of your posts here, but I can claim the same authority as you. I am also a veteran programmer - check my personal page and evaluate for yourself. Still, I don't understand your dismissal of the opinions of other programmers - Every programmer thinks they are better than anyone they never met, and it's hubris to think it is as simple as "we know better than them". There are valid reasons for the varied approaches and philosophies programmers have. I prefer to see programming in terms of language and symbolic systems, you may prefer to see it in terms of engineering - but neither is implicitly more valid. They are simply different flavors. I would argue that DesignPatterns are tactics, formulating a good SystemMetaphor is philosophy, and that designing good interfaces to manipulate the whole thing is language. Of course using "the majority" is a FallaciousArgument, just as ArgumentFromAuthority (especially when the two are combined to form a "most of the people who matter" argument) is. However if you expect people to sign onto a licensing setup, you'll need to at least hear opposing viewpoints. There isn't much debate about the nature of computer science - it is a science. There is still tremendous debate about the nature of software development (construction? engineering? craft?), I'm just trying to say that the premise need some work - perhaps drop the word engineering and state the properties of programming that you believe are similar. -- LayneThomas

Objection to Premise 0

I do not find the assertion that programming is an engineering discipline either supports or contradicts the idea of professional licensing. Many, if not the majority, of licensed professionals are in non-engineering tasks, for example doctors, lawyers, and accountants. Licensing does not imply Engineering. This would only leave the argument programmers are engineers and engineers should be licensed, ergo programmers should be licensed. The difficulty lies in the term "engineer." The term is too poorly defined, too broadly used, and applied to too many non-licensed workers to imply any relationship between "engineer" and "licensing." Given the lack of correlation, continued discussion of whether programmers are engineers is pointless.


Other premises:


In other disciplines, licensing is typically required for practitioners who:

1) Wish to sell their services to the public, or 2) Are working on MissionCritical stuff in a leadership role.

Junior chemical engineers and junior civil engineers are not licensed--indeed, they cannot be as significant industry experience is a prerequisite for licensing. However, unlicensed civil/chemical engineers cannot accept certain types of work.


EditText of this page (last edited September 15, 2004) or FindPage with title or text search