Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Freedom -- Not License!

By Demona in Technology
Sun Oct 08, 2000 at 08:11:41 AM EST
Tags: Freedom (all tags)
Freedom

The notion of licensing various professions as competent in some field is not a new one. Depending on your point of view, such laws are protection of the public, barriers to entry or an undue restraint upon individual rights. Many arguments have been made on all sides of the issue for a number of different fields, in a number of differing cultures and jurisdictions, from what the average person might consider reasonable (nuclear inspection engineers) to not quite so (streetside booksellers and publishers). In many states -- Texas, for instance -- you may not simply call yourself an engineer, or you face legal penalties.


The actual licensing of programmers by the state as ultimate tool of control over computers and people is still a pipe dream for the most part, but it appears to be taking shape in the waking world. The most visible examples aside, it's true that a great number of computer folks, whatever that grouping may encompass, generally subscribe to the idea that programmers don' need no steenken' badges; that programmers will and should always be free to not be "professional engineers", and the vaunted Association for Computing Machinery has for now taken a somewhat cautious stance of opposition as well. (From personal report it appears that licensing is not as draconian as I may have implied in Texas, but I tend to be of a suspicious nature; the ACM seems to be resisting for now, but such organizations have a history of betraying their supposed constituents.) However, there are always those who will gladly don their own shackles, for whatever reason (these folks, as well as the academics whose works they have links to, apparently believe that all those job postings in the papers and on web sites are a vast right wing conspiracy designed to allow the Evil Big Corporations to hire foreign programmers for peanuts thru the H-1B program).

Control of computers will always necessitate control of people to some extent, and vice versa; this is covered in chilling detail in Ewhac's excellent essay entitled "Damming the Ocean" (which unfortunately has scrolled off Slashdot, and remains unpublished elsewhere despite my polite pestering). While a compelling argument might be made for the rare case, I believe that licensure in general is harmful to both the individual and the public good, particularly where it conflicts with rights well established under hundreds of years of common law. [*]

Would licensing programmers would be good/bad for end users? Developers? Lawyers? Does licensing of programmers have a place in some public sectors, even if such a law could/should never be applied to the general populace? If such a law were passed, would you obey it? If not, how would you disobey?

(I've tried to make the US-centricness both obvious and irrelevant. As to JD's recent insightful comments, I wear my bias on my sleeve, but as always hope to spawn dialogue rather than demagogue.)

-dj

no, the other one

[*]

"Sir, the law is as I say it is, and so it has been laid down ever since the law began, ... and so held and used for good reason, though we cannot at present remember that reason."

- Y.B. 36 Hen. 6 fo. 24, 25b-26 (1458)

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Related Links
o Slashdot
o you may not simply call yourself an engineer
o ultimate tool of control over computers and people
o programmer s don' need no steenken' badges
o somewhat cautious stance of opposition
o gladly don their own shackles
o Control of computers
o control of people
o Ewhac
o harmful to both the individual and the public good
o Also by Demona


Display: Sort:
Freedom -- Not License! | 112 comments (109 topical, 3 editorial, 0 hidden)
Engineering licensing is a Very Good Thing. (4.17 / 23) (#3)
by Christopher Thomas on Sun Oct 08, 2000 at 01:40:08 AM EST

I've just completed my BASc, with an eventual goal of getting a P. Eng (Professional Engineer designation).

The fact that they drill into us over and over - with good reason - is that it is VITAL that we have a good handle on what we're doing, and apply it as conservatively as possible - because lives will often depend on a product of engineering being well-built. This applies to things like buildings, and it applies to things like computers and software too (how many lives depend on a hospital's software working properly?).

Licensing may be a mixed blessing, but it does to a reasonable degree ensure a consistent level of ability among licensed engineers.

Now, the issue of freedom.

Licensing in and of itself does not restrict freedom. The restriction comes when regulations are put in place that require certain jobs to be performed only by licensed individuals.

This in turn isn't _necessarily_ a bad thing. I'd certainly want a licensed Civil Engineer designing the bridge that I had to drive over - and getting the design signed off by n other engineers, etc., as per regulations.

This can be taken too far, but that is not a problem of licensing existing - it's a problem of nonsensical _regulation_ of work. Different issue.

Re: Engineering licensing is a Very Good Thing. (3.45 / 11) (#12)
by Bert Peers on Sun Oct 08, 2000 at 09:16:24 AM EST

Excellent point. Imagine a world where every programmer has to be licensed, and all major development work must be done by a licensed programmer. I wonder how long it would take until some legislature pushes for a clause in the license that prohibits (at penalty of loss of license, and thus your job) all "incorrect" development activities. A mandatory license that is issued under the conditions of government and/or multinationals (and let's face it, who else remains ? ACM et al ain't gonna do it) could be exponentially more powerful than a single DMCA : it can't be against any country's constitution to severely tighten it up, since it's a licensing clause, not a true law. The UCLA has can't answer "If you don't like it, you can always return your license". Think of prohibition to reverse engineer, to develop unofficial streaming protocols, to violate even the most retarded patents, etc... Risque.

[ Parent ]
Re: Engineering licensing is a Very Good Thing. (2.50 / 2) (#43)
by Quark on Mon Oct 09, 2000 at 07:26:13 AM EST

(how many lives depend on a hospital's software working properly?).

I don't know what they use where you live, but our regional hospital(which recently won a price for being the best hospital in the country) has Pentium 233/32MB computers Ram running Windows 98. I actually ran into a situation where one of these puppies started displaying the famous "blue screens of death" and that I being a patient there at that moment had to tell their IT people how to reinstall Windows without having to wipe the hard disk. There still is a long way to go as far as this is concerned. The thought of my medical records being trusted to a computer running Windows 98 somehow makes me feel a bit quivery.

So much bandwidth, so little time...
[ Parent ]
Re: Engineering licensing is a Very Good Thing. (3.00 / 1) (#51)
by codemonkey_uk on Mon Oct 09, 2000 at 10:24:09 AM EST

(how many lives depend on a hospital's software working properly?).
... our regional hospital ... [is] running Windows 98
Not talking about the PC's in reception. Talking about embeded systems. Heart monitors. And the like. Stuff that *does* matter.

Not what you think of when you think computer, but it needs programming, and lives depend on it.

Thad
---
Thad
"The most savage controversies are those about matters as to which there is no good evidence either way." - Bertrand Russell
[ Parent ]

Re: Engineering licensing is a Very Good Thing. (1.00 / 1) (#55)
by Quark on Mon Oct 09, 2000 at 11:10:46 AM EST

You mean those NT4 servers? Those things that badly needed Service packs? Or perhaps the Dos-based client information database? Or that Windows 98 workstation used to access the information about everybody's medication? All those things matter, one way or another, in different degrees.

So much bandwidth, so little time...
[ Parent ]
Re: Engineering licensing is a Very Good Thing. (4.00 / 1) (#72)
by mindstrm on Mon Oct 09, 2000 at 04:30:24 PM EST

Right.
And perhaps the actual records were on a ver high-end machine running a custom database in the basement, and the win98 box was a cheap terminal?


[ Parent ]
Re: Engineering licensing is a Very Good Thing. (3.00 / 1) (#80)
by Kaa on Tue Oct 10, 2000 at 11:26:04 AM EST

Licensing may be a mixed blessing, but it does to a reasonable degree ensure a consistent level of ability among licensed engineers.

Would you also claim that licensing ensures a consistent level of ability among bar-admitted lawyers?

Licensing in and of itself does not restrict freedom. The restriction comes when regulations are put in place that require certain jobs to be performed only by licensed individuals.

True. But these restrictions always come. What's the point of licensing otherwise?

This can be taken too far, but that is not a problem of licensing existing - it's a problem of nonsensical _regulation_ of work. Different issue.

No, it's the same issue. Licensing is effectively a membership in a medieval guild where the barriers to entry are raised high so that there are not so many full guild members and they can charge high prices for their services. Licensing makes sense ONLY if there are laws/regulations in place that force certain kind of work to be performed only by licensed people. Thus it's the same issue.

Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.


[ Parent ]
Re: Engineering licensing is a Very Good Thing. (3.00 / 1) (#94)
by Christopher Thomas on Tue Oct 10, 2000 at 11:45:28 PM EST

Would you also claim that licensing ensures a consistent level of ability among bar-admitted lawyers?

Compared to a complete absence of regulation? Sure.

True. But these restrictions always come. What's the point of licensing otherwise?

To ensure that restrictions can be made where it makes sense to do so. This is important (see my bridge-building example).

This can be taken too far, but that is not a problem of licensing existing - it's a problem of nonsensical _regulation_ of work. Different issue.

No, it's the same issue. Licensing is effectively a membership in a medieval guild where the barriers to entry are raised high so that there are not so many full guild members and they can charge high prices for their services. Licensing makes sense ONLY if there are laws/regulations in place that force certain kind of work to be performed only by licensed people. Thus it's the same issue.

I'm afraid that your sources are in error on several of these points.

Re. barrier to entry:

Anyone with the ability to grasp the material can become an Engineer. I speak with first-hand knowledge, having just gone through my BASc. Unless you don't accept ability as a legitimate prerequisite, I see no unreasonable bar to licensure.

Tuition? It would be _nice_ if it was lower, but it's certainly manageable for the average person up here (Canada) at least.

Where is the barrier?

Re. licensing and regulation of work being tied together:

Apparently I didn't phrase myself clearly enough, because you appear to have missed my point. The existence of BAD legislation is orthogonal to the fact that legislation itself exists.

You have the same flame war going back and forth perpetually on Slashdot with patents. Just as the existence of bad patents doesn't mean that the concept of patents as a whole is evil, similary the existence of or the _potential_ for the existence of regulation of work in fields where it shouldn't be does not mean that the concept of regulation of work itself is evil.

Again, would you prefer that there be no restrictions on the qualifications of the people constructing the bridges you drive over or the office building you work in? Or on the people inspecting the work? How do you enforce uniform requirements without a form of certification or licensure?

I hope that this clarifies my points.

[ Parent ]
Re: Engineering licensing is a Very Good Thing. (3.50 / 2) (#99)
by Kaa on Wed Oct 11, 2000 at 10:00:40 AM EST

Would you also claim that licensing ensures a consistent level of ability among bar-admitted lawyers?

Compared to a complete absence of regulation? Sure.


You are answering a different question. I asked about a "conistent level of ability", you are answering about "better than nothing at all".

Besides, you're handwaving. I can say "No, in the absence of bar membership requirement, nothing would change. Just as now, lawyers would live or die by their reputation and passing a test of medium-term memory has nothing to do with ability". Then we could debate it for the next couple of weeks without able to prove anything to anybody.

Re. barrier to entry:

A barrier to entry does not mean an insurmountable barrier. It just means that some laws/regulations make it harder to enter than it would be otherwise. Guild admission (medical boards, bar exams, etc.) are a fairly classic case of entry barriers. Look into any economics textbook.

Apparently I didn't phrase myself clearly enough, because you appear to have missed my point. The existence of BAD legislation is orthogonal to the fact that legislation itself exists.

Heh. I didn't miss your point. I understand it. It's just that I don't agree with it.

It's like engineering a connector. You can design a connector symmetrically, so that there are two ways to push it in: one right and one wrong. And that design is completely orthogonal to the fact that idiots will repeatedly push it in the wrong way, right? However smart people understand that idiots exist, so they design connectors in such a way that there is only one, the right way, to push it in.

Again, would you prefer that there be no restrictions on the qualifications of the people constructing the bridges you drive over or the office building you work in?

Well, since you've asked, then yes, I see no need for restrictions on the qualifications of people. I see a need for certification of the work that they do or did. Obviously before I hire a guy to design a bridge I would like to see some proof that he has a clue. That proof basically comes from education and experience. Frankly I don't see a difference between a guy who graduated from an engineering school and built a couple of bridges and another guy who did exactly the same thing but also happened to pass some stupid exam as well.

Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.


[ Parent ]
Re: Engineering licensing is a Very Good Thing. (4.00 / 1) (#105)
by Christopher Thomas on Thu Oct 12, 2000 at 12:18:17 AM EST

Compared to a complete absence of regulation? Sure.

You are answering a different question. I asked about a "conistent level of ability", you are answering about "better than nothing at all".

The *original* point that _you_ made, which I was disputing, was that licensure causes harm. You presumably brought up this example to support your case against licenseure.

Absolute consistency is not require for my argument - that licensure is beneficial - to stand. Thus, I responded only to the portion of your argument relevant to the original topic.


A barrier to entry does not mean an insurmountable barrier. It just means that some laws/regulations make it harder to enter than it would be otherwise.

*Sigh*. If the barrier is to require that the potential practitioners be compentent, where is the problem?

You were arguing that the barrier caused net harm. Prove it.


It's like engineering a connector. You can design a connector symmetrically, so that there are two ways to push it in: one right and one wrong. And that design is completely orthogonal to the fact that idiots will repeatedly push it in the wrong way, right?

Hmm. I could counter by saying that a more appropriate analogy would be that the existence of badly-designed connectors does not automatically make all connectors badly-designed, but your fundamental point has merit.

I will retreat in this case to a much stronger argument: that the benefits of the ability to regulate work to require licensed workers outweigh the drawbacks.

Summarized proof: The consequences of a lack of such regulation are easily demonstrated to be quite harmful (see the bridge-building example yet again, and yes, I've already responded to your arguments against that example below). Your argument against the regulation was that unjust regulations could be put in place. My counterargument is that the risk of this is small and the effects non-permanent, as unjust regulation will be repealed if set in place (we both live in more or less democratic countries, after all). Thus, the harm caused by regulation requiring licensure is relatively minor.


Again, would you prefer that there be no restrictions on the qualifications of the people constructing the bridges you drive over or the office building you work in?

Well, since you've asked, then yes, I see no need for restrictions on the qualifications of people. I see a need for certification of the work that they do or did.

Secondary problem with this: Finding and fixing problems after the fact is *expensive*, even if you manage to do it in the design phase before concrete is poured. Reducing or eliminating problem occurrence to begin with is far less wasteful.

Primary problem with this: Your certification agency isn't any more trustable than the unlicensed workers, unless you have a single, standard certification body. But then you have the same regulation problem - requiring all government projects, for instance, to require certification imposes dependence on the people qualified to certify. This is exactly the kind of scenario we already have with licensure, which you were objecting to (work must be signed off by n licensed engineers).

In summary, your proposed solution does not solve what you have stated to be the problem.


Now, a personal gripe. I'm still wondering why on earth you are so adamant about this topic, when anyone can become and engineer. If I understand correctly, you're making objections about engineering project management being restricted to some kind of privileged class. If anyone with the skills needed for the job can become a member of this class... Where is the injustice?

[ Parent ]
Re: Engineering licensing is a Very Good Thing. (4.00 / 3) (#107)
by Kaa on Thu Oct 12, 2000 at 11:12:31 AM EST

I'll skip all the nitpicking about who said and meant what, and go to the core of our disagreement.

Now, a personal gripe. I'm still wondering why on earth you are so adamant about this topic, when anyone can become and engineer. If I understand correctly, you're making objections about engineering project management being restricted to some kind of privileged class. If anyone with the skills needed for the job can become a member of this class... Where is the injustice?

First of all, it not just about engineers. It's basically a "constraint of trade" rant, arguing against the government limiting individuals' opportunities to engage in certain trades. The injustice is not the big issue here, the issue is balance of power between society/community/government and individuals.

Anyone can become an engineer, yes, but in order to practice it you need a permission from the government (yes, government, because without laws to enforce it, licensing is just a piece of paper). I find it basically wrong in principle. Yes, I know the arguments about externalities, and about economic efficiency, etc. I agree that there is some benefit to the licensing scheme. At the same time I believe that these benefits have been greatly exaggerated.

The problem is that right to make a living suddenly becomes a priviledge to be a member of an organization. This privilege can be revoked on any basis -- remember, it's a privilege, not a right.

Not to mention that I believe that most of these license exams are just an exercise to test medium-term memory. You just have to cram before it and flush your memory afterwards. I don't think they measure any relevant ability.

I think that a situation similar to what exists right now in software is OK. You can go and get an MCSE -- it's a plus in your resume and helps convince a prospective employer that you know something. At the same time, it's not mandatory -- if I can prove that I can do the job without any MCSE, that's fine, too. Industries should have a system of certifications, but they should be voluntary, not mandatory. They should be diplomas certifying achievements, not permissions to do something.

Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.


[ Parent ]
Interesting professions to be licensed: (3.57 / 21) (#4)
by Miniluv on Sun Oct 08, 2000 at 01:50:49 AM EST

Here's a couple people may not have realized that are federally licensed:
1)Truck Drivers, the states individually administer the test, but it's always the same Federal test (in the US).
Here's a group that can certainly cause pain, suffering and death if they fail to perform their job correctly.
2)Nurses, this is a federal/state organisation, much like Doctors have, that administers certification tests.
Another group of people who hold life and death in their hands on a regular basis.
3)Emergency workers (Police/Fire/EMT) all have various ceritifications they must get and maintain as ordained by federal, state and local law from place to place.
More of that life and death stuff.
4)Teachers??? Yep, they have to be certified on a state by state basis according to federal guidelines, and then recertify on a recurring basis.
Guiding our young peoples futures I suppose...

The point of all that is that most certifications are when "innocent" people are put in harms way if the professional fails to discharge their duty. There's plenty of professional organizations to which programmers/router jocks/etc can join and be guided by that I don't see the benefit of private sector certification of these individuals.

The public sector is a different story though. Plenty of these folks already have to obtain security clearances to deal with sensitive data and whatnot..that data often times including their own job descriptions.

If the Fed wants to institute one overall certification of Programmer, Master Grade for a public sector job, that's cool...because it doesn't really affect the bulk of people out there...and those who are interested in public sector jobs already jump through plenty of hoops.

Who knows, if the test is managed properly it might even become something worth obtaining as resume credentials, and would that necessarily be so bad?
"Its like someone opened my mouth and stuck a fistful of herbs in it." - Tamio Kageyama, Iron Chef 'Battle Eggplant'

Barbers (2.88 / 9) (#10)
by byoon on Sun Oct 08, 2000 at 04:29:31 AM EST

You forgot barbers and cosmetologists. I guess a drunken barber could accidentally slice your carotid with his scissors. Or maybe they're licensed to cut down on the number of bad haircuts and ridicuolous hairstyles we, as a society, are subjected to. It doesn't seem to be working.
"I'm a going to break you down into the little cubes." -Picasso
[ Parent ]
Re: Barbers (3.00 / 6) (#14)
by Michael Leuchtenburg on Sun Oct 08, 2000 at 10:29:15 AM EST

Nah, to cut down on the hairstyles you'd have to license the hair-owner.

"Do you have a license for this french braid?"

[ #k5: dyfrgi ]
[ TINK5C ]
[ Parent ]

Re: Barbers (3.50 / 2) (#48)
by jhagler on Mon Oct 09, 2000 at 10:03:56 AM EST

I was actually speaking to my barber about this the other day when I saw her license. The tests ,at least in Texas, are almost entirely on hygiene; proper cleaning of equipment, maintaining a sanitary facility, etc., with only a basic proficency exam. With very different tests for hair stylists vs beauticians (manicurists). Think about it, do you really want someone elses fingernail gunk being jabbed into your cuticles?

I definitely have to throw my hat in here with the "public safety" school of thought where those who have peoples lives/health depend on them should be licensed. For the vast majority of the IT world real certifications should be enough (think CCIE vs MCSE)
Theology is never any help; it is searching in a dark cellar at midnight for a black cat that isn't there. - RAH
[ Parent ]
Re: Interesting professions to be licensed: (4.00 / 1) (#82)
by davidduncanscott on Tue Oct 10, 2000 at 01:22:56 PM EST

4)Teachers??? Yep, they have to be certified on a state by state basis according to federal guidelines, and then recertify on a recurring basis.

Nope. Can be, or a school or school system can require it, but don't have to be. As an example, take a look at the 12th paragraph (the one beginning "Both the House and Senate ammended") of this story

Now, for a real laugh: I attended one of Baltimore's more prestigious private high schools -- the sort from which 95% of students go on to college, unless their parents are already bankrupt from the tuition (or they're weird and lazy, like me:>). I would be stunned if any of my teachers were ever licensed to do anything except drive a car. None had been trained as teachers per se. My calculus teacher didn't even work at it full-time -- he just came in to teach the class (I'm not even certain that they paid him, and I know he didn't need the money).

[ Parent ]

But Software Engineering Is A Pseudoscience (3.40 / 20) (#5)
by Carnage4Life on Sun Oct 08, 2000 at 02:07:17 AM EST

I am all for trying to find some means of gauging programmers but I fail to see how a software engineering license will suddenly succeed where certifications and college degrees have failed.

The problem is that unlike Civil Engineering and Medicine there are hard and fast rules that detail how successful results should be obtained. The opposite is the case when it comes to software engineering. Most of our so-called laws are merely anecdotal observations (Brooke's law or Moore's law), and there is no guaranteed methodology that will guarantee success in any software project. Using UML, Open Source, Object Oriented Programming, Waterfall development model, etc are all development panaceas that will ebb and flow as time progresses but do not guarantee success. Thus someone who is an acknowledged software engineer still cannot reduce the process of building correct software to a set of reproducible steps like a Civil Engineer can.

Frankly I believe that any licensing scheme like the one proposed will merely become Yet Another Certification (a la MCSE) and not a very rigorous one at that.



a license??? (2.88 / 9) (#8)
by www.sorehands.com on Sun Oct 08, 2000 at 03:54:03 AM EST

There is a difference. If you are licensed, you have a set of professional responsibilities, guidelines, and liabilities.

If you a licensed software engineer, you become liable for your code. If you really screw up, you can be prohibited from writing code again. This gives one good thing -- you tell tell your boss you can't do something wrong or you'd lose your license.



------------------------------------------------------------------------------
http://www.barbieslapp.com
Mattel, SLAPP terrorists intent on destroying free speech.
-----------------------------------------------------------
[ Parent ]

Re: But Software Engineering Is A Pseudoscience (2.87 / 8) (#11)
by Bert Peers on Sun Oct 08, 2000 at 09:07:29 AM EST

An important difference would be that a license, by definition, has legal powers. I'm sure we all know some accountant, teacher, etc who writes crappy GWBasic software (or whatever) after hours "for the colleagues", in the worst case these guys are moderately succesful and grow into a true small business -- still selling off their "Press ESC to confirm" software. If a license is required in order to legally make a profit of software you develop, then at least these people (who're really insulting us genuine programmers) can be removed from the scene. For this purpose a "license" may very well be just an official degree or even MSCE, ie it's an expansion of the scope of existing degrees, not yet another complimentary certificate.

So in short, a license would, as you say, not be a guarantee for success, it would rather guarantee that at least you're not dealing with a "do it yourself man" with no idea of SE principles. Probably more something like a psychiatrist's license : no 100% working methodologies, but at least it's not a crook. The disadvantage obviously being that it'll never be perfect (incompetent MSCE's, anyone) and that it'll weed out the good selfthaught guys..

[ Parent ]

Re: But Software Engineering Is A Pseudoscience (2.71 / 7) (#15)
by Michael Leuchtenburg on Sun Oct 08, 2000 at 10:32:37 AM EST

I don't see any reason why it would weed out the good self-taught folks. Well, if they require a degree to get the cert, then it would. But short of that, I don't see how it would prevent self-taught folks from getting the cert if they know the required knowlege.

[ #k5: dyfrgi ]
[ TINK5C ]
[ Parent ]
My issue (2.75 / 8) (#18)
by Demona on Sun Oct 08, 2000 at 11:24:32 AM EST

is that a "license" is legally defined (US) as the grant of permission from a controlling authority for something which you would normally NOT have the right to do. But we all have the right to program (if not the right to a computer). So licensing programmers as certified in some areas or specific tasks may be appropriate, but I contend that for the general populace it should never become a regulated profession. (I'm all for getting rid of mandatory licensing for doctors and lawyers as well, as long as the perfectly reasonable restrictions on fraud remain -- you may not lie and say you are certified by the State of X when you are not, but people should be free to offer services without being licensed, and others should be free to hire them for those services. When was the last time you tried to pay cash in a doctor's office? Or just simply GO to a doctor without having insurance? Rots of ruck...)

[ Parent ]
Re: My issue (3.00 / 3) (#40)
by Bert Peers on Mon Oct 09, 2000 at 04:37:08 AM EST

Ah, I see. I first thought you were against all licensing, but you rather wish to mandate licensing only in specific situations, and in general allow two people to make a deal unrestricted by regulations.

I'm still not sure if that's a good idea, though :) The problem is that it is very hard to draw a line between what is dangerous and what isn't. Consider medicine; are you saying that for the convencience of less paperwork, you'd go to an unlicensed doctor ? If a license is not required, there will be people who go to "alternatives", because of the price, or because they're desparate, or whatever. If all those "doctors" do is some handwaving that's fine, but it's all too easy for them to incur further damage -- eg by simply doing nothing essential to a badly developing problem.

Similarly, if you argue that businesses foolish enough to deal with unlicensed programmers are allowed to do that, then there is bound to be a case sooner or later where things such as cost concerns, or desparate attempts to make a deadline by bringing in more (unlicensed) coders, lead to a disaster.

Note, I don't have a problem with home development, I just don't agree with "people should be free to offer services without being licensed" -- practice all you want, but don't offer any service. Imho :)

[ Parent ]

Re: My issue (3.50 / 2) (#95)
by Michael Leuchtenburg on Wed Oct 11, 2000 at 12:31:34 AM EST

That path seems to lead to inevitable licensing of every occupation. Chefs could kill you by cutting raw food on the same cutting board as raw chicken, so they should be licensed. Farmers could kill you by using too much pesticide.

Licensing has a rhyme behind it, though: life is at risk. If no one's life is at risk, then no license is required. But aren't I risking people's lives simply by walking up the stairs in an apartment building? After all, if I trip, I could knock other people down the stairs. I think a similar circumstance could be thought up for most actions, if not all.

Licensing will move its way along from the more dangerous actions (medicine, driving a car, civil engineering) through to less dangerous ones (law, teaching, broadcasting) and now it's made its way to programming. What next? Babysitting? Grocery bag packing?

[ #k5: dyfrgi ]
[ TINK5C ]
[ Parent ]

Re: But Software Engineering Is A Pseudoscience (4.00 / 8) (#13)
by bugman on Sun Oct 08, 2000 at 10:28:43 AM EST

I don't necessarily agree with the "Software Engineering is a pseudo-science" stance. I'm in my fourth year of a Computer Systems Engineering degree (a mixture of hardware, software, communications and electronics) - and we have had the notion of applying engineering principles to solving all problems drummed into us from a very early stage.

I believe that being a Software Engineer is making sure that you apply a known methodology to solving the given problem. This does not necessarily mean that you follow a given development method (UML, OOA-OOD, Functional etc) but applying standard project planning, quality management, process improvement and risk assessment techniques to the process of developing software systems.

There are a lot of people who say that there are no hard-and-fast rules for software engineering, which is true to a certain degree, but there are a number of systems which exist to assess proficiency in software engineering. The one I'm most familiar with is the Capability Maturity Model developed by the Software Engineering Institute at Carnegie-Mellon University (funded by the US DoD) which is a method to assess the capability of software developers, specially those working on DoD projects (sorry, I don't have a link at hand, but Ian Sommerville's Software Engineering is a very good guide for those who are interested).

I mean, Software Engineers aren't there to look after something that can be done in a couple of hundred lines. They are concerned with larger projects where the actual coding is a very small (but obviously important) section. In these cases project management and process improvement take a far more important role (I sound like a marketroid now :) ). A great number of software projects fail due to bad project management rather than poor technical skills.

Getting back to the matter at hand - yes, I do believe that having Certification is a Good Thing, I mean if lawyers have it, why not engineers? It makes them more accountable and (at least attempts to) make sure that they keep their skills and knowledge up to scratch.

P.S. - Not sure if much of the above makes sense, it's 1:20 am here in Sydney. I've been up working on a project - typical engineering style :). So apologies in advance.


Pramod,



[ Parent ]
Re: But Software Engineering Is A Pseudoscience (3.36 / 11) (#16)
by Carnage4Life on Sun Oct 08, 2000 at 10:58:50 AM EST

There are a lot of people who say that there are no hard-and-fast rules for software engineering, which is true to a certain degree, but there are a number of systems which exist to assess proficiency in software engineering. The one I'm most familiar with is the Capability Maturity Model developed by the Software Engineering Institute at Carnegie-Mellon University (funded by the US DoD) which is a method to assess the capability of software developers, specially those working on DoD projects (sorry, I don't have a link at hand, but Ian Sommerville's Software Engineering is a very good guide for those who are interested).

I am aware of the SW-CMM. The CCM is a model that is used to determine whether an organization has proper development practices in place. The problems that the CCM attempts to solve are way beyond the single developer but instead are aimed at extremely large projects.

To apply a methodology like the CCM to a single developer would simply be a certification that indicates that a developer knows what software engineering practices are, a purpose that should already be served by a college degree but unfortunately isn't.



[ Parent ]
Re: But Software Engineering Is A Pseudoscience (3.14 / 7) (#23)
by J. J. Ramsey on Sun Oct 08, 2000 at 03:28:11 PM EST

"The problem is that unlike Civil Engineering and Medicine there are hard and fast rules that detail how successful results should be obtained. The opposite is the case when it comes to software engineering."

I'm not sure, but you seem to be saying that Civil Engineering and Medicine have "hard and fast rules that detail how successful results should be obtained." I'm a student with a mechanical engineering major, and one of the things that become fairly clear is that there are no "hard and fast rules that detail how successful results should be obtained." There's a lot of approximation (especially when the physics is complicated or not well understood), guesswork, and judgement calls.

Engineering design involves a fair bit of uncertainty, period. Having the media be nuts, bolts, concrete, gears, and whatnot, doesn't make the basic discipline any more hard and fast, it just sets different design constraints.

--I am a fool for Christ. Mostly I am a fool.--
[ Parent ]

Possible, but difficult. (2.42 / 19) (#6)
by delver on Sun Oct 08, 2000 at 02:13:24 AM EST

The real problem I see here is that it would take a lot of effort to create a standard by which to judge a programmer. The basic algorithims used could be easily judged, but writing clean effective code is a lot harder to judge. Would the licensing be based on a test, or a degree? When you look at all the diffrent languages out there, and all the diffrent styles of coding it makes it a lot harder to judge what method is the "correct" one. Not that I necessarily believe there is a correct one mind you. Really though I don't think licensing would add a whole lot to the industry. Intresting idea though.

we don't need no ... (2.53 / 15) (#9)
by chale on Sun Oct 08, 2000 at 04:20:02 AM EST

(i am not a programmer) from discussions in other forums, i have gotten the impression that software programming is an ephemeral activity in that people with the same type of training and even using the same langauge will write different programs in response to the challenge of developing software for whatever application. how would any entity test someone for a license where there would/could be no objective correct way to perform the task for which they are testing? this would seem to be another instance of someone seeking to control others for no reason other than control.
When one tugs at a single thing in nature, he finds it attached to the rest of the world. -John Muir
It IS possible... (4.00 / 1) (#28)
by magney on Sun Oct 08, 2000 at 06:03:13 PM EST

...just dreadfully expensive. The Other Site linked to an article a few months ago describing the software engineering process for the Space Shuttle's flight control software. And, unlike so much other software, the phrase "software engineering" can be applied coherently to that process.

It's just that no one else is willing to spend the money that it takes to get software like that. Partly because most people, who are mainly familiar with Microsoft software, aren't aware that it's possible; instead, when they need something mission critical, they do without computer code as much as possible.

All that said, I think that licensing software engineers is putting the cart before the horse. Software design is simply not mature enough a field to be trusted for life-or-death purposes on a large scale, and therefore is not yet ready to be a licensed profession. And even when it is, we will need safeguards to continue to allow people to write software for less crucial purposes on a "let the user beware" basis, so as not to kill hobbyist software.

Do I look like I speak for my employer?
[ Parent ]

Texas Engineer License (3.25 / 8) (#17)
by commandant on Sun Oct 08, 2000 at 11:12:21 AM EST

From reading the first few paragraphs of the Texas law mentioned, I don't think it is illegal to offer services to the private sector. The description says that only "licensed persons may legally perform, or offer to perform engineering services for the public." I take the phrase "services for the public" to mean publicly-accessible property, like a state building, or even commercial buildings (where the customers of the building's owners have no way of knowing if the building was constructed under the supervision of a professional engineer). I don't think it is legal (at least not at the federal level; I don't see why states would be any different) to restrict a private individual from hiring anybody he wants. It becomes the burden of the private client to make sure his engineers are licensed, if he cares at all.

Just to get a feel for the stupidity of laws like these, take a look at one of the licensing requirements: "With an accredited engineering degree you must have 4 years or more of active practice in engineering work[...]" The requirement goes on, saying that working under a licensed engineer is recommended but not required. How are you supposed to obtain four years of experience if you can't work without a license? It must be that engineers can work for private individuals without a license, or no one would be able to get a license without working under a licensed engineer (if that is even permissable, which probably isn't). If that were the case, the law wouldn't recommend working under a professional engineer, the law would require it.

Thank you.

Work experience requirement. (4.00 / 3) (#20)
by Christopher Thomas on Sun Oct 08, 2000 at 01:55:42 PM EST

"With an accredited engineering degree you must have 4 years or more of active practice in engineering work[...]" The requirement goes on, saying that working under a licensed engineer is recommended but not required. How are you supposed to obtain four years of experience if you can't work without a license?

Simple - by not doing the engineering work, but by doing support work related to the engineering work. Or by doing a part of the engineering design, but having the licensed engineer supervising it check it and sign off on it (thus taking responsibility for it).

Another option is to do related work in the same field that doesn't require a P. Eng. designation. Lots of this work exists.

The alternative - giving people license to practice engineering on critical jobs without any experience at all - is considerably worse.

In summary, this requirement has a good reason for existing, and is easily fulfilled. I'll have to go through the same thing before I get my own P. Eng.

[ Parent ]
Re: Texas Engineer License (3.50 / 2) (#37)
by Alanzilla on Mon Oct 09, 2000 at 01:56:04 AM EST

There are things which legally require the certification of an engineer--construction of buildings is one example. All that the Texas law states is that to render a legal engineering opinion, you must be board certified.

This affects technoslaves like you and me not at all.

[ Parent ]
Re: Texas Engineer License (4.66 / 3) (#50)
by micco on Mon Oct 09, 2000 at 10:22:53 AM EST

From reading the first few paragraphs of the Texas law mentioned, I don't think it is illegal to offer services to the private sector. The description says that only "licensed persons may legally perform, or offer to perform engineering services for the public." I take the phrase "services for the public"

This is a misinterpretation. Certain building codes require you to have plans signed and sealed by an engineer in order to obtain a building permit. Which projects require an engineer vary in different jurisdictions, but it's certainly not limited to "public" buildings. There are plenty of private houses that require an engineer's seal on the plans. This requirement is really no different than building codes which specify certain work has to be done by a licensed electrician, etc.

Just to get a feel for the stupidity of laws like these, take a look at one of the licensing requirements: "With an accredited engineering degree you must have 4 years or more of active practice in engineering work[...]" Just to get a feel for the stupidity of laws like these, take a look at one of the licensing requirements: "With an accredited engineering degree you must have 4 years or more of active practice in engineering work[...]" The requirement goes on, saying that working under a licensed engineer is recommended but not required. How are you supposed to obtain four years of experience if you can't work without a license?
Do you similarly feel that making graduates of medical school perform an intership and residency before becoming full-fledged "doctors" is studid? An unlicensed engineer can do the same work, but a licensed engineer is required to review, approve, and seal plans for projects which require an engineer's seal. Most large engineering firms have cube-farms full of unlicensed engineers doing design work which is then reviewed and sealed by higher-level staff. This system is absolutely no different than the model used for training doctors, and it is simply an acknowledgement that you don't learn enough real-world hands-on engineering in engineering colleges.

[ Parent ]
Re: Texas Engineer License (4.00 / 1) (#78)
by minusp on Tue Oct 10, 2000 at 09:04:11 AM EST

it is simply an acknowledgement that you don't learn enough real-world hands-on engineering in engineering colleges.
Any state that I have looked at (NY CT VT MA NH TX MS LA FL GA) for registration/licensing has had both educational and experience minimum requirements, and usually requires recommendations from employers or other licensed professionals in your field, at least for your first license. This is just the first level filtering in what is really a formal peer review, not some bestowal of permission by the government. If I recall, the NCEE is made up of engineers... and your particular state board is made up of engineers, presumably chosen for excellence. The tests you will take are written by engineers to find out if you meet minimum standards to be let out on your own, unsupervised. How this would apply to software designers, I have no clue, but at least you don't have to assume the liability hit that comes with it, yet.
Remember, regime change begins at home.
[ Parent ]
Re: Texas Engineer License (3.00 / 1) (#83)
by davidduncanscott on Tue Oct 10, 2000 at 01:46:49 PM EST

I don't think it is legal (at least not at the federal level; I don't see why states would be any different) to restrict a private individual from hiring anybody he wants.

It's not a question of whether I can hire somebody -- it's a question of whether someone can allow himself to be hired.

I might prefer a witch doctor to an MD, and I'm entitled to use his services, but I'd better make sure that his check is marked as being for "entertainment" or "mowing lawns" or something -- anything other than "practicing medicine", because practicing medicine without a license is a crime.

In the same way, I can make suggestions as a ordinary private citizen ("Man, that looks bad! You should take an aspirin or something. At least cover it up!"), but I'd better not bill you for it, or I'm liable to end up in jail.

I would imagine, by the way, (INAL, much less ATL), that by "public" Texas means you and me, John Q. Public, the wonderful people of the great state of Texas, etc.

[ Parent ]

(3.53 / 13) (#19)
by 0xdeadbeef on Sun Oct 08, 2000 at 01:26:23 PM EST

However, there are always those who will gladly don their own shackles, for whatever reason (these folks, as well as the academics whose works they have links to, apparently believe that all those job postings in the papers and on web sites are a vast right wing conspiracy designed to allow the Evil Big Corporations to hire foreign programmers for peanuts thru the H-1B program).

Don't you hate it when a perfectly good rant is ruined by off-topic knee-jerk reactionism? I looked at that page, and I see nothing advocating mandatory licensing of programmers. The closest thing they propose is a certification system that isn't based on vendor-specific bullshit, and some kind of professional standards body enforced by "prestige". Where do you see the words "government", "mandatory", or "required" on that page?

God knows how much I'd like to have an objective way to evaluate prospective employees without making them take a bunch of tests, because you sure as hell can't trust headhunters. It be a lot cheaper for everybody if there was a certification that could reasonably measure programming ability.

Companies shell out big bucks for stuff like ISO-9000 certification, so what's wrong with someone that says "here's how you make good software, from the people who know how to do it." Are you going to imply the ACM code of ethics to be a bunch of leftish trash too?

Re: (4.00 / 1) (#79)
by Kaa on Tue Oct 10, 2000 at 11:18:13 AM EST

It be a lot cheaper for everybody if there was a certification that could reasonably measure programming ability.

Do you really want a mandatory, government-applied MCSE? Because that's what it will be.

Tests for guild admission (that's what they are -- bar exams, engineer certifications, etc.) test willingness to jump through hoops and ability to memorize a mass of useless trivia.

Not to mention the difficulties of measuring programming ability when nobody even agrees what it is (e.g. what's a genius hacker to some is writer of incomprehensible unmaintainable code to others).

Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.


[ Parent ]
Re: [subjects are overrated] (4.00 / 1) (#93)
by 0xdeadbeef on Tue Oct 10, 2000 at 10:53:00 PM EST

Let reiterate my last post: where do you see the words "government", "mandatory", or "required"? Who better to run such a thing than the ACM or a "Programmers' Guild" made up of free software enthusiasts?

Actually, it's really easy. Give someone a set of specifications, and ask them to implement solutions in the language(s) of their choice. Think ACM International Collegiate Programming Contest, but with easier problems. The only flaw is that it's time consuming, and hence, expensive to monitor.

There was a partial step in this direction posted to memepool recently: BrainBench. They don't measure programming ability, but can certainly measure a potential applicant's competancy regarding certain buzzwords. The C++ test was not the cake-walk I thought it would be.

Anyone who writes incomprehensible code is not a good programmer. Genius, maybe. Hacker, unlikely. But definately not someone you'd want working for you.

0xdeadbeef's Corollary to Kaa's Law: Most idiots believe they are in the non-idiot subset; those who loudly complain about the supposed idiot majority defininately are.

[ Parent ]

Re: [subjects are overrated] (3.50 / 2) (#98)
by Kaa on Wed Oct 11, 2000 at 09:30:23 AM EST

Let reiterate my last post: where do you see the words "government", "mandatory", or "required"?

In real life.

A bar association used to be no more than a lawyers' club. Now try practicing law without being a member of it.

And, let me repeat, there is no point in licensing unless licensing is required (==mandatory) for certain jobs.

a "Programmers' Guild" made up of free software enthusiasts?

Dream on, baby, dream on... Oh, you can make such a guild, certainly, and issue certifications and diplomas and degrees and licenses and whatnot, but WHAT FOR?

0xdeadbeef's Corollary to Kaa's Law: Most idiots believe they are in the non-idiot subset;

Of course, that's part of being an idiot.

those who loudly complain about the supposed idiot majority defininately are.

Loudly complain? Kaa's Law is a quiet observation formulated mostly on the basis of personal experience. If you are wondering, the final push for this law came from reading the MENSA magazine.

Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.


[ Parent ]
Re: [subjects are overrated] (4.00 / 1) (#103)
by 0xdeadbeef on Wed Oct 11, 2000 at 01:33:15 PM EST

I was not referring to licensing, I was referring to certification. The current problem is that so many of the existing certifications are scams or marketing gimmicks designed to push specific products. It would be really nice if an impartial group focused on the craft of programming were to create an industry recognized certification system.

And what for? Because the resume is a pathetic way to measure someone's competency, technical interviews can be defeated by BSing and memorization, and the typical hour-long company-written proficiency test is far too inadquate. Why do think there is such a thriving market of shysters pushing lame certifications? Because the industry needs certifications! A degree is really meaningless from all but the most respected schools, because so many colleges now have created weak CS programs to meet the demand.


Ah.. and what is MENSA but a group of idiots loudly complaining about how stupid everyone else is? ;-)

[ Parent ]
Licensing bad, failing good (2.10 / 10) (#21)
by SIGFPE on Sun Oct 08, 2000 at 02:14:36 PM EST

I hardly think it's worth reiterating my reason for thinking that the licensing of software engineers is a violation of people's freedoms. However I believe it would be useful if there were a way of finding out who has various skills reliably. One way would be for universities (at least in the US) to actually fail people rather than dole out the fairly uniformly high scores that they do. Universities pass computer science students who quite simply cannot program. (I know - I've worked with them.) This is a pretty sorry state of affairs. Universities seem to think that their job is to boost students' self-esteem rather than educate them. So it's hardly surprising that there are those who think that licensing should be required.
SIGFPE
Re: Licensing bad, failing good (3.00 / 1) (#71)
by mindstrm on Mon Oct 09, 2000 at 04:28:28 PM EST

Licensing software engineers is a violation of people's freedoms? Is it any more a violation than licensing Electrical engineers, or Mechanical Engineers, or Chemical Engineers? No.

Computing Science is not about programming. The problem is not that they don't know how to program; the problem is that companies think that when they want a programmer, they want a Comp. Sci grad! Rather than dissing these 'comp sci grads who can't code', why not dis those who have no idea what comp. sci is, yet reqeust such experience anyway?



[ Parent ]
The question is, how important is programming? (4.31 / 16) (#22)
by bgalehouse on Sun Oct 08, 2000 at 02:22:46 PM EST

I think that the question to ask is, how often is public safety on the line, and how many programmers know what to do when it is. If you are a programmer, I ask you this. Have you ever read comp.risks?

We think of bad bridges as possibly killing people, we don't generally think that of bad code. But, most shoddy construction (and shoddy design) lasts for years without killing anybody. If software lasts for years, do the issues change? Another point is that even in regulated industries, mistakes and design flaws are common. Many new buildings leak. But at least they don't fall down in the first storm.

Do you find it comforting to know that some airliners are fly by wire? If you read comp.risks, you'll see that x86 boxes running windows 95 are shoehorned into applications which at a glance seem more appropriate for embedded systems. Airport baggage handling, etc.

If somebody wrote a virus for cell-phones, the resulting DOS could easily keep somebody somewhere from calling 911. Maybe cell-phones are not yet smart enough for this to happen, but they are likely getting there. A trojan for the Palm has been written, and Palms and cellphones may be merging. If it did happen, who should be blamed? The vandal who leaned on the house of cards, or the person who built it and sold it as a strong house?

You've probably heard the line "if carpenders built buildings the way programmers built programs, the first woodpecker would destroy civilization". There is some truth to that. Making things more stable costs time and analysis, means choosing QNX over 95, means testing against random input, means paying smart people to try to break the system. But it can be done. Maybe not perfectly, maybe not every time, but much better than we've been doing.

And so the question is. Should anybody who calls themself a programmer be required to konw about such things? Should programmers be required to know how to calculate 'how many people will die if I use this code'? Depending on the application, it is possible that they should. Maybe the market takes care of this, but reading comp.risks, maybe not allways.

Re: The question is, how important is programming (3.80 / 5) (#46)
by overcode on Mon Oct 09, 2000 at 09:39:01 AM EST

Much of today's shoddy programming isn't due to incompetence, but rather insane requirements. In many cases programmers are up against unrealistic release schedules dictated by management, and therefore simply don't have time to test their code or insert safety fallbacks to the degree that they know they should. If you have a physical building, you can often observe how well it was built, but it takes someone with programming knowledge to determine how well a piece of software was built, at least until it comes crashing down.

-John


[ Parent ]
Re: The question is, how important is programming (2.00 / 1) (#97)
by hemul on Wed Oct 11, 2000 at 03:33:05 AM EST

So what? A true professional would *refuse* to compromise public safety to meet a deadline. Engineers and doctors tend to be like that. It's time software engineers were as well. And one way to get there is to allow software engineers to claim they adhere to a code of ethics (by joining a professional organisation) , and punishing them if they dont (by deregistering them, or suing them). If a doctor is incompetent they wear the consequences. Make it the same for software engineers.

[ Parent ]
Re: The question is, how important is programming (3.00 / 2) (#54)
by codemonkey_uk on Mon Oct 09, 2000 at 10:32:25 AM EST

Should programmers be required to know how to calculate 'how many people will die if I use this code'?
How could they? Code can be (re)used in all sorts of places that the programmer didn't expect.

Who's to blame if a piece of licence free code is put into a free application thats used in an unusual way in an operating system used to host a server thats installed into a telecoms network which crashes and a signal doesn't reach a train driver and the train crashes?

A contrived and random example, I know, but I hope it gets my point accross. How can blame be attributed, especially when the interactions of software, hardware, and specifications can become so abstracted and complicated?

Thad
---
Thad
"The most savage controversies are those about matters as to which there is no good evidence either way." - Bertrand Russell
[ Parent ]

Re: The question is, how important is programming (2.50 / 2) (#57)
by overcode on Mon Oct 09, 2000 at 12:14:26 PM EST

In this particular case, I'd say that if a single signal is to prevent a train from crashing, then the engineers behind this had better be DAMN sure they know what's going to make that signal get there - line by line.

-John

[ Parent ]
Re: The question is, how important is programming (none / 0) (#109)
by bgalehouse on Fri Oct 13, 2000 at 02:01:29 AM EST

Who is to say how a building will be used and abused after the fact? Buildings have certain minimum stability requirements. Building codes require that they be built to certain wind loadings and such. Complex factors can affect the later stability of the building.

I was in NC during this last Hurricane season, I spent some sf my time in the area visiting the house of a relative who happened to be a civil engineer type (his specialty is dams, but he seemed to be generally up on the field as a whole).

I asked him why everybody gathered in large buildings in the most likely to be hit areas. Large buildings and school gyms aren't the easiest buildings to protect against high wind loads and flood water. The answer - public construction has more stringent building codes. It might be harder to protect a big room, but the walls of a school must be built with higher limits in mind.

Would it be so much of a leap for program input validation to become manditory, or to require any significant change to the program's environ to be signed off by somebody? Certainly, if you buy an old warehouse and want to turn it into a factory, you had best compare the floor's design strength to the weight of your equipment - and hire an engineer if there is any question.

[ Parent ]

If being unlicensed won't keep one from working... (3.14 / 7) (#24)
by J. J. Ramsey on Sun Oct 08, 2000 at 03:59:05 PM EST

. . . then I don't have a too much of a problem with it. What might make sense would be to have a "professional programming license" that indicated that one had a certain amount of experience in the field and knew certain things.

The problems with the licensing are mostly practical. It is possible to learn programming by teaching oneself from books, from others' code, etc. without stepping foot in a computer science course. Many have done this already. It is rare for an enginneer to be fully self-taught in such a way. This means that someone could really know what they are doing, yet not have much in the way of numerical measures of their expertise, such as the number of years in a computer science major, or the number of years in the software industry. Numbers of years writing code would be difficult to measure, especially for programmers working on their spare time. Saying that one has written code for so many years may not be meaningful if the time actually spent typing the code could range from 8 hours a week to 20 hours a week, or if the coding was in sporadic bursts.

The real question is what does the license actually measure, and what acheivement does obtaining the license actually indicate.

--I am a fool for Christ. Mostly I am a fool.--

Re: If being unlicensed won't keep one from workin (2.00 / 1) (#41)
by Bert Peers on Mon Oct 09, 2000 at 04:49:13 AM EST

Good point.. how about this vague idea : RPG style experience points :)

You can think of a license as a bool, passing one single test gets you the flag set by the gov't, ACM or anything, and then you're homefree. But as people pointed out, some projects need the VB-scriptkiddie level of thought, others require airtraffic-control experts. So why not replace the bool with an int, so that individuals can be awarded experience points by some institute; that institute recognizes the complexities of a project you've been involved with and boosts your "experience level" accordingly. Teams looking to hire can assess the complexity of their task and set minimum experience levels for candidates.

That'll bring us in the realm of job evaluation, though, as the institute would either have to allocate every teammember of the rated project the same bonus, or have to rely on ratios from your boss. That brings us back to politics. In fact, I think you could tie in discussions on moderation systems here, too, but my head starts to hurt... ;) I'm serious though.

[ Parent ]

All fine and dandy (3.00 / 7) (#25)
by joshv on Sun Oct 08, 2000 at 04:26:59 PM EST

Yes, it will be all fine and dandy if every programmer has a professional certification - trained and drilled in the finer points of system design and architecture, testing and debugging.

And then the boss will say "I want it done tommorrow, no ifs ands or butts" and all that training is out the window. No time to test thoroughly (let along regression test), half assed debugging - and you check the shit in at the end of the day - of course it will break, if not now, eventually.

My point is that it's the process that produces bad code, it is not always just the fault of the people writing the code. I as a programmer, regardless of the amount of training I have, will produce x bugs per thousand lines of code. I might be able to spend a lot of time looking at my code and testing it myself, and bring that down to x/2. But I as an individual am never going to catch everything. In the end the entire process has to be responsible for testing what I write.

I have read many articles about the software group that produces the code that runs the Space shuttle. These guys work 9-5, never miss a deadline, and have missed something like 15 bugs since the life of their code began. If a bug gets through it is not the fault of the programmer, it is the fault of the process that did not catch the bug. The process is altered to catch future bugs that may be similar, and life goes on.

Now these guys are an extreme example, but still, the lesson applies to the process of writing 'normal' software. Design your process to catch bugs, then any reasonably intelligent warm body that can follow rules will be able to contribute to your project.

-josh

The boss (none / 0) (#106)
by kmself on Thu Oct 12, 2000 at 03:43:47 AM EST

In the accounting profession, Jr. associates' work is signed by a senior partner. In law, rookies at a firm work under the auspices of a more senior lawyer. In an architectural firm, draftsmen and junior architects work, you guessed it, is signed by a principal partner. In engineering firms, the head of a project is on the firing line for what happens. It's their sign-off on work.

A licensing system which sets up such an accountability system in the programming field might not be such a bad thing.

--
Karsten M. Self
SCO -- backgrounder on Caldera/SCO vs IBM
Support the EFF!!
There is no K5 cabal.
[ Parent ]

What a STUPID law (1.70 / 10) (#26)
by {ice}blueplazma on Sun Oct 08, 2000 at 04:58:23 PM EST

Why do people think that some corporate sponsored "certified" engineer is any better than some 18 year old who has been using a computer since he was 5? Most engineers are sponsored by some company. Would you want a M$ "Certified" (Cough, Cough) engineer fixing your brand new BSD server? I wouldn't. Also what is the point of all the certification. If you're working and your boss says, "Do it and do it fast." You are not going to have time to debug and comment everything perfectly. However I can see some small reason for this. Maybe someone (ahem, Governor Bush), thought that myabe they shouldn't have people with no idea of what they are doing fixing computers. Good idea. But, wait that already happens. I think it's called 'tech support'. So just deal with it. People will not say the can fix your computer if they can't. At least, if they don't work for Dell, Gateway, or M$.

"Denise, I've been begging you for the kind of love that Donny and Smitty have, but you won't let me do it, not even once!"
--Jimmy Fallon
Re: What a STUPID law (2.25 / 4) (#30)
by aragorn on Sun Oct 08, 2000 at 07:05:13 PM EST

From your comment it seems that you have the impression that the function of an engineer is solely to fix computers. Some of us do, mostly in our spare time. We also design planes, bridges, VCR's, toasters, automated assembly lines and other whatnot. When it comes to people who deal with computers, I find the term "engineer" thrown around pretty lightly. I'm sorry, but someone with no formal schooling is not an "engineer" any more than I'm a doctor. I've met a lot of programmers, but never a "software engineer."

[ Parent ]
Re: What a STUPID law (1.00 / 1) (#88)
by {ice}blueplazma on Tue Oct 10, 2000 at 06:21:44 PM EST

I know that the term engineer does not soley mean fixing computers. However for the general purpose of my comment I used that as somewhat of an exmaple. I personally could care less. I also know that I know a lot more about computers than anything else. I figured it would be a good thing to use for an example. Right?

For another thing, what is a "software engineer?" That is a very loose term. You could mean that it is someone who is paid to code. Maybe someone who likes to code. What do you mean by that?

What is this idea, "that no one without formal schooling is an engineer?" I think you must be have typed something wrong. I know more people who aren't even out of college who know more than your average "certified engineer." If you already know what you're doing why would you need a formal education? I know a college student who hasn't taken any classes on computers or programming. He knows more than your average college grad with a comp sci degree.

I'm sorry about my mention of Governor Bush also. I just hate him and figured this would be a law he would support. Personally, I don't care.

"Denise, I've been begging you for the kind of love that Donny and Smitty have, but you won't let me do it, not even once!"
--Jimmy Fallon
[ Parent ]
Re: What a STUPID law (1.00 / 1) (#90)
by {ice}blueplazma on Tue Oct 10, 2000 at 06:22:55 PM EST

I know that the term engineer does not soley mean fixing computers. However for the general purpose of my comment I used that as somewhat of an exmaple. I personally could care less. I also know that I know a lot more about computers than anything else. I figured it would be a good thing to use for an example. Right?

For another thing, what is a "software engineer?" That is a very loose term. You could mean that it is someone who is paid to code. Maybe someone who likes to code. What do you mean by that?

What is this idea, "that no one without formal schooling is an engineer?" I think you must be have typed something wrong. I know more people who aren't even out of college who know more than your average "certified engineer." If you already know what you're doing why would you need a formal education? I know a college student who hasn't taken any classes on computers or programming. He knows more than your average college grad with a comp sci degree.

I'm sorry about my mention of Governor Bush also. I just hate him and figured this would be a law he would support. Personally, I don't care.

"Denise, I've been begging you for the kind of love that Donny and Smitty have, but you won't let me do it, not even once!"
--Jimmy Fallon
[ Parent ]
Re: What a STUPID law (3.66 / 3) (#31)
by KindBud on Sun Oct 08, 2000 at 07:09:24 PM EST

I guess you didn't read anything but the title and the opening paragraph. The Texas law was passed in 1937. It has exactly zero to do with George Bush (either one). There is no category in the Texas certification program for Software Engineers, no certification exam to take. So cool your jets, kiddo. It's OK to call yourself Software Engineer in Texas.

--
just roll a fatty

[ Parent ]
it's a bit different than that (4.80 / 5) (#32)
by tomorrows_joe on Sun Oct 08, 2000 at 07:10:54 PM EST

The purpose of the Texas law is a bit different than what you (and the author of this article, and others) seem to think it is.

I'm not sure how it is in other states, but at least in Texas there is a distinction between an "engineer" and a "Professional Engineer (P.E.)". The discintion is the Professional Engineer's exam, which is a test that covers a broad range of general engineering theories and concepts. I can't remember if it also has a more detailed section in one's particular area of engineering or not. Think of it as a "acceptable level of competency test" for engineers.

You do not have to take this test to work as an engineer in Texas; many of my friends from college simply decided not to take it (or at least put it off for a few years) and go to work in some company.

However, if you want to do work where the public safety, welfare, etc. is involved, it would probably be good for you to get your P.E. I'm not sure if there is any laws about this or not, but I think it's common practice to only use P.E.'s for such projects. In other words, if you're designing a new chip out at AMD, you won't need a P.E. If you're designing a new raised highway in Austin, you probably wouldn't get the contract unless you're a P.E. (Actually it's more like, if you want to be hired by AMD, you probably won't need a P.E., but if you want to be hired by that civil engineering company, you probably would.)

Anyway so that's what that Texas law is about, you can't claim you're a P.E. unless you actually took and passed the exam. Whether that means you're truly competent enough to design something that involves the safety of the public or whether it simply indicates you can pass the test, I can't say. I never took the exam, but from what I remember, it was actually pretty hard. The test is broad enough and detailed enough that someone taking the exam would have to be able to recall all of those things they learned in school, but promptly forgot once they started working and realized that using Matlab, et. al is much easier than working out stuff by hand.



[ Parent ]
Re: it's a bit different than that (1.00 / 1) (#91)
by {ice}blueplazma on Tue Oct 10, 2000 at 06:27:33 PM EST

The original article didn't say that.

"Denise, I've been begging you for the kind of love that Donny and Smitty have, but you won't let me do it, not even once!"
--Jimmy Fallon
[ Parent ]
Not as many liability issues with code (2.85 / 7) (#27)
by deanc on Sun Oct 08, 2000 at 05:41:41 PM EST

Well, part of the thing is that rarely is one ever facing any kind of liability issue when it comes to coding. Noone ever sued Microsoft because WinNT crashed at a crucial moment, for example. Because there are few software-engineering-related lawsuits, insurance companies providing liability coverage have never demanded any sort of professional certification from their insurees' employees. Similarly, the government has never faced a lawsuit from citizens screwed over by public software, so they have never demanded any certification from their public-sector programmers or contractors.

Contrast this with construction. Any buildings or bridges that fall will immediately face scads and scads of lawsuits against the contractor, the government or company that paid for the construction, etc., etc., etc., so we place lots of certification safeguards against this.

On a related note, however, you really don't need any outside certification to be a "grunt" engineer or architect. Rather, the grunts work for some number of years for "certified" bosses that sign their name to the final construction plans. The case is similar for accountants. Uncertified "grunt" accountants churn out the tax forms, while the CPA signs his name to the client's tax form. Eventually the grunts tax their certification tests and get "CPA" attached to their names after a certain number of years of experience, or they just never become CPAs and work in non-tax accounting jobs.

-Dean


Re: Not as many liability issues with code (2.50 / 2) (#66)
by kallisti on Mon Oct 09, 2000 at 03:39:41 PM EST

Didn't the Denver airport which closed down due to software bugs in the baggage delivery system generate any lawsuits? It was a while ago, but I recall reading things about the millions of dollars lost per day while fixes were going on. Eventually, the media stopped reporting on it, so I have no idea what eventually happened.

[ Parent ]
Re: Not as many liability issues with code (3.50 / 2) (#67)
by kallisti on Mon Oct 09, 2000 at 03:50:12 PM EST

And on the topic of lawsuits for software, I used to work on a medical records system, keeping track of such things as drug interaction history. Do you really think that if it were to fail catastrophically, we wouldn't have been sued? We certainly were aware of potential liabilities and that affected large parts of the design.

[ Parent ]
Re: Not as many liability issues with code (5.00 / 1) (#96)
by mindstrm on Wed Oct 11, 2000 at 12:37:28 AM EST

Consider why.

P.Eng signatures are needed on large civil projects not becuase 'it's the law', per-se, but because the contractors working on the project, or those ultimately responsible for building it want somethikng they can lay blame to.

If I have a bridge built for the City, and have some non certified engineer do it, and it breaks, it does NOT matter how good the guy was; *I* am the one who will get my ass burned.
If, on the other hand, it was signed off by the appropriate P.Eng types, I am in the clear, as I've had the best possible experts, certified by their own kind, who stand by their work, sign it.


[ Parent ]
Only Morons object to licensing (2.47 / 19) (#29)
by jmvidal on Sun Oct 08, 2000 at 06:46:51 PM EST

There is a reason for licensing. Do you want some high-school moron designing the plane you are flying on? how about the brake systems on your car? or your heart valve?

Probably not. Why? Because chances are that you value your life and do not want some idiot placing it at risk just because he thinks he is God's gift to engineering.

The only reasing that licensing has not been an issue in software engineering so far is because a lot of the programming work done is not software engineering. Most of the programmers out there simply put together websites or apps that, if they sort of work some of the time make their bosses happy. If a civil engineer, on the other hand, builds your house and your house falls apart after two years, you will sue his ass off.

It is a simple question of what is at stake and what kind of quality we expect from the practioners. If the work they do has no real consequence then they can get away with doing a crappy job. If people live's are at stake, or a bundle of money is at stake, then we except them to do a good job everytime.

I predict that in the near future we will see a clear distinction between a professional (certified?) software engineer and an untrainted wannabe. The software engineers build the systems that run planes, subways, stock markets, etc. The rest build web sites and VBasic macros. Think of it as the difference between someone who builds a suspension bridge that supports 10K cars per day and someone who builds a toolshed for his neighbor's backyard.

I support freedom of expression, but not lies. If you call yourself a doctor I expect you to have an MD and be board certified. If you call yourself a software engineer, I want to expect you to have an MSE and be board certified.

Disclaimer: obscene language is there only for shock value.

Yet Another Certification (3.50 / 6) (#35)
by Carnage4Life on Sun Oct 08, 2000 at 09:02:36 PM EST

I've stated this earlier in this thread but here goes again. Adding yet another certification is meaningless in and off itself since most complex software systems are written by multiple developers and not one. The Capability Maturity Model is on the right track in doing this and is used by the government (at least the DoD) to certify which organizations can develop software for them.

Sample Software Engineer Certification Exam

1.) Which of these is not an Object Modeling diagraming language?
a.)Unified Modeling Language b.)Dijkstra Squares c.)Coad diagrams

2.)On what part of software development should you allot the least time?
a.) Testing b.) Designing c.) Coding

3.) Which of these is not an accepted testing methodology?
a.) Sandbox testing b.)Regression testing c.) Unit testing

4.) Which of these factors affect the risks involved in a software project?
a.) Product Size b.)Business Related Decisions c.) Product Software License

5.) Which of these is the most error prone development model?
a.) Waterfall model b.) Spiral model c.) Prototyping Model


My purpose in posting these questions is to illustrate a point. Do you believe that knowing the answers to these questions changes whether you can write robust, correct, efficient and maintainable code? If your answer is Yes then you are wrong and this can be evidenced by the amount of shitty software in existence that has been produced by college graduates who have or should have the above knowledge. Adding yet another certification to the mix will solve nothing and instead will create a cottage industry of cram-shops like those that have sprung up around the MSCEs and other similar certifications.

Again I restate my point, licensing software engineers, will simply lead to yet another certification and not much else. There is already a standard for judging the professionalism of software development companies which is already in use by the government, anything else is redundant and serves little purpose.



[ Parent ]
Re: Yet Another Certification (3.16 / 6) (#36)
by jmvidal on Sun Oct 08, 2000 at 10:25:12 PM EST

MCSE and CISCO certifications are vendor certifications, in the same vein as construction workers who want to work with Deere machines (tracktors and such) sometimes get certified to operate them by their local Deere distributor.

When I hear "software engineering certification" I think of something much more sophisticated like the medical boards, the bar (for lawyers), or the engineering certification civil engineers have to pass before they can work on a project (it varies from state to state).

No, I do not know what should be asked in such a test, and neither does the ACM, which is why they are unsure about it. However, we will need one, soon. As more or our lives and income are placed at the mercy of a few lines of code, society will rise and demand that the people doing that work know the basic best practices in the field.

As per the questions you posted, I think they are much too general. Multiple-choice questions need to be very specific otherwise the students can argue that their answer is right. You need specific questions, thousands of them, then take an average. Thats how they do it in law and medicine.

Finally, CMM is a way to measure the company's process not an individual's expertise. I like CMM, but it has nothing to do with certification. The Personal Software Process (PSP), on the other hand, might be useful, but it cover only process (no design, data structures, algorithms...).

[ Parent ]

Re: Yet Another Certification (4.00 / 1) (#81)
by Kaa on Tue Oct 10, 2000 at 12:19:57 PM EST

Multiple-choice questions need to be very specific otherwise the students can argue that their answer is right. You need specific questions, thousands of them, then take an average. Thats how they do it in law and medicine.

Well, I don't know how it works in medicine, but I know how it works in law. The bar exam is a test of medium-term (up to several weeks) memory and nothing else. Preparation for the bar consists of cramming into one's head as many obscure, non-useful, and irrelevant facts as possible, to be flushed out right after the bar exam. It's a painful process, a kind of an initiation rite, but it has zero relevance to one's abilities as a lawyer. You have to pass the bar in order to practice law (there is a law that says you must), but nobody, nobody at all is interested in your score at that exam -- because it does not signify anything.

The facts that you memorize are useless -- and it any case in the real world you must rely on reference texts (laws, cases, opinions, previous agreements, etc) and not on your memory. Again: a bar exam is nothing but a test of medium-term memory. I don't see how you can make the comp-sci exam anything other that that, too.

Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.


[ Parent ]
Re: Only Morons object to licensing (4.00 / 5) (#42)
by hajk on Mon Oct 09, 2000 at 05:43:55 AM EST

Please explain clearly how I could obtain such a licence?

Methodologies tend to be very much the religion of the moment and someone certified n years ago with JSP isn't necssarily going to hack it with UML.

Perhaps we should go back to the Master/Journeyman/Apprentice model of old. Theoretical expertise can make you a coder, but it takes a lot of practical work to make you an engineer in this field. Computing is relatively new and it lacks some of the rigorous underpinnings of other disciplines. Anyone wanting evidence, has only to look at the risks digest.

Unfortunately in our field, we have to play the game of "Guess what the customer wants" and plan it in such a way that we end up with a system that he really will use and will help him, usually not what was specified.

Perhaps certification will have to be field related, so for example, I build stock exchanges so should I explicitly know the theory of exchanges? In practice, I know a little now, but only after many years working in the field.

[ Parent ]

Re: Only Morons object to licensing (4.00 / 3) (#47)
by jmvidal on Mon Oct 09, 2000 at 09:56:41 AM EST

Medical doctors have keep the skills up to date with Continuing Medical Education (CME) credits. That is, it is not enough that you passed the boards, every year you need x number of credits just to keep that license.

I do not know what a certification test might look like. I think it should be hard enough so that I (PhD in CSE) cannot pass it without some hard studying. I think it should cover basic data structures and algorithms, computer architecture (caches, TLB), basic discrete math (do you know what modulo 2 is?), basic OO design, as well as some generally kick-ass question like "write a small program to do X in O(n) time using O(lg n) space".

[ Parent ]

Re: Only Morons object to licensing (4.00 / 4) (#45)
by davidduncanscott on Mon Oct 09, 2000 at 09:02:05 AM EST

If you call yourself a doctor I expect you to have an MD and be board certified.

I suspect your looking for "physician", or perhaps "surgeon". "Doctors" come in many flavors, medical among them.

In a similar vein, "engineers" work with "engines". Some of them wear striped hats and blow the horn as they pass through grade crossings. Others design bridges. Still others design motherboards. I don't want a civil engineer driving the train, I don't want an EE designing the bridge, and I doubt that ferrocement is a good choice for motherboards, so I suppose I'll just have to look at the guy's credentials and experience. If his peers wish to indicate their approval, well and good -- they should be entitled to do so.

I would suggest, however, that each time you read of a malpractice suit, of the amputation of the wrong leg or whatever (carving of initials come to mind), that you remember that those incompetents and lunatics were generally duly licensed as well. Neither the AMA nor the ABA has proven to be completely effective, and it's hard to avoid the impression that they tend to protect their own.

[ Parent ]

Re: Only Morons object to licensing (3.66 / 3) (#63)
by Xenophobe on Mon Oct 09, 2000 at 02:50:32 PM EST

There is a reason for licensing. Do you want some high-school moron designing the plane you are flying on? how about the brake systems on your car? or your heart valve?

Probably not. Why? Because chances are that you value your life and do not want some idiot placing it at risk just because he thinks he is God's gift to engineering.

This is pure FUD. If a company hires an engineer who is designing aircraft, automobile, or medical systems and they are incompetent, it will come out long before the product is produced. What you overlook is that licenced engineers have produced things that fail, also. Licencing is no guarantee of quality or a lack of defects. Adding in the fact that the government (which never makes bad decisions, right?) would administer the program makes it look even worse.

The only reasing that licensing has not been an issue in software engineering so far is because a lot of the programming work done is not software engineering. Most of the programmers out there simply put together websites or apps that, if they sort of work some of the time make their bosses happy. If a civil engineer, on the other hand, builds your house and your house falls apart after two years, you will sue his ass off.

What's your point? You are comparing apples and oranges. If the web site has to be up 24/7/365, as you expect a house to be, then if it is not someone's ass is going to be on the line. If it was put together by an independent consulting firm, you can count on them being sued.

I predict that in the near future we will see a clear distinction between a professional (certified?) software engineer and an untrainted wannabe. The software engineers build the systems that run planes, subways, stock markets, etc. The rest build web sites and VBasic macros. Think of it as the difference between someone who builds a suspension bridge that supports 10K cars per day and someone who builds a toolshed for his neighbor's backyard.

Are you trying to tell me that there is no distinction today? I'd like to see the company that pays it's 10 year veterans the same as it's new hires. That promotes it's new hires into leadership roles instead of the vets. That company wouldn't survive long, for good reason. Your example is again apples versus oranges. Would you hire a multimillion dollar company to design the shed? How about the bridge?

I support freedom of expression, but not lies. If you call yourself a doctor I expect you to have an MD and be board certified. If you call yourself a software engineer, I want to expect you to have an MSE and be board certified.

And I expect you to have a BS in Computer Science. Does that mean that all good software engineers have a college degree? Nope. Will all good software engineers have "board certification"? Only if they are forced to. Oh, and I guess since I an a UNIX person I would fail your test of being a "software engineer", even with board certification.



[ Parent ]

Re: Only Morons object to licensing (4.00 / 1) (#89)
by freakazoid on Tue Oct 10, 2000 at 06:22:11 PM EST

Ignoring the poor phrasing of your argument, I don't consider myself a moron, yet I have a couple of objections to licensing:

1) Licensing requirements are somewhat arbitrary and usually set by a trade organization whose main goal is to provide a barrier to the entry of new competition

2) Licenses create a false sense of security for employers, and indemnify companies who hire incompetent people as long as those people are licensed.

I would much rather that engineering companies and other companies who currently hire licensed professionals set their own criteria for who they'd hire. Since they would no longer be indemnified from liability for hiring incompetent people, they would look a lot more closely at a person's experience and credentials, paying attention to their job performance rather than their license.

Interestingly, this relates very closely to something that occurred to me during lunch today: by confining "education" to institutions, they have essentially put controls on what is arguably the source of all power. They have created a "cabal" for each profession who determine who can practice that profession. Obviously it's not in the interest of the members of these "cabals" to allow anyone in who has unorthodox views, educated themselves, whatever, because the idea would be to keep competition down, populate the profession only with people they like, etc.

So licenses are really just permission of the "guild" to work. So I'm guessing a "moron" is anyone who doesn't agree with the guild. Then I suppose I really am a moron.

Unfortunately, the "only a moron would object to licensing" view is pervasive, because we've all been indoctrinated with the "excuse" used by the "guilds." However, while this is a valid reason to require licensing, people ignore the fact that licensing's sole purpose is to keep people out of a profession, not to educate people or to bring them into that profession. There are other ways to keep quality even higher than licenses do, since with a license you only have to barely pass, a company that doesn't have licenses to lean on will tend to hire the best people rather than the cheapest of the licensed people.

I'd much rather see greater knowledge and transparency replace licensing in professions that currently require it. This would give us greater levels of quality and eliminate the nepotism and extortion (i.e. sponsorship and license fees) that currently exist in licensed fields.

Also rather than posting a separate comment, regarding Texas: I have heard that there are restrictions on law-related books there, because books are not licensed to practice law. Has anyone else heard this?

[ Parent ]
Re: Only Morons object to licensing (3.00 / 1) (#101)
by jimmythegeek on Wed Oct 11, 2000 at 11:43:33 AM EST

Let's see..."Microsoft Visual Basic Application Specialist Certificate"; "Microsoft Certified Software Engineer" ; "Certified Novell Engineer"...just a few of the "fine" certifcates people carry that mean nothing in the real world other than you passed a narrowly focused test. As someone with a CS degree (with the usual, useless, pile of certs that mean I can pass a test), I've been amazed at the incompetance of some similarly trained and certified people I've encountered over the 15 years I've been in this line of work. I recently encountered several "MVBASC" holders (working for one of our VARs), who couldn't write a decent app if their life depended on it. How many of us have encountered the clueless "MCSE"? Meanwhile one of the best programmers I've ever known was self-trained (originally an accountant). Who would decide what the requirements of this magical license/certificate? It wouldn't be geeks...it would be some bunch of bureaucrats with no idea of the knowledge or skills needed to perform the actual job of "Certified Programmer" or "Licensed Software Engineer". Anyway, in the end I just have to admit being a MORON...

[ Parent ]
Licensing is VERY IMPORTANT for some fields (2.37 / 8) (#33)
by khaladan on Sun Oct 08, 2000 at 07:25:53 PM EST

*please* be aware that Texas is not the only state that imposes a restriction on calling oneself a engineer without a license. That law is in many many states.

Likewise you cannot call yourself a physician without a license. I am very grateful for that law. It should be immediately evident why. I don't want anyone messing around with what medicines, perscriptions, operations, etc, I get if they don't know what they are talking about.

But as for licensing programmers... I'm not sure. I can tell you though, that there are a lot of crappy programmers out there and it drags down the entire programming profession.

Re: Licensing is VERY IMPORTANT for some fields (2.00 / 1) (#49)
by deadsea on Mon Oct 09, 2000 at 10:06:50 AM EST

If you fix sick software, shouldn't you be able to call your self a software physician without having a license, or a software engineer without having a licence?

[ Parent ]
A slightly off-topic rant (2.40 / 10) (#34)
by jbuchana on Sun Oct 08, 2000 at 07:27:59 PM EST

I have a Bachelors of Science (EE) from Purdue. I have never taken the extra steps to become a profesional Engineer, and since I'm actually working as a Unix Sysadmin (more money, at least here in Kokomo, IN), I probably never will, unless I move back into engineering as my primary job.

It is my understanding that because of this, I can not head a private engineering firm, or do final check off on certain types of project. This is all well and good. I see the sense in this.

What really pisses me off though, is when someone says I can't correctly (or even legally) call myself an engineer. Sorry. Wrong. I have the degree (and from an excellent school), and I have years of practical experience. I do not accept anyone's statement that I am not an engineer, period.

--
Jim Buchanan
jbuchana@buchanan1.net
Re: A slightly off-topic rant (1.66 / 3) (#53)
by micco on Mon Oct 09, 2000 at 10:30:11 AM EST

What really pisses me off though, is when someone says I can't correctly (or even legally) call myself an engineer. Sorry. Wrong. I have the degree (and from an excellent school), and I have years of practical experience. I do not accept anyone's statement that I am not an engineer, period.

Sorry, wrong, but you can't call yourself an engineer just because you want to. In jurisdictions which define "engineer" as a term with a specific legal meaning, you have to meet the requirements of that meaning in order to use the word. Just because you finish medical school doesn't allow you to call yourself a "doctor" (or is it "physician" that has the restricted legal meaning?). You have to complete an internship, residency, and licensing exams. Same thing for lawyers who have to pass the bar exam.

I have a PhD. in Mech Eng. from one of the top schools in the world, but I can't legally call myself an engineer in Texas. That's the law and, agree or not, there's a good reason for it. If it bugs you, then finish your trainining so you're qualified to use the word.

[ Parent ]

Re: A slightly off-topic rant (3.50 / 2) (#56)
by jbuchana on Mon Oct 09, 2000 at 11:20:22 AM EST

> Sorry, wrong, but you can't call yourself an engineer
> just because you want to.

As I said before, I disagree. Strongly too.

I agree that I can not call myself a "Profesional" engineer, that I can't run my own consulting firm, that I can't design a bridge in most states (and as an EE that's a very good thing :-) ).

I can, and in the past did, when I was working as an engineer, did call myself an engineer. A state law, no matter how well-intentioned and worthy, does not and can not change the meaning of a word. It can control one's ability to work in a given field, but *it does not* change the meaning of a word.

Now, I don't believe that anyone who wants to should be able to call themselves an engineer, but someone with an degree in engineering as well as practical experience can, and should. It's pretty much a social convention anyway, rather like "esquire" (sp?) right up until you sign off on that big project where a mistake could kill thousands of people. The person who does that should be certified, the people who work for him may or may not, but many are still "engineers", the ones who do not have engineering degrees are "draftsmaen" and "designers", but they do similar work, but with a lower level of responsibility (in theory at least, many are *very* good). This is how it's worked everywhere I've been employed (admitedly not in Texas) as well, this is not hypothetical.

I must add that I do feel that licensing profesional engineers is a good thing, and that every firm executing engineering projects should have one or more licensed profesional engineers. If I had stayed at the small company where I used to work as an EE, I'd probably have gone for this myself, it would have been a good career move. (not as good as moving into IT has been though)

Sorry, this is a touchy subject with me. I feel strongly that while state laws are important, and even good in this case, they do not change the meaning of a word, they simply protect the populace from people who should not be making the final decisions in certain engineering projects.

--
Jim Buchanan
jbuchana@buchanan1.net
[ Parent ]
Re: A slightly off-topic rant (4.33 / 3) (#59)
by micco on Mon Oct 09, 2000 at 12:36:21 PM EST

Now, I don't believe that anyone who wants to should be able to call themselves an engineer, but someone with an degree in engineering as well as practical experience can, and should. It's pretty much a social convention anyway, [snip]

It's social convention to call a tissue a "kleenex" and a photocopy a "xerox", but there are still specific legal controls on how you can use those words. All I was trying to point out is that certain jurisdictions have decided that an undergraduate degree in engineering is not sufficient to make you an "engineer".

Note the difference between "pursuing a course of study" and "being". I have studied medicine and electrical wiring, but my studies and practice in both have been insufficient to qualify me, legally, as a physician or an electician, respectively. For that matter, I've studied engineering (PhD. in Mech. Eng. from Berkeley) but undergraduate and graduate degrees resulting from a study of engineering are not sufficient to make me an engineer, at least in the eyes of the people of Texas.

Granted, the line you draw on what is and is not adequate is fairly arbitrary, but that line has been made legally explicit and you either live with those qualifications or change the law.

I don't mean to start an argument here since our difference on this is largely semantic. You agree that there should be licensing for "Professional Engineers" but that should be distinct from simple "engineer". I'm just trying to point out that legally (i.e. explicit social convention, since laws are not imposed from "outside"), the law in this case regulates the use of the word "engineer". Maybe if we called all licensed engineers "Bob", that would clear things up.

[ Parent ]

Re: A slightly off-topic rant (1.50 / 2) (#61)
by B'Trey on Mon Oct 09, 2000 at 01:43:06 PM EST

I think it depends upon what you mean by "call myself an engineer." I'd think that you could introduce yourself as an engineer at a cocktail party without getting into trouble. However, if you describe yourself as an engineer on your resume or business cards, you're running the risk of legal trouble. Certainly you can do it; right up to the point where you get caught.

[ Parent ]
Re: A slightly off-topic rant (2.00 / 1) (#64)
by jbuchana on Mon Oct 09, 2000 at 02:57:11 PM EST

I'm going to have to ask about this here at work. I'm in a room full of people who are called engineers (in a building with 8 such large rooms, on a campus with several other such buildings, many hundreds of people) and as far as I know, their business cards say so. However I only know of one who can call himself a "Professional Engineer".

Perhaps I'm wrong, and our legal department had better take a look at this?

Since everyone here in this sub-thread and elswhere seems to feel I'm wrong, I'm starting to doubt myself, I've been basing my opinion on what I've observed here and several other places of employment, perhaps this is a really common misconception?

Does anyone agree with my original claim (which I still believe, but I'm begining to consider re-considering).
--
Jim Buchanan
jbuchana@buchanan1.net
[ Parent ]
Re: A slightly off-topic rant (3.00 / 2) (#65)
by micco on Mon Oct 09, 2000 at 03:13:19 PM EST

Perhaps I'm wrong, and our legal department had better take a look at this?

I think you'd only get in trouble if you advertised to the public that you were "engineers" and didn't actually have a licensed engineer on staff. The people I know who've run afoul of the Texas licensing board are MCSEs (Microsoft Certified Systems Engineers) who were told they could not use that certification in advertising because they were not actually engineers. The Texas board is in an ongoing tiff with Microsoft about this.

It's kind of like trademark law in that the licensing board isn't going to pursue cases which don't affect the public perception of the engineering profession and don't confuse the public. Nobody's going to sue me if I use the term "kleenex" interchangably with "facial tissue" but I will get sued if I start advertising my facial tissue as "kleenex".

Does anyone agree with my original claim

I disagree only because I know the standards set down by law. Personally, I have no problem with making the law apply to the term "Professional Engineer" and letting anyone call themselves an "engineer" with no restraint. However, as an engineer myself, I'm annoyed by terms like "sanitation engineer" used as a politically correct term for janitor, and I'd rather the restrictions be more strict than loose.

Note that I said "as an engineer myself", which may belie my opinions above. I have three degrees that say "... of Engineering" and I tend to think of myself as an engineer even though I don't do engineering work anymore. To me, it's a mindset and a methodology for approaching problems. However, I don't advertise myself as an engineer. As long as there's no licensing exam for "rocket scientists", I'm in the clear.

[ Parent ]

Re: A slightly off-topic rant (3.50 / 2) (#70)
by jbuchana on Mon Oct 09, 2000 at 04:26:03 PM EST

> I think you'd only get in trouble if you advertised to
> the public that you were "engineers" and didn't
> actually have a licensed engineer on staff.

I just asked a bunch of co-workers and checked an old thread on the in-company news server, and at least in Indiana here's the way it works:

Someone with a EE degree can call themselves "John Doe, EE", but if they call themselves "John Doe, PE", they'd better be able to back it with actual certification, at least if they are working as an engineer.

If a company uses titles for employees such as "John Doe, Sr. Project Engineer", that's OK, as long as they have a PE on staff.

If you go off on your own and start working as an independent engineer (consulting, testifying in court, etc.), you'd better be certified, but those working for you can be called engineers w/o being certified.

If you are not working as an engineer, you can *claim* anything you want, but it's considered distastful unless you have an engineering degree, or whatever other credentials you're claiming.

> However, as an engineer myself, I'm annoyed by terms
> like "sanitation engineer" used as a politically
> correct term for janitor, and I'd rather the
> restrictions be more strict than loose.

I agree there, as an "engineer" who no longer works in the field, I get irritated when a low-end Electronic Tech (another formeer career of mine) who comes to swap boards in a computer is called a "Service Engineer". I don't complain because I want good service, and it seems that as long as the company has a PE it's allowed, at least in this state. It sounds like it is not in texas. It bothers me though.

> I have three degrees that say "... of Engineering" and
> I tend to think of myself as an engineer even though I
> don't do engineering work anymore.

You've got me beat, I've only got one. :-)

> However, I don't advertise myself as an engineer. As
> long as there's no licensing exam for "rocket
> scientists", I'm in the clear.

I call myself a "Unix Syadmin", as that's what I've been doing for a few years. So far certification is not required, but available. I've been thinking of studying and taking some tests, as it might make the resume look better. Practical experience is the best though, as far as I'm concerned.




--
Jim Buchanan
jbuchana@buchanan1.net
[ Parent ]
Re: A slightly off-topic rant (3.00 / 1) (#69)
by mindstrm on Mon Oct 09, 2000 at 04:15:30 PM EST

I see what you are saying, but your logic is somewhat flawed.

As the previous poster said, a Lawyer must pass the Bar exam.
A physician must pass exams and do internships, residency, etc...
And an Engineer must do their P.Eng exam (and associated requiremetns).

The professional organizations that certify these professions are somewhat separate from the institutions that provide higher learning. Just because you have a Ph.D in medicine does not mean you can practice medicine.
Just because you have a Ph.D in Law does not mean you can practice law.

These 'courses' and 'degrees' are merely ways of preparing yourself to entere these organizations.

So.. the engineers (real P.Eng) are getting upset because far too many people are calling themselves Engineers, something that has traditionally be reserved for those who are P.Eng.

As I've said before, though... the problem is in the word engineering. If I call myself a 'network engineer', I am not at all trying to imply that I'm somehow associated with the professional engineers.. it's simply a descriptive term to explain what I do. I engineer networks. In many places, this pisses off the engineers.. so I call myself a 'network architect' or something..


[ Parent ]
Re: A slightly off-topic rant (3.00 / 1) (#68)
by mindstrm on Mon Oct 09, 2000 at 04:09:50 PM EST

But that's the issue exactly.

An engineering degree doesn't make you an engineer in the traditional sense, only prepares you to become one.

A non-degreed person can apply and even become a P.Eng. It is not a 'requirement' in the strictest sense.

The problem is that the meaning of 'engineer' has changed over the years. It used to be very specific; it meant you were a P.Eng.
Nowadays, people use 'engineer' to mean anyone who does any sort of engineering, regardless of how they are certified or educated.

I'm not saying this is bad... but the whole fight going on is over who owns the word 'engineer'.. not over who can do what.




[ Parent ]
Re: A slightly off-topic rant (3.00 / 1) (#84)
by davidduncanscott on Tue Oct 10, 2000 at 02:13:10 PM EST

The problem is that the meaning of 'engineer' has changed over the years. It used to be very specific; it meant you were a P.Eng.

Crap. Excuse me, but crap. Engineers work with engines. That's why Casey Jones was an engineer, that's why ships have engineers. Such jobs may have credentials of their own, but you can't appropriate the word that way simply because it suits you.

By the way, I've surfed through a number of quickie online bios and haven't seen it mentioned one way or another -- was Thomas Edison a P. Eng.?

[ Parent ]

Re: A slightly off-topic rant (3.00 / 1) (#87)
by jbuchana on Tue Oct 10, 2000 at 06:13:02 PM EST

> I'm not saying this is bad... but the whole fight going
> on is over who owns the word 'engineer'.. not over who
> can do what.

I think that's the core of it. I feel that there is a distinction between someone who has an engineering degree and/or works as an engineer and someone who is a PE. One is an engineer, the other is a Professional Engineer. Then there are those who do electronic repair, and are called "engineers". I prefer the term "Electronic Technician", which I did before I got my degree. Three catagories, three titles.

I am pleased to report (As I posted yesterday in another response) that the Fortune 50 company I work for (and the hundreds of "engineers" who work there) agrees, and they are really picky about legalities (the company that is).

For the person who asked elswhere about why somone didn't just get certified, if you are asking me, I would if I needed to, but since I'm working as a Unix Sysadmin, it's a moot point. It's been a little over ten years since I worked as an engineer.


--
Jim Buchanan
jbuchana@buchanan1.net
[ Parent ]
Re: A slightly off-topic rant (3.00 / 2) (#73)
by vsync on Mon Oct 09, 2000 at 05:20:30 PM EST

Personally, I'll just change my business card to read "Tim Howe, Artifex". (Read The Diamond Age if you haven't already...)

--
"The problem I had with the story, before I even finished reading, was the copious attribution of thoughts and ideas to vsync. What made it worse was the ones attributed to him were the only ones that made any sense whatsoever."
[ Parent ]
Re: A slightly off-topic rant (2.50 / 2) (#74)
by cybermace5 on Mon Oct 09, 2000 at 05:33:54 PM EST

I am currently an electrical engineering student at Rose-Hulman Institute of Technology. When I leave, I do not expect to be called an engineer except by those who are not familiar with the field. Sure, engineering will describe what I do fairly well, but calling myself an engineer implies that I have as much experience and knowledge as those who have rightfully obtained the license. When I finally do become a licensed engineer, I want the prestige of being one to be undiluted. How do you become an engineer? Basically by years of experience and showing yourself to be competent in your field. Those who complain should just arrange to have their experience evaluated and see if they can get an engineering license. It's not as easy as just getting a degree and having a job. As for "software engineering", we don't have "software engineers" here, we have computer scientists. I believe that is the correct term. Engineers deal with properties of materials and applications, while programmers develop ways to use devices that engineers have made, specifically computers.

[ Parent ]
Re: A slightly off-topic rant (3.00 / 1) (#92)
by ameoba on Tue Oct 10, 2000 at 08:42:53 PM EST

Software Engineering is not Computer Science. Computer Science is more of a mathematical discipline, dealing with abstract concepts and whatnot. Software Engineering takes the theories of CS as a given, and uses them as tools. Of course, after graduation, and 5 years in the workplace, there's probably very little difference.

Think of the difference between a Chemist and a Chemical Engineer, or a Physicist and an Electrical/Mechanical Engineer. It's the difference between focusing on Science and focussing on a Product.

[ Parent ]
Re: A slightly off-topic rant (3.00 / 2) (#75)
by Giant Space Hamster on Tue Oct 10, 2000 at 12:22:47 AM EST

Why don't you take the extra steps to become a P.Eng? I don't know how it works in Indiana, but up here in Ontario, you need to do 3 things to be an engineer:
  1. Pass the PEng qualification test
  2. Pass the PEng ethical test
  3. Work for 2 years in the field
In lieu of 1, you can obtain a engineering degree from an accredited university.

Now, from my perspective, these are perfectly reasonable qualifications. Work in the field is important because university is basically theory and experience is a good thing. The ethical test is also important, because it forces the PEng to be aware of the legal and ethical aspects of their profession.

Thus, if I see someone calling themself an engineer, I know they are qualified academically, have work experience, and are aware of their legal and ethical responsibilities. From your description of yourself, you have the first two qualifications, but I cannot tell if you meet the last (and perhaps the most important)criteria.

-------------------------------------------
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
-- Bertrand Russell
[ Parent ]

Irony... (3.44 / 9) (#38)
by fluffhead on Mon Oct 09, 2000 at 02:07:47 AM EST

1. I am a licensed attorney in Texas. But I no longer practice law, since I am working as a UNIX sysadmin now (better pay, less stress, better hours, etc.). Yet the state bar still expects me to pay "inactive status" yearly bar dues (reduced from the normal rate, but galling nonetheless). This buys me exactly two things: 1. 12 months of Texas Bar Journal (not too bad of a trade rag, but pretty pointless for me now); and 2. pointless junk mail targeting lawyers. The only way I can stop paying is to get disbarred I guess. Who knows how I get off the mailing lists. At least the stupid $200 "attorney occupation tax" is waived as long as I don't offer any legal advice to anyone (including myself?)....

And don't even get me started on the following....
"Not Board Certified by the Texas State Board of Legal Specialization". (They literally make every lawyer put that exact phrase in every advertisement, unless of course you are board certified in something, which is pretty tough to get apparently, since it is seemingly so rare.)

2. My job title at Texas Instruments is "Wafer Fab Software Systems Engineer" (why can't anybody just call it "sysadmin" or "root" - damn HR drones ;-). Seemingly over half the jobs at TI are "engineer" of some sort. Yet because of the same Tx. state engineering regs that prompted Demona's submission, I can't (among other things) put this job title on my business card. Thus my title ends up "WF Software Systems" - gee thanks, I feel like Cmdr. Data or something. In fact, looking at the Tx. P.E. site there is no such thing as a "Software Engineer."


#include "disclaim.h"
"All the best people in life seem to like LINUX." - Steve Wozniak

Re: Irony... (3.50 / 6) (#39)
by Bert Peers on Mon Oct 09, 2000 at 04:23:57 AM EST

Sortof OT, but your first point reminds me of the situation in Belgium with doctors. Like everywhere else, you need the proper degree and be certified by some board. The funny thing is that to stay certified, you have to continue to play by the rules of the board, and one of those rules is the minimum amount of cash you need to charge for helping a patient. A number of doctors decided to start a "For The People" leftish movement, providing free advice and services to the very poor -- and promptly lost their license, making them vulnerable to fines and jailtime for continuing their practices...

Well, see my other post.. licenses are probably always going to be abused..

[ Parent ]

I'm a DSP Applications, myself (2.00 / 3) (#58)
by Mr Z (The Z is silent) on Mon Oct 09, 2000 at 12:34:19 PM EST

Heh, I work at Texas Instruments also. TI keeps a list of Registered Professional Engineers around for situations that require a PE to sign off on engineering documents and so on. For those of us who do the actual engineering all day, though, we get to put our job title (minus "Engineer") on our business cards.

"Hi, I'm Joseph Zbiciak, and I'm a DSP Applications (?)". Uhm, yeah. Members of TI's Technical Ladder can put their Tech Ladder title in there -- "Hi, I'm TI Senior Fellow Gene Frantz" -- but they still can't say engineer.

Oh well. In the end, it comes down to the well-defined legal expectations that one generates when calling oneself an Engineer. Apparently, the Texas State Legislature feels that the title of Engineer implies a certain level of mental fitness that allows them to sign off on engineering plans, certifying that they meet whatever requirements (eg. a rocket won't blow up when it shouldn't, a bridge won't collapse, whatever). That's fine, and I'm happy with it. In the meantime, I get to be a "DSP Applications". ;-)

--Joe

[ Parent ]
nobody really knows how to design yet (3.00 / 7) (#44)
by jesterzog on Mon Oct 09, 2000 at 08:06:00 AM EST

I think one of the problems with licensing software engineering is that nobody really knows how to engineer software yet. Nobody really knows what methodology works, and not many are successful in applying it properly anyway. The reason bugs are so common in most projects is because we're still working out how to write it without bugs. How could licensing some people over other people improve a situation where nobody really knows what they're talking about anyway?

Not long ago everything was coded in various low level languages. Today, the languages are a bit more structured but there are still millions of ways the programmer can screw up. If there aren't, the underlying operating system was probably written in an environment where there were millions of ways the programmers could screw up - and it usually does screw up sooner or later.

There are definitely critical areas (eg. flight controller software), but (IMHO) that's what safety standards are for. Requiring developers to be licensed probably won't improve software quality dramatically. The orgaisations that need to produce such good software will have good developers already. Everyone else will stop caring about the licence due to the huge shortage of programmers with licences. (Either that or the economy would be crippled.)


jesterzog Fight the light


Re: nobody really knows how to design yet (3.00 / 3) (#60)
by Bert Peers on Mon Oct 09, 2000 at 01:22:53 PM EST

Dunno. You know the old adagium that software engineering is not a failure, but is rather a victim of its success ? The problem is not that we don't know how to do things, the problem is that as soon as we found out, the "suits" ask for more, bigger, better. We figure out NFS ? Make it encrypted, but still stateless. We figured out virtual memory ? Make the whole mempool distributed, but still consistent. We figured out modeling, implementing and verifying time constraints ? Once more, introduce a network and see if you can do it again.

In this respect an IT license is exactly the same as an engineer's license : it demonstrates your ability to implement proven solutions (when sufficient), it doesn't say anything about your qualities as an inventor/researcher (when required). In this regard, I wonder if there is a source that shows the percentage of software development work that is truly innovative, versus just-another-implementation stuff...

[ Parent ]

The process of software engineering. (4.30 / 13) (#52)
by fransdw on Mon Oct 09, 2000 at 10:29:17 AM EST

I have heard this kind of issue raised many times before, and I believe the first and fundamental problem with licensing software engineers/programmers is:

What exactly should be licensed?

In my opinion there is a vast difference between a programmer and a software engineer.

The average programmer you find in every nook and cranny are the people who, given a problem, program directly from point A to point B. Program from the problem to a possible solution, without EVER thinking of how to re-use code, how to optimize the design and how to improve his/her coding, effectiveness, and performance. This is a person who does not believe in using version control because it is just another thing that can keep them from churning out another program in a day and a half, instead of two. Someone who is too short sighted to see the benefits of peer review and module testing (especially on re-usable code). Someone who says "I do not have to do that, it WORKS this way!". With this type of programming comes an arrogance, a belief that they are superior because they can create a new piece of code in a quarter of the time another person does it. I have seen many of them ... and I have seen their code. Hap-hazard combinations of non-conforming styles (depending on what they feel ike that day). From zero comments to cute little annecdotes like "If you can't understand this you should not be programming", and "dude, this is way cool code!". These people are programmers ... and nothing more. They do not see the benefit of improvement and rarely, if ever, improve at all. Granted, they will learn to do many different things, and figure out how to do way cool things from "Programming for Dummies" ... but ... they have rarely read a book about software engineering ... a book that does not have one line of code in it ... because it is not about programming, it is about the process of engineering software by means of repeatable, predictable, and proven processes.

Using software engineering principles you can write VB, C++, Java, Fortran and assembly code ... you can connect them together in constructive ways ... you can make people look in awe at an unbelievable things happening on the screen, or in confusion at a black box doing all kinds of things with stuff connected to it ... but you can also do that with programming (and probably the first time round in a shorter amount of time). The difference is ... When you support the application, modifications will be done in less time. When you have to create a new application which conforms, in part or totality, to the one you wrote before the time to delivery is much less. I have seen products being delivered 11 months early on 18 month projects re-using code from various other preceding projects. I have seen projects delivered with no bug reports in 6 months ... and I have seen companies prosper due to that.

BUT, most of my experience in that regard comes from a military background where bugs are fatal ... space shuttles can fall, fighter aircraft can crash in the middle of a densely populated city ... missiles can go haywire and explode in a school building ... Errors are not allowed. Many of the software engineers I have been privy to work with write thousands of lines of code, never compiling once, not testing every step ... just implementing the ideas they have in their head and designs they have on paper. And when they compile the errors are few ... 5 errors per thousand lines of code. Now, why do I know these figures ... because these programmers REQUIRE THEMSELVES to have metrics ... measuring their performance and striving to imporve every step of the way. This is not something enforced by management, but by the people themselves. In my mind these people are SOFTWARE ENGINEERS .

Now for the shocker ... many of these people did not have any degrees from any cool universities ... they were even old and MOST start-ups would not hire them because they are seen to be ancient. Granted, these older people are not the ones you see that want you to program in fortran because that is all they know ... many of them have intimate knowledge of COM, Windows internals, UML, and many of the other buzzwords you hear today ...

To get to my point ... there are software engineers and programmers out there ... software engineers are very very good programmers ... and many programmers will never be software engineers.

I am sure I would be some kind of genius if I knew how to make a clear distinction between them, but unfortunately I am also just human. I do think that references and a proven track record should be THE ONLY determining factors when deciding whether a programmer may call himself/herself a software engineer. Graduating from MIT or wherever means nothing much towards being a software engineer. Some people will go through the best software engineering courses and never grasp the fact that programming is ... OR should be ... AN ART.

My two cents worth ....

Frans
Life's like that!
Some licensing is necessary (3.83 / 6) (#62)
by yosemite on Mon Oct 09, 2000 at 02:05:23 PM EST

Steve McConnell makes a good argument that some licensing is necessary in After The Gold Rush.

In short: for many programming tasks, if there is a failure, you lose some down time and someone has to go reboot the server. But in other tasks, if there is a failure, people die. That's the situation you want to be sure the development team knows its stuff...

-y

--
[Signature redacted]

Re: Some licensing is necessary (3.00 / 1) (#85)
by Wonka! on Tue Oct 10, 2000 at 02:28:37 PM EST

In short: for many programming tasks, if there is a failure, you lose some down time and someone has to go reboot the server. But in other tasks, if there is a failure, people die. That's the situation you want to be sure the development team knows its stuff...

In a case where lives are at risk, you had really better have more assurance of programmer competence than a licence. Most licensing and certification schemes are pretty dismal failures as indcators of competence.


-- look out honey 'cuz I'm usin' technology
[ Parent ]

Damming the ocean (1.33 / 3) (#76)
by leonbrooks on Tue Oct 10, 2000 at 02:35:57 AM EST

This was all I could find on SlashDot on the topic of ``Damming the Ocean'' - and nothing like it by ewhac:

Perhaps Sony is the first major corporate interest to realize that recent court actions, regardless of who's right and who's wrong, are as futile as damming the ocean. When the industry fights, it's like sqeezing a chunk of jello, it doesn't collapse under the pressure like rubber, it comes out from between your fingers on all sides and makes a mess. So this time, instead of fighting it, they offer some hush money to keep the know-how of ripping these games from spreading. Honestly, if this is true, it's much more sinister than legal action. Legal action makes a scene and everyone stops to look. This will just shut people up.

ewhac reckons he keeps everything; why not ask him if you can post it here?
-- If at first you don't succeed, try a shorter bungee

Licensing (3.00 / 3) (#77)
by msoukup on Tue Oct 10, 2000 at 02:42:13 AM EST

In this day of the open flood gates of programming talent, and the tremendous need for programmers many companies, and individuals are unable to judge the quality of the help they hire. This, i believe, is a bad thing, a very bad thing. Accredition can become a tool of control for the 'elite' but in general it is a way of fairly differentiating those who are truly skilled and those who only claim to be. In a day when resume writing has become an art, how can standards for testing knowledge and talent be considered bad? This is like saying that people shouldn't have to pass tests to graduate from high school or college any more...there is a reason why there are professional associations, to keep imposters from ruining the good name of intelligent, honest, hard-working people. I, personally, am rather upset with what the term 'programmer' means now, and no longer allow myself to be called that. It used to mean you actually knew something about computers.

IMHO,
me.

Licenses in Texas (3.33 / 3) (#86)
by Ratnik on Tue Oct 10, 2000 at 03:37:43 PM EST

Texas' policy where they license most professional occupations,has nothing to do with safety or to prove your professionalism. It has to do with collecting a fee, nothing more.

Re: Licenses in Texas (3.00 / 1) (#104)
by redelm on Wed Oct 11, 2000 at 05:23:18 PM EST

I _am_ a licenced engineer in Texas, as well as two other jurisdictions. AFAIK, all 50 states and 10 Cdn provinces licence engineers much like they licence doctors, lawyers, and in some places nurses and architects. Europe is different. Licencing is not to collect money (well .. in TX we have this stupid $200/yr professions tax) but to protect the public from fraudulent practice. Many customers of engineering services know full well what competence looks like (because they are engineers), and really don't need licencing. But some others don't, and violations occur. There are certain legal responsibilities to sealing a plan. Different jurisdictions enforce things differently. In some cases, "software engineer" would be a prohibited title. So would "stationary engineer" (boiler operator) or "sanitation engineer" (garbageman) or "domestic engineer" (housespouse) for that matter. In others, only the term "professional engineer" is legally protected.

[ Parent ]
Engineering is a profession with a long history! (4.00 / 1) (#100)
by xtal on Wed Oct 11, 2000 at 11:11:10 AM EST

FWIW; I recently completed my BSc. Electrical Engineering (Comp Eng option), and am a registered EIT in hopes of getting my P.Eng certification in 4 years or so, give or take. Nor am I an American, although the certification is largely transferrable to PE status in most states, if I remember correctly from my law class.

In Canada, _nobody_ can call themselves an engineer without having the magic letters 'P. Eng' after their name. You can't even advertise the MCSE program with the "E" word attached, and there's been many lawsuits over this - engineer is protected under law. I can't claim to be an engineer until after I've received my provincial certification, and this is as it should be.

Why do you ask? Traditionally, engineers have done things that involve great liability. For example - the classical bridge - the iron ring on my finger now is a reminder that I indeed am fallable and should always check my calculations. =). Not just construction (steel and concrete are the domain of Civil engineers, largely), but things like mechanical engineering - you want your engine failing at high speed? And more traditional areas of electrical engineering, for example, power systems - you don't run power transmission lines until things have been certified - or more non traditionally, for example, the microcontroller or sensor that you monitor someone's heart with. All of those things involve HUGE liability if something screws up.

Enter software. There's no liability. There should be, and if there was, I wouldn't have to deal with bullshit release schedules that don't make sense. So, you get people that think they're professionals - I'm not, and if you work for a company, you're probably not either. Engineers sold their souls as employees for the most part (I'm no exception). Traditionally a professional would contract his or her own services and maintain their own ethical standards and conduct. (Doctors OWN this model). Software is different, although I can see that changing as development gets more intrenched in our society, and tools get better, etc etc.

If you apply your stamp, or certification, as an engineer to a product, then you, personally are liable and can be sued, drawn over hot coals, etc. Some things by law have to be stamped by an engineer - bridges are one of them.

To keep on topic, the reason you can't use the title engineer is that this profession has a long history, and isn't something to be taken lightly. It takes 8-10 years of study and apprenticeship in Canada (most provinces) to get your P. Eng certification; A similar situtation is true with PE (Professional Engineer) status in the United States. You wouldn't want a EMT to call himself a MD, would you? Of course not. You wouldn't want to be represented in court by a law clerk - and that's why the law profession has the bar system.

The day is coming when software will need to be certified. Electronic designs done in CAD systems are routinely signed off and stamped, as are architectural diagrams and the like. I take pride in what I do, and once I get my P. Eng status, I have every intention of practicing the art of REAL software engineering, complete with the liability for your work and actions (a good selling point, too!)

Hope that helps.


Yes - license - it'll bring better quality (4.00 / 1) (#102)
by Bozovision on Wed Oct 11, 2000 at 12:30:25 PM EST

To reiterate - there are many places worldwide - probably most where engineers are licensed in one form or another. This does not mean that engineers don't make mistakes, but it does help to raise the threshold of quality that is required. Fewer bridges fall down than used to. Fewer hotels collapse killing occupants.

I used to be think that licensing was a bad idea. I've changed my mind. The reason is that I have seen too much shoddy software. (Or perhaps I'm getting older and more conservative?) When you license a profession, you give it a formal mandate to erect barriers to entry, in return for a threshold of quality and an undertaking by the people and the profession that they will uphold quality before all else.

That means, if you are an engineer working on a project that you think has safety or quality issues that are not being addressed, you are bound to raise the issue and to persue the it until it has been solved to your satisfaction.

What would this attitude mean for software? Quality would go up if software engineers were required to sign-off a project before it went live. At the moment the dominating factor in software production is time-to-market and/or cost of development. This balance would probably change. Price would go up to compensate for increased cost of development. Salaries would go up for professionals. The size of the software backlog would increase. Software vendors would probably have to assume liability for their products. On the whole the benefits seem to outweigh the disadvantages.

Perhaps a two tier system would be more appropriate, but with requirements for safety-critical software and/or software systems to be signed-off by a certified software engineer.

Jeff Veit

Just Say No To Licensing (4.00 / 1) (#108)
by Snoochie Bootchie on Thu Oct 12, 2000 at 04:14:54 PM EST

In the posts I have glimpsed that are for licensing engineers, a common opinion is that licensing would increase quality. A second common opinion is that when peoples' lives are at stake, you need licensing.

The desire for better quality should not mandate licensing. I doubt that licensing would have such an effect on end-user quality. Why? Because there's still UCITA and those lovely boiler-plate EULAs that disclaim everything anyways. So, what's the motiviation for better quality if 1) there is no real legal remedy and 2) there is no pressure exerted in the form of consumer spending.

And, there are very thorny issues involved beyond that. If you're license and ANY bug is found and can somehow be raced to you (which is, itself, not necessarily easy), are you tossed in jailed, publically flogged, and then tarred and feathered? Even if the only manifestation of the bug is that the title bar appears red rather than blue? And then you say, "Well, no THAT kind of bug wouldn't affect your licensing status/cause legal repercussions." Ok, so now we have to classify bugs for licensing purposes. We also need to classify systems so we can classify the bugs (i.e. space shuttle OS is a critical system since lives are at stake while Windows is casual....but what about a company who wants to cut costs and pops Windows on there drawbrigde control system?).

The final issue with regard to quality is the economic reality that if licensing comes into exist and any bug is made illegal, then you've just driven up the cost to develop commerical software so high that you'll never see another app again. Well, some people might develop, but it'll cost so much that the resulting product will be extremely expensive and relatively outdated. And forget about free software. Legal disclaimers would not be possible. But, there would already be a conflict between law and the licenses.

As for the "lives at stake" question, this seems cut and dry. I disagree still. Licensing doesn't really add anything here. There are already remedies for these situations. Whether licensed or not, if you were so negligent that it cost lives, you're in deep trouble through exiting legal remedies. The fact that your license or not would not protect you and shouldn't. Licensing may provide a single point of blame, but that's all it really does. Would licensing prevent the now well known trade-offs companies make in terms of law suits versus fixing a shoddy product? I don't think so. The best way to fix that is a financial bash to the company's head, not inditing a couple PEs at the company.

I do not think licensing is a good idea. The assumptions and benefits that people believe licensing will yield are flawed. The intentions are good. But, licensing would become just another level of beaurocracy that would multiply development costs astronomically without providing much in the way of tangible, previously not possible benefits.

Novell has won suits to keep Engineer in CNE title (3.00 / 1) (#110)
by jjroysdon on Sun Oct 15, 2000 at 05:39:41 AM EST

Not that anyone cares much about Novell these days, but it's an interesting URL regarding the use of "Engineer" and suits in Neveda and Illinois.

http://www.novell.com/news/press/archive/1998/04/pr98038.html

How many other computer certifications hold "Engineer" in the title? MCSE being the most well-known, and CCIE being the best paying (less than 5k in the world).

Universal or Situational License? (none / 0) (#111)
by acestus on Sun Oct 15, 2000 at 12:17:25 PM EST

I think that there is an implication, here, that this license would prohibit anyone from working as a computer programmer without a universal Programmer's License. That is absurd.

If I want to wire my house for electricity, I need to be a licensed electrician. If I want to design a bridge, I need to be a licensed civil engineer. This is, I think most will agree, a fair idea. After all, you don't want a rank amateur building a death trap in your house or over a river.

On the other hand, if I want to change a lightbulb, replace a socket, or build a swingset, I do not need to be a licensed engineer of any sort. The question here is liability and scale.

I write scripts and small programs all the time, both for myself and for my job. I do not need to be a licensed programmer, nor should that be required. There is no serious issue of liability or of scale. If I am going to write mission-critical software for NASA or Chernobyl, it would be a good idea for me to have some sort of certification. The mechanisms that are already in place, MSCE, CCIE, A+, etc, are sufficient, if not yet universal enough. It is up to each employer to determine whether they require a licensed programmer/technician. This seems to be a fine system. Perhaps if, in the future, there are non-corporate, universal standards for these licenses, then some system of legal requirements for certification will be reasonable.

As long as I don't need a $50,000 education to be legally allowed to write my own shell scripts and spice indexers, this seems like a reasonable idea.

Acestus
This is not an exit.
Sorry, I'm anal (none / 0) (#112)
by Fireblade on Mon Oct 23, 2000 at 04:23:15 PM EST

If I want to wire my house for electricity, I need to be a licensed electrician.

At least where I live, you don't need to be licensed to wire your own home. Sorry to be so anal.

[ Parent ]

Freedom -- Not License! | 112 comments (109 topical, 3 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!