Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!samsung!uunet!mdcbbs!system From: jmi@devsim.mdcbbs.com ((JM Ivler) MDC - Douglas Aircraft Co. Long Beach, CA.) Newsgroups: comp.software-eng Subject: Re: Programmer Licensing? Message-ID: <458.25693eda@devsim.mdcbbs.com> Date: 21 Nov 89 12:26:01 GMT References: <39400056@m.cs.uiuc.edu> <242@cherry5.UUCP> <4600@ae.sei.cmu.edu> <1487@redsox.bsw.com> <601@banyan.UUCP> Organization: McDonnell Douglas M&E, Cypress CA Lines: 130 In article <601@banyan.UUCP>, gordon@banyan.UUCP (Gordon Lee@Eng@Banyan) writes: > In article <1487@redsox.bsw.com> campbell@redsox.UUCP (Larry Campbell) writes: >>In article <4600@ae.sei.cmu.edu> rsd@sei.cmu.edu (Richard S D'Ippolito) writes: >>-How is this argument different from the one used against licensing of other >>-professionals, such as engineers, plumbers, and beauticians? >> >>The major difference is that most licensed professionals provide their >>services to individuals who are presumably in need of protection from >>charlatans. Doctors, dentists, lawyers, electricians, beauticians -- all >>provide services to individuals who could be injured, or even killed, by an >>incompetent practitioner. >> >>However, programmers almost always provide their services to business or >>government organizations, who should (I believe) be smart enough (or cynical >>enough) to protect themselves. >> > > It is not as simple as that. Licensing practices in other engineering > disciplines do not exist only to protect individuals, they exist also > to protect the public as a whole. Civil Engineers must be licensed before > they attempt to build a bridge on a public road. Likewise software > engineers ought to be licensed before they attempt to design > an air traffic control system. The impact of the work on public safety > is just as large a consideration as the protection of individuals > from malpractice. > How do *you* (this is an generic you not specific) determine who is or isn't qualified to practice? One key factor is the ability of the SE to use an intimate knowledge of a machine to determine the best possible solution for any given problem. As an example I put forward the following experience. I was working on a project and I was asked to design a program that would perform wire identification and labeling in a batch process. I was not told what machine this process would be run on. I had about 4.5 years experience working on DEC machines, so I used my knowledge of the machines and devised an algorithm that would have supported unique filenames that were created on the fly. These filenames used conventions of the machine to insure that the file was associated to the process that was running (more than one process could be run concurrently) as well as being unique (even though more than one file could be created during the running of a single process). In order to perform the above I used designed the code to use the process identifier for the process that was running and to insure that it was unique I appended on the time in the format PID_HHMMSSss.extention. Within the DEC environment this is acceptable. I was later informed that the decision was made to run this system on an IBM. The IBM chosen did not support the createion of filenames on the fly as all files has to be defined in the JCL. This also did not allow for the unique naming conventions or duplicate processing from the same directory structure. If I had to write the above process as part of some SE testing procedure, there is no way that I would have passed. On the other hand, the process, as I created it, was the best possible way to perform the required action *if* the machine that was to be used was a DEC VAX. Who will determine who should be licensed to practice? Systems development is a creative process where the objective is to make the best possible use of the hardware and the software to obtain a total final objective. The process I used in the example above is one of the most simple. Earlier I made mention of the ability to use a system supplied sort routine verses writting one from scratch. These issues have to be addressed before anyone even attempts to try to license this profession. > Note that I used the term software engineer where you have said programmer. > I think that a software engineer is a person who like a civil engineer > must assume responsibility for the proper practice of his profession > from a moral and ethical standpoint. We are not "Engineers" in the sense that an ME or EE is. There are no "natural laws" that effect the development of integrated software/hardware solutions (with the exception of thruput and limitations of the hardware). Ethics and morals are not dictatable (see Congress and the officials we elect and that is apparent). The fact the "my word is my bond" relates only to how well I bind my words to my deeds and can not be enforced or aven stamped with approval from some organization. > > Like it or not, I think that the barn-storming days > are largely behind us, and that some form of regulation is inevitable. > It is important that we as a professional community take the initiative > and demonstrate that we are capable of regulating ourselves through > professional associations. As a member od DECUS, I would hate to see the day when someone bullies the organization into participating in this farce. I don't see it as important that the professional community enforce self-regulation. Regulation is done by the fact that the incompetent are not hirable (your company does check references don't they?) and that if you work for a company that "doesn't fire people once they are hired in" these non-able workers are placed in projects that have nowhere to go and are career dead-ends. Licensing will be just one more piece of useless paper. College degrees are already proving to be that way, why add another layer of bullcrap to the ammount of garbage that already appears after peoples names. I can see the future that you speak of... Bill Brown BS MS PhD ACMPL IEEEPL DECUSPL STATEOFCALIFPL (where PL is a professional license from that organization). This is additional bull, and it proves nothing about the individual! > If we don't, we will lose credibility over time. What credibility? I am only as good as the last task that I completed. If I did a good job then I should have no problem moving on and up. If on the other hand the project was a mess and I was responsible, well then I will get what I deserve. > Software "workers" right now enjoy the advantage of an artificially > small labour pool, and this makes it very easy to get cavalier about > job security. But this labour pool will grow, and when it > does, salaries will no longer be as high and the job market will no longer > be candy land. Potential employers faced with candidates of equivalent > experience will be forced to look at credentials in order to make > a decision, ie education and licensing. > > - Gordon > I don't know where you get the 'small labor pool', but in southern calif. there are two applicants for every opening (well, that's a tad overstated, but there are more applicants than openings). As someone involved with hiring (from time to time) I am more inertested in overall capabilities as to how they relate to the position that I am filling than what paper the person has. If all things are equal (experience) I will determine my selection by the one I felt most comfortable talking with, paper/credentials are *never* an issue. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | J.M. Ivler at Douglas Aircraft in Long Beach, CA - VOICE: (213) 496-8727 | | INTERNET: jmi@devsim.mdcbbs.com | UUCP: uunet!mdcbbs!devsim.mdcbbs!jmi | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~