|
jochance wrote: Obviously I meant mandatory. So, you want me out? I have no official degree. At all. Just been programming for some years, got some MVP titles and my name is in some books. I paid 500 euro's to get the "minimal knowledge" to apply for an education that would lead to a degree, and after paying that and completing it, still denied.
Education is commercial. I know, after paying 500 euro's for an education that explained what variables are.
jochance wrote: I'm less concerned about that at all than I am that people are doing all manner of bad and nobody even knows about it. We find out years later about Cambridge Analytica and these things. But it's massive companies doing it. A programmer, you do as said, or you get fired. Do you think "ethics" is going to help?
jochance wrote: Some of this stuff will flat go away just by exposure to sunlight. They won't even try. So raise awareness, then we can worry about decisioning Shine a little light on the banking sector.
jochance wrote: It only takes people being aware for some situations to right themselves. It's only profitable because it remains secret So why attack me, as a developer, when I do not make decisions nor have any influence on deadlines? Of course it remains a secret, that is how entrepeneurs try to outcompete other ones. Look up malicious compliance, and you'll know how I react to a "boss" that asks the impossible
The topic is more complex than you paint it, and mandatory licenses won't solve it. I can buy a license for as little as 1000 euro - but to follow the lessons as given to get that degree would cost 2500 euro's. And I'd be spending weeks, learning about variables.
The goal is not quality, it is about maximizing profits. Our managers underbid and overpromise to get the bid, even if it isn't realistic. You get better at your job and deliver faster? Great, then the manager has a better margin to overbid, and you get shouted at for not delivering.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
You misunderstand somewhere.
I was advocating for there being NO mandatory licensing to the extent we create a protectorate organization to ensure it never happens.
What I was saying was that instead of some kind of barrier to entry with accreditation and licensure, we could really use some ethical oversight. I'm just of the bent that programmers messing up important code is probably less impactful than all the code they aren't messing up that we'd really rather wish they were (or weren't writing in the first place).
Eddy Vluggen wrote: A programmer, you do as said, or you get fired. Do you think "ethics" is going to help?
That might be the way some people operate. It is not how I operate. There are some good developers who still don't want anything to do with design and only want tasks/cards to complete. Now it can be nice to just knock out tasks like that for brief spates (weeks/months), but if it was my life? No.
It's not ego or w/e... like I'm fine taking direction. It's simply they do not need _me_ if the role is working a list of tasks someone else came up with. They're not leveraging me if I'm not substantially identifying and outlining the tasks which need to be completed. It's robbing us both.
And definitely no, if you mean one of those tasks could be less than morally neutral. I've only really ever had one time in 20 yrs where the requested task felt shady. The consequences really do not matter when the other side of the scale holds your integrity.
|
|
|
|
|
jochance wrote: You misunderstand somewhere. Yeah, that's nothing new.
jochance wrote: I was advocating for there being NO mandatory licensing to the extent we create a protectorate organization to ensure it never happens. We need something like a "degree" that confirms a minimum of knowledge. I would not trust any organization with that, as I could buy a degree.
jochance wrote: What I was saying was that instead of some kind of barrier to entry with accreditation and licensure, we could really use some ethical oversight. I'm just of the bent that programmers messing up important code is probably less impactful than all the code they aren't messing up that we'd really rather wish they were (or weren't writing in the first place). I'm paid, I do not do ethics. You're blaming me for failures, caused by deadlines promised by sales-department?
jochance wrote: That might be the way some people operate. It is not how I operate. Good for you. Most of us adapt to whomever pays for our service.
jochance wrote: It's simply they do not need _me_ if the role is working a list of tasks someone else came up with. They're not leveraging me if I'm not substantially identifying and outlining the tasks which need to be completed Good if you have that choice. I take what I can.
jochance wrote: And definitely no, if you mean one of those tasks could be less than morally neutral. Morally?
Morals do not pay my rent. Kudo's to you if you are rich enough to refuse, but I can't. I take whatever presents - and I certainly will not lecture any potential employer with "morals"; they play the game for profit, not morals.
On occasion, I have broken the law, since I was instructed and paid to do so. Moral, ethics, means nothing.
Are you advocating now for a certified minimum in knowledge, or ethics? If the latter, then I have some bankers you might want to talk to first
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I worked a the Kennedy Space Center in the late 90's on a replacement system to launch the Shuttle (was canceled because the Shuttle was being canceled). Anyway, I remember them finding a bug in the software in place at the time that was decades old. I don't remember the exact nature of it but luckily it didn't affect the actual launching.
|
|
|
|
|
C. David Barrineau wrote: but luckily it didn't affect the actual launching.
That's a good thing.
As the aircraft designer said, "Simplicate and add lightness".
PartsBin an Electronics Part Organizer - Release Version 1.3.0 JaxCoder.com
Latest Article: SimpleWizardUpdate
|
|
|
|
|
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.
|
|
|
|
|
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.
|
|
|
|
|
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;
|
|
|
|
|
Greg Utas wrote: restricts trade,
Absolutely.
In New York a 'Cosmetology license' requires 1,000 hours of study and pass two exams.
You know so you can cut hair.
This is not the only state that does that.
To be a 'Master Plumber' one must 'Have good moral character'. There are other requirements.
|
|
|
|
|
|
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.
|
|
|
|
|
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 disgree; it's fraud.
"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
|
|
|
|
|
Perhaps.
I just googled the definition of 'engineer'
"a person who designs, builds, or maintains engines, machines, or public works."
So apparently no one that works in software or even computer hardware, not for any reason, should be allowed to use the title of 'engineer'.
|
|
|
|
|
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
|
|
|
|
|
Proper certified engineering jobs already have all that. (except the retirement funds thingies)
CI/CD = Continuous Impediment/Continuous Despair
|
|
|
|
|
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 faulty because of a malfunction of the AoA sensor, and as we all know - Garbage in, garbage out. The faults lay with the concept of the 737-Max (putting engines that don't fit on an old airframe, and thus have to be re-positioned, thus causing a nose-up attitude under thrust), plus the lack of input validation (by comparing the inputs of the two AoA sensors), plus the lack of a manual override. So who's to blame? Yes, software doomed the aircraft, but there was no "bug" in the code, and the programmers who wrote each line of code are blameless. It was the overall project management and concept design, plus arguably the certification body, that made the decisions to go ahead with a flawed system. See this detailed analysis[^] published on the IEEE website
|
|
|
|
|
DerekT-P wrote: why is it the programmer's fault?
Yep a complexity issue.
Which is why 'real' engineering problems, you know the ones where buildings fall down, often are only resolved via civil lawsuits against companies.
Oddly enough same is almost always true for doctors as well. Even when they kill someone. Only time it becomes criminal is when they can show gross negligence.
|
|
|
|
|
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.
|
|
|
|
|
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?
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 workers? Does one who clean not have the right to legal assistance? Why?
I may make more money than the one who cleans after I leave, but as a human, they are more than I will ever be.
Feel free to look for a job and demand your stuff.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Eddy Vluggen wrote: A journeymen?
You know the ones that get paid a lot less and...wait for it...are not certified.
|
|
|
|
|
I know the term only from the game "Pirates!", where you start as an apprentice, a journeyman or a buccaneer.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Yep that is how it works.
Ideally of course it seems like a good idea. The expert takes in someone without skills and then trains them to become a master.
Sometimes it even works that way.
But to some non trivial percentage of cases it becomes a way for the expert to get skilled labor (after training) for less than what it would cost to actually pay them without such restrictions being in place.
A particularly horrendous example was the 'apprenticeship' laws passed in the US after the civil war that allowed white people to enslave young black people, forcibly (legally enforced), with the justification of claimed benefits.
|
|
|
|
|