Call for a Professional Programmers' Association
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
While I agree that companies should hire qualified programmers, I don't believe they should be held accountable. It is the companies responsibility to provide the resources and time necessary to complete the task and when done to test it. Complex programs are almost impossible to be 100% bug free so the question is what is acceptable?
As the aircraft designer said, "Simplicate and add lightness". PartsBin an Electronics Part Organizer - Release Version 1.3.0 JaxCoder.com Latest Article: SimpleWizardUpdate
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
The “professional” bit sounds redundant. Why not just programmers association? I doubt non-professional programmers are able to establish an association or anything of that nature.
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
gggustafson wrote:
"Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?"
Maybe. Apportioning blame is difficult and is often decided during lawsuits. Managers? Developers? Testers?
gggustafson wrote:
I firmly believe that programmers should be held accountable for their mistakes
Doctors (at least in the US) carry extremely expensive malpractice insurance for this. Should programmers have to do the same?
gggustafson wrote:
Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional.
If companies don't share the blame, programmers would indeed need malpractice insurance. If not them, then maybe the professional organization, when it certifies someone who messes up. Nothing prevents the creation of such a voluntary organization. The danger is that it leads to licensing, which - restricts trade, - inflates incomes for the licensed professionals, and - enforces groupthink, which stymies innovation and has even led to licenses being cancelled for having unacceptable views.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
Read this: Regulation and licensure in engineering - Wikipedia[^]. I have my doubts that professional certification for software developers would have a meaningful effect on public safety, if it was even feasible.
Software Zen:
delete this;
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
That what "engineers" are for. However, some bureacrats want to allow "any" programmer to call themselves "software engineer"; the only reason being to get votes as far as I can see.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
-
gggustafson wrote:
"Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?"
Maybe. Apportioning blame is difficult and is often decided during lawsuits. Managers? Developers? Testers?
gggustafson wrote:
I firmly believe that programmers should be held accountable for their mistakes
Doctors (at least in the US) carry extremely expensive malpractice insurance for this. Should programmers have to do the same?
gggustafson wrote:
Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional.
If companies don't share the blame, programmers would indeed need malpractice insurance. If not them, then maybe the professional organization, when it certifies someone who messes up. Nothing prevents the creation of such a voluntary organization. The danger is that it leads to licensing, which - restricts trade, - inflates incomes for the licensed professionals, and - enforces groupthink, which stymies innovation and has even led to licenses being cancelled for having unacceptable views.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Greg Utas wrote:
- inflates incomes for the licensed professionals
True, but I think it would also restrict the job market for those who were licensed. Companies hire engineers to solve problems for the least cost. If a licensed practitioner is more expensive, then they're only going to hire one when they are required to by contract or regulatory necessity. I experienced a variant of this myself back in the late 1980's when I was pursuing a Master's degree in computer engineering. Interest from potential employers would evaporate because they assumed I wanted more money than my experience warranted. Fortunately the company I worked for at the time (who were paying my tuition as a benefit) laid me off, putting an end to that.
Software Zen:
delete this;
-
That what "engineers" are for. However, some bureacrats want to allow "any" programmer to call themselves "software engineer"; the only reason being to get votes as far as I can see.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
I've had numerous different job titles over the years: junior programmer, technical writer, programmer, software engineer, senior engineer. I call myself a computer engineer, one because that's what my B.S. degree was in and two because my experience is largely in process control software. Call yourself the Grand Exalted Poobah of Software Architecture if you want. The proof is in the value rendered by the work you do.
Software Zen:
delete this;
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
It's just too complicated. anyway... PROGRAMMERS OF THE WORLD UNITE !! GIVE US BYTES OR GIVE US DEATH !!! LONG LIVE THE MASTER CONTROL PROGRAM !!
CI/CD = Continuous Impediment/Continuous Despair
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
Proper certified engineering jobs already have all that. (except the retirement funds thingies)
CI/CD = Continuous Impediment/Continuous Despair
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
Programmers have very little say over the design of complex systems. The 737 Max disaster was not programing but engineering design based. First the shifting of the weight of the more efficient engines unbalanced the craft making the plane tail heavy. So on take off it was possible that the pilot might not notice the plane tipping it's nose up and climbing into a dangerous stall condition. The sensor to detect this bad angle of attack was placed on the nose of the plane but the engineering design called for two sensors staggered on either side of the nose. However, there was no room for two sensors and redundant paths to the control computer. So the physical design was changed to a single sensor and a single point of failure. In order to avoid a costly re-certification of the air craft the decision was made that the system was only there as a fail safe and would only correct the tilt of the plane in the unlikely event the pilot chose the wrong angle on ascent. So the details of the new system were buried in the manual and no training of the pilots was called for. So we all know what happened. The sensor failed on take off, the system thought the craft was climbing into a stall and corrected by forcefully driving the nose of the plane down. The pilot was assailed with stall alarms, too low pull up, pull up, alarms. Fighting with the controls to try and pull the plane up the plane began to follow a roller coaster ride of wildly pulling up and being driven back down. In the mean time the co-pilot was desperately thumbing through the manual to find out how to cancel the correction system. Unfortunately, the physics behind these large planes only gave the pilot 10 to 15 seconds of time to get the plane under control before the crash was inevitable. So who was at fault here. The programmer who coded the control system? The engineers who designed a redundant sensor and control system, the management that made a decision to go with a single sensor to eliminate the cost of redesigning the entire front nose of the plane to accommodate a sensor that was only needed in the edge case of a craft that was heading at too steep an ascent angle and would stall, the management that decided that recertifying the plane would place them at a significant disadvantage in the marketplace and so skipped training the pilots on how this new safety system worked. Or the company that wanted to stick a more efficient engine onto the existing frame of a plane to recapture market share that was lost to competing companies?
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
In the (theoretical*) case of a software glitch causing a disaster, why is it the programmer's fault? Why not the system analyst who specified what the code should do? Why not the tester who signed off the tests, or maybe the test designer? Why is it not the client's responsibility to independently verify what the programmer did, before putting the code into the "real world"? What if the programmer coded the software correctly, but a compiler bug (they do exist!) meant the outcome was not what the programmer wrote? And as Mike Hankey implies, what if the client / manager / project leader didn't allow sufficient time for design, coding and testing? I seriously doubt that any developer of safety critical apps would be willing to take on the "responsibility" for their systems on the basis of being a member of a professional organisation. At the very least, if there is a risk of a developer being held personally responsible, then they need to take out professional indemnity insurance. Such insurance *might* be cheaper if the individual is a member of a recognised body, but that's only likely if the organisation does its own verification of the developer's abilities and competence. Having done so, and affirmed that the developer never makes mistakes, they too would carry part of the liability. In short the whole thing is too vague, too complex, and too open to litigation. In the UK there is an organisation for professional freelancers / consultants, the (clumsily-named) Association of Independent Professionals and the Self Employed IPSE[^] IPSE provides guidance, legal advice, insurance, best practice, peer support and more for self-employed freelancers BUT does not in anyway vouch for the "professionalism" or abilities of its members. When it first launched as the PCG (Professional Contractors Group) in 1999 it was almost entirely composed of IT professionals, but now encompasses all trades and professions. * In the example you use, of the 737-Max, it's very questionable whether the programmers carry any of the blame. In an intrinsically unstable airframe, the software was designed to adjust flight control surfaces to counteract that instability; and was designed to do so without the capacity for the pilot to override those software inputs. The programmer's code was not at fault; it received an input, did some calculations, and generated an output. In the tragic case of the 737-Max, the inputs were
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
Nowhere in there did you mention the programming cheerleaders. I won't join without such assurances. But seriously... I can agree with the need and the broad points mentioned, but it just ain't gonna happen. Grab a beer and relax.
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
gggustafson wrote:
I firmly believe that programmers should be held accountable for their mistakes
In my first year, I caused 4 m3 of quick drying cement to drop to the factory floor, and I was not accountable; if I was accountable, I'd quit programming. Moreover, if you hold people personally responsible, no one would work at MacDonalds even. Let's not talk hospitals, where they cut people open without personal responsibility.
gggustafson wrote:
I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization
Like schooling and getting a degree? That is different from being accountable, that's simply verifying someone has a certain level of knowledge. Now, I tried to get into school this year, but I do not have enough education to start at that school.
gggustafson wrote:
My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?"
Basically, no. The manager is to blame in that case. It works like that in every occupation, even for cleaners.
gggustafson wrote:
It is for this reason that certification is required.
It is rather hard to get work without any certification or any other creds. It is not required; capitalism would erase those businesses that fail on delivery, wouldn't it?
gggustafson wrote:
The certified professional should then use certified journeymen and certified apprentices to design and implement the software.
A journeymen? :D
gggustafson wrote:
I believe
Which is allowed, but keep that nonsense in your church. We measure, instead of believing.
gggustafson wrote:
For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost.
I do like our socialist system in the Netherlands, but why would/should this be about programmers, instead of
-
While I agree that companies should hire qualified programmers, I don't believe they should be held accountable. It is the companies responsibility to provide the resources and time necessary to complete the task and when done to test it. Complex programs are almost impossible to be 100% bug free so the question is what is acceptable?
As the aircraft designer said, "Simplicate and add lightness". PartsBin an Electronics Part Organizer - Release Version 1.3.0 JaxCoder.com Latest Article: SimpleWizardUpdate
Do we hold bankers or politicians accountable? Why would I take responsibility, if I have no influence on budget or time-management? :^)
Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
As others have said, programmers have little control over any part of the software development process: 1. We do not control the specification - it is given to us by the customer or by Marketing 2. We have little control over the design - it is often driven by hardware requirements 3. We have some control over the coding 4. We do not control the QA, testing, or acceptance tests 5. And most important - we control neither the schedule nor the budget Why should we be held responsible for the results of other people's decisions?
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
-
As others have said, programmers have little control over any part of the software development process: 1. We do not control the specification - it is given to us by the customer or by Marketing 2. We have little control over the design - it is often driven by hardware requirements 3. We have some control over the coding 4. We do not control the QA, testing, or acceptance tests 5. And most important - we control neither the schedule nor the budget Why should we be held responsible for the results of other people's decisions?
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
You said it way better than I ever possibly could have. You don't need programmers to know everything about everything; you bring in the experts in their various fields and have them put the specs together. The programmer implements it. Someone who's not the programmer needs to sign off on it. Plus everything you mentioned.
-
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software-based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software. I believe that it is time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it is needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost. It is time for programmers to organize, if not to obtain services not available today, but to raise their profession to a recognized standing.
Gus Gustafson
IMHO, a simpler first step for managements to institutionalise/mandate System Level FMEA, Failure Modes and Effects Analysis, in addition to Software Testing. Such a system level FMEA would at least help to recognise and possibly resolve all failure modes before release.
-
Programmers have very little say over the design of complex systems. The 737 Max disaster was not programing but engineering design based. First the shifting of the weight of the more efficient engines unbalanced the craft making the plane tail heavy. So on take off it was possible that the pilot might not notice the plane tipping it's nose up and climbing into a dangerous stall condition. The sensor to detect this bad angle of attack was placed on the nose of the plane but the engineering design called for two sensors staggered on either side of the nose. However, there was no room for two sensors and redundant paths to the control computer. So the physical design was changed to a single sensor and a single point of failure. In order to avoid a costly re-certification of the air craft the decision was made that the system was only there as a fail safe and would only correct the tilt of the plane in the unlikely event the pilot chose the wrong angle on ascent. So the details of the new system were buried in the manual and no training of the pilots was called for. So we all know what happened. The sensor failed on take off, the system thought the craft was climbing into a stall and corrected by forcefully driving the nose of the plane down. The pilot was assailed with stall alarms, too low pull up, pull up, alarms. Fighting with the controls to try and pull the plane up the plane began to follow a roller coaster ride of wildly pulling up and being driven back down. In the mean time the co-pilot was desperately thumbing through the manual to find out how to cancel the correction system. Unfortunately, the physics behind these large planes only gave the pilot 10 to 15 seconds of time to get the plane under control before the crash was inevitable. So who was at fault here. The programmer who coded the control system? The engineers who designed a redundant sensor and control system, the management that made a decision to go with a single sensor to eliminate the cost of redesigning the entire front nose of the plane to accommodate a sensor that was only needed in the edge case of a craft that was heading at too steep an ascent angle and would stall, the management that decided that recertifying the plane would place them at a significant disadvantage in the marketplace and so skipped training the pilots on how this new safety system worked. Or the company that wanted to stick a more efficient engine onto the existing frame of a plane to recapture market share that was lost to competing companies?
Thank you for pointing out the real facts behind the 737 Max. This: ". In order to avoid a costly re-certification of the air craft the decision was made" is the nutshell of the real reason the a/c ran into problems. Boeing had made significant design changes that should have forced recertification, but it was a huge marketing effort to avoid that. The 737 Max was sold as an improved variant of the 737 when nothing could be further from the truth. Toss in a cozy relationship with the FAA, and a disaster was inevitable. The737 Max was a systems engineering failure.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.