Time to license those evil computer programmers!
Gary Vedvik 1:102/1006
New Jersey, that state which has lately proved to be "the toughest in
the nation" by trampling on its residents is once again attempting to
reach all new lows. Now, what has this got to do with programming...?
A bill has passed in the assembly that would require the licensing of
computer programmers -- to protect the public interest, of course.
Lord knows the number of times I've been accosted in pizza parlors,
late at night, by renegade bands of unlicensed programmers. Well, now
we'll be able to control these low-lifes.
If you think I'm kidding, read on. What follows is Assembly Bill
A-4414, which has already passed the assembly. AT&T has estimated that
it would need to license over 5,000 people in New Jersey alone, and
there is nothing in the bill that differentiates home from business
So watch out: besides being arrested for legally buying a gun 20 years
ago, you could also be arrested for modifying a DOS batch file!
New Jersey and you. Perfect together?
"I enjoy working with human beings, and John M. Ritter
have stimulating relationships with them." Allied-Signal, Inc
- HAL 9000 Corporate Tax Dept
PS: I don't think there are any errors in what follows, but no
===================== cut here =========================================
ASSEMBLY, No. 4414
STATE OF NEW JERSEY
INTRODUCED JANUARY 24, 1991
by Assemblywoman KALIK, Assemblymen CASEY,
Spadoro and Mazur
AN ACT providing for the licensure of software [engineers] designers'
amending P.L.1971, c.60, P.L.1974, c.46 and P.L.1978,c.73, and
supplementing Title 45 of the Revised Statutes.
BE IT ENACTED by the Senate and General Assembly of the State of New
1. (New section) This act shall be known and may be cited as the
"Software [Engineers'] Designers' Licensing Act."
2. (New section) The Legislature finds and declares that the public
interest requires the regulation of the practice of software
[engineering] designing and the establishment of clear licensure
standards for software [engineers] designers' and that the welfare of
the citizens of this State will be protected by identifying to the
public those individuals who are qualified and legally authorized to
practice software [engineering] designing.
3. (New section) As used in this act:
"Board" means the State Board of Software [Engineers] Designers'
established pursuant to section 4 of this act.
"Licensed software [engineer] designer"' means any person who
practices software [engineering] designing and who represents himself
to the public by title or by description of services under any title
incorporating such terms as "software engineer," "software'
designer'," "chartered engineer," or "CEng" or any similar title or
description of services, who is duly licensed pursuant to this act.
"Software [engineering] designing"' means the process of creating
software systems and applies to techniques that reduce software cost
and complexity while increasing reliability and modifiability, which
includes, but is not limited to, the elements of requirements
[engineering] designing design specification, implementation testing
and validation, operation and maintenance and software management.
4. (New section) There is created within the Division of Consumer
Affairs in the Department of Law and Public Safety the State Board of
Software [Engineers] Designers'. The board shall consist of nine
members who are residents of the State who shall be appointed by the
Governor. Six members shall be licensed software [engineers] designers'
who have been actively engaged in software [engineering] designing for
at least five years immediately preceding their appointment, except that
the members initially appointed shall be licensed pursuant to this act
within 18 months of appointment. Of the remaining members, two shall be
public members, and one shall be a member of the executive branch, all
of whom shall be appointed pursuant to section 2 of P.L.1971, c.60
5. (New section) Each member of the board, except the members first
appointed, shall serve for a term of five years and shall hold office
until the appointment and qualification of his successor. The initial
appointment to the board shall be: two members for terms of two years,
two members for terms of three years, two members for terms of four
years, and three members for terms of five years. Vacancies shall be
filled for the unexpired term only. No member may be appointed for more
than two consecutive terms.
6. (New section) Members of the board shall be compensated and
reimbursed for expenses and provided with office and meeting facilities
pursuant to section 2 of P.L.1977, c.285 (C.45:1-2.5).
7. (New section) The board shall annually elect from among its members
a chair, vice-chair and a secretary. The board shall meet twice per
year and may hold additional meetings as necessary to discharge its
8. (New section) The board shall:
a. Review the qualifications of applicants for licensure;
b. Insure the proper conduct and standards for examinations;
c. Issue and renew licenses to software [engineers] designers'
pursuant to this act;
d. Refuse to admit to examination, refuse to issue, or suspend, revoke
or fail to renew the license of a software [engineer] designer
pursuant to the provisions of P.L.1978, c.73 (C.45:1-14 et seq.);
e. Maintain a record of every software [engineer] designer licensed
in the State, their places of business, places of residence and the
date and number of their license;
f. Establish fees pursuant to P.L.1974, c.46 (C.45:1-3.1 et seq.);
g. Adopt and promulgate rules and regulations pursuant to the
"Administrative Procedure Act," P.L.1968, c.410 (C.52:14B-1 et seq.)
necessary to effectuate the purposes of this act.
9. (New section) No person shall practice, or present himself as able
to practice, software [engineering] designing unless he possesses a
valid license as a software [engineer] designer in accordance with the
provision of this act.
10. (New section) The provisions of this act shall not be construed to
prevent the following provided that no word, letter, abbreviation,
insignia, sign, card or device is used to convey the impression that the
person rendering the service is a licensed software [engineer]
a. Any person licensed to practice in this State under any other law
from engaging in the practice for which he is licensed;
b. Any person employed as a software [engineer] designer by the
federal government, if the person provides software [engineering]
designing services solely under the direction or control of his
federal employer; or
c. Any person pursuing a course of study leading to a degree or
certificate in software [engineering] designing at an accredited or
approved educational program if the person is designated by a title
which clearly indicates status as a student or trainee.
11. (New section) To be eligible for a licensure as a software
[engineer] designer an applicant shall submit to the board satisfactory
evidence that he has:
a. Graduated from a program in software [engineering] designing
which has been approved for the education and training of software
[engineers] designers' by an accrediting agency recognized by the
Council on Post-Secondary Accreditation and the United States
Department of Education; or
Work experience in a current or previous position of employment
utilizing the theory and procedures of software designing for a
sufficient period of time as determined by the board; and
b. Successfully completed a written examination administered by the
board pursuant to section 14 of this act to determine his competence
to practice software [engineering] designing.
12. (New section) An applicant for licensure who is a graduate of a
foreign school of software [engineering] designing shall furnish
evidence satisfactory to the board that he has:
a. Completed a course of study in software [engineering] designing
which is substantially equivalent to that provided in an accredited
program described in subsection a. of section 11 of this act; and
b.Successfully completed a written examination administered by the
board pursuant to section 14 of this act.
13. (New section) A fee shall accompany each application for licensure.
Licenses shall expire biennially on January 31 and may be renewed upon
submission of a renewal application provided by the board and a payment
of a fee. If the renewal fee is not paid by that date, the license
shall automatically expire, but may be renewed within two years of its
expiration date upon payment to the board of a sum determined by it for
each year or part thereof during which the license was expired and an
additional restoration fee. If a license has not been renewed within
two years of expiration, the license shall only be renewed by complying
with the provisions of section 16 of this act or successfully completing
the examination administered pursuant to section 14 of this act.
14. (New section) The written examination required in section 11, 12,
or 13 of this act shall test the applicant's knowledge of software
[engineering] designing theory and procedures and any other subjects the
board may deem useful to test the applicant's fitness to practice
software [engineering] designing. Examinations shall be held within the
State at least once every six months at a time and place to be
determined by the board. The board shall give adequate written notice
of the examination to applicants for licensure and examination.
If an applicant fails the examination twice, the applicant may take a
third examination not less than one year nor more than three years from
the date of the applicant's initial examination. Additional
examinations shall be in accordance with standards set by the board.
15. (New section) The board shall issue a license to each applicant for
licensure as a software [engineer] designer who qualifies pursuant to
the provisions of this act and any rules and regulations promulgated by
16. (New section) Upon payment to the board of a fee and the submission
a written application on forms provided by it, the board shall issue
without examination a license to a software [engineer] designer who
holds a valid license issued by another state or possession of the
United States or the District of Columbia which has standards for
licensure substantially equivalent to those of this State.
17. (New section) Upon payment to the board of a fee and the submission
of a written application on forms provided by it, the board shall issue
a temporary license to a person who has applied for licensure pursuant
to this act who, in the judgment of the board, is eligible for
examination. A temporary license shall be available to an applicant
upon initial application for examination. A person holding a temporary
license may practice software [engineering] designing only under the
direct supervision of a licensed software [engineer] designer'. A
temporary license shall expire automatically upon failure of the
licensure examination but may be renewed for an additional six-month
period, until the date of the next examination at which time it shall
automatically expire and be surrendered to the board.
re: New Jersey's programmer-licensing proposal
I can't believe all the people who are posting in RISKS that they like
the idea of government mandated licensing of the software craft. (I
don't care if you call it designing, engineering, programming, or hacking.)
What ever happened to the idea of freedom of speech in software?
Maybe I'm just an old-timer, but while "some of my best friends" came
into software through traditional college courses, most of the best,
brightest, and most inventive programmers I know became programmers
without formal training. The fathers of the computer revolution you
are now staring at and typing to, were able to make the great strides
they did, in an incredibly short period of time as measured against any
other industry, because there was nobody to say "no, you can't do
that". Why would anyone who has the equipment and training that
permits them to read this message, want to squelch such creativity and
productivity gains for the entire society?
I've heard all the drivel about raising standards and driving out the
low quality practitioners. Right. What it really does it makes it
more painful for *everyone* to enter the industry -- the best *and* the
worst. It creates a monopoly, ruled by an old boys' "board of
licensing" who entrench their idea of proper programming. It's a good
thing this bill didn't pass during the "Goto considered harmful" phase,
or it might have ended up "Goto considered illegal" and stuck us
programming in Pascal forever. (I also note that the explosion of C
programming in the last ten years was mostly among people on micros who
typically hadn't programmed before. E.g. if you were required to go
through college to be allowed to try C, you wouldn't bother, since the
college courses of the time taught Pascal and Fortran; you'd have
already been taught how to constrain your thinking to what was possible
in inferior languages.)
By the way, I never went to college at all. Among the three
co-founders of my current successful software startup company, only one
of us has a degree - and it isn't in computers (I think it's history).
And while I am really very talented with computers, if continuing to
work with them means getting a government license, I'll just retire on
what I've already made in computers, and start exploring one of the
other ten or twelve things I've never had time for. I mean, we turn
down government contracts now just over the added paperwork!
Did you notice in the bill that it allows people to gain a license to
be a programmer even if they don't go to an "approved" college? But it
requires years of work experience -- which will be illegal to get after
the bill passes. Essentially a grandfather clause disguised as an
alternative route. It means that the bright kids and 20 year olds and
30 year olds who currently wander into programming from chemistry or
physics or MCAD or library science, or bartending (I know a few!), will
be banned from the industry. I'd really rather not replace these
talented, motivated people with drones who learned how to take tests
and warmed a seat in some state college for four years. We need more
interdisciplinary people already -- you want to cut the supply to a
tiny trickle of those who're willing to sit through two or three entire
courses of formal study?
My reaction to the NJ bill was: O boy. Now the programmers will all
get upset at it, and not only can we kill off this stupid bill, but
perhaps while we're incensed, we can even repeal some of the other
ridiculous occupational licensing that's already on the books -- like
hairdressers, barbers, car mechanics, etc.
If you really care about this issue, I recommend that you implement it
in your personal life without waiting for the government. Only buy
computers designed by licensed and bonded EE's. (Hint: your
SPARCstation is not one of them.) Only buy software that was written
by programmers who passed the CDP exam. (Better send back Unix, Emacs,
Lotus 1-2-3, and Usenet.) I don't think TCP/IP was designed by
registered communications engineers either. (Maybe OSI was -- it has
that smell.) Well, you can always run DOS -- ahem -- uh, Bill Gates
*started* college, but I don't think he ever finished it. Too busy
making better products than all those people who wasted four years.
But maybe he *hired* a lot of fully certified licensed degreed people
to write the code. Or maybe not.
Don't forget to restrict your reading to government-approved
writers, and your thinking to government-approved thoughts.
Sometimes I think the worst mistake the founders of our country made
was giving governments the power to control commerce and trade.