|
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.
|
|
|
|
|
jschell wrote: Ideally of course it seems like a good idea. The expert takes in someone without skills and then trains them to become a master. It seems like a good idea if you lack an educational system, where they teach you according to a predetermined curriculum. That would at least guarantee a minimum basic understanding of the topic.
jschell wrote: 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. We stopped the differentiation based on how much melatonin and how much Neanderthal genes; now we enslave all, with student loans and expensive housing. Keynes would be so proud right now
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: It seems like a good idea if you lack an educational system, where they teach you according to a predetermined curriculum. That would at least guarantee a minimum basic understanding of the topic.
Except of course...
1. Is the education system free? In the US the journeyman jobs do pay - just not all that much.
2. Does the education system teach you skills that you can use on day one to make money?
For example at least at one point in time in the US one could take classes in high school, some high schools, on how to cut hair and how to fix a car. Not sure how complete those classes were. I never read of a high school class that taught one how to be a plumber.
When I was in high school there was one class to learn programming. But in no way was that suited to being a professional programmer. No idea what they are doing now.
|
|
|
|
|
I can only speak from personal experience, and that is limited to the Netherlands. So, this;
jschell wrote: Is the education system free? In the US the journeyman jobs do pay - just not all that much. I paid 500 euro's to learn the basics of Python, because I was not educated enough to go to that school. I mean, they said that without that pre-education, I could not start education (which costs a lot more).
jschell wrote: Does the education system teach you skills that you can use on day one to make money? No? Well, not anything that is viable in real life.
jschell wrote: When I was in high school there was one class to learn programming. But in no way was that suited to being a professional programmer. No idea what they are doing now. Probably the same place, as it makes them money.
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.
|
|
|
|
|
As others have said, programmers have little control over any part of the software development process:
- We do not control the specification - it is given to us by the customer or by Marketing
- We have little control over the design - it is often driven by hardware requirements
- We have some control over the coding
- We do not control the QA, testing, or acceptance tests
- 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.
|
|
|
|
|
But as a "professional" with a code of conduct, I will do no harm. I extend harm to stupidity; which I will decline to be part of.
I don't care who is in charge; I have to live with myself.
"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
|
|
|
|
|
Gerry Schmitz wrote: "professional" with a code of conduct,
Plenty of professions have a code of conduct. It doesn't stop unethical, venal, or even just stupid people from working in that field. For licensed professions, it may make it easier to get rid of them, but I wouldn't even count on that.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Daniel Pfeffer wrote: For licensed professions, it may make it easier to get rid of them
I seriously doubt that.
"Burzynski Clinic". Operating for 40 years. Sold a bogus cancer cure. Two years after it opened they knew it was a fraud. After that it took them that long to figure out how to remove his medical license.
|
|
|
|
|
Gerry Schmitz wrote: I don't care who is in charge; I have to live with myself. And I am not afraid of doing it.
Flashback:
I started a couple of years ago a project at work with "high importance". In the beginning I had a small app that could have been a very, very good start point for the bigger software. I even did a PoC in the most difficult use case. I got moved due to other reasons to a new deptartment and my PoC got discharged...
Back to today:
New division boss, asked me a time ago about something related and I explained the whole context, he started digging deeper and deeper and the story ended this week with a self report about the situation that we are not compliant with and exonerating me and a couple of people more because the decissions were taken against our advice before he took over (and I have proof of it, just in case).
Endly someone at lead doing things right
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I cannot agree more! When given a task to supply the code that will ensure 1+1=2, we are not tasked to re-discover the wheel to formulate what makes 1 or 2, our job is to secure the 2, else all fails. If a non-programmer miscalculated the outcome of 2, who is to blame if the design said 1 + 2, but it was misrepresented as 1+1....
|
|
|
|
|
ditto, Dan
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
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.
modified 23-Nov-23 20:14pm.
|
|
|
|
|
Gus, have you watched Uncle Bob Martin's series of videos on what it means to be a professional programmer? He echoes similar sentiments but holds an entire organization accountable. Worth watching. At my shop, we strive to follow his principles.
/ravi
|
|
|
|
|
The problem with holding the 737 programmers responsible for the crashes is that ultimately, the problem existed because of policies and project decisions by Boeing that had nothing to do with individual programmers.
I've worked in the space industry and you usually work together with bunches of teams, each working on their own subsystems which are then integrated at a later date.
It is perfectly possible for subsystems to each work as specced, only to result in problematic behavior because of underlying design decisions that had nothing to do with programming.
The Ariane 5 disaster is a perfect example of something that happened because a piece of code was reused in a situation where the physical system was different. What worked completely to spec for Ariane 4 caused a self destruct in Ariane 5. that was not a software problem. That was a system design problem.
|
|
|
|
|
In my professional development life I have seen bugs get past 7 layers of checking, that's 7 different people who should have caught the bug and did not.
A professional organisation would not have solved any of those bugs as those 7 layers are exactly the layers and checks that a professional organisation would call for.
Organisations are useful to some extent, but they generally just end up being a way to make money for those in the organisations.
Sometimes we just have to learn to live with the uncomfortable reality than in life that things go wrong and we try our best to stop the same conditions arising again.
Also with specific reference to the Boeing 737 Max disasters that you mention, do you know enough about the root causes to know that membership of an organisation would have prevented them.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
I'm still in a little bit of tryptophan fog, but I'm going to call this as I see it. It's a short version, since I apparently have a 'need' to go buy some reindeer for the front yard
This is a terrible idea set.
Certification. Most certifications are based on one of the following:
Passing a test. While there are certainly people who are very competent that can pass a cert test; there's also a large number of people who can pass a test and are incapable of actually doing anything. Often, professional tests are based on the concept that if one can answer obscure questions, then one certainly must know the basics. False. Coding tests tend to be subjectively reviewed and often deal with non-real-world questions.
Education. Obviously, education provides some sense of qualification. But, it's worth remembering that for every class, half the class was in the bottom 50%. I'm currently working with a degreed PM and honestly, I get a clearer response running ideas by my dog.
Experience. It's a decent metric, but between legal issues, company politics, and other things, it can be pretty hit and miss.
As far as the benefits and services suggestions? The military offers most of those, so maybe we need a "Programming Force"?
|
|
|
|
|
MikeCO10 wrote: Education. Obviously, education provides some sense of qualification. But, it's worth remembering that for every class, half the class was in the bottom 50%
Almost every company I have ever worked with at least at one point, and some times multiple times, some one gives a speech about how 'this company' has above average programmers.
Myself I just wonder where are the below average programmers are working then?
|
|
|
|
|
gggustafson wrote: witness the Boeing 737 Max disasters
Pretty sure that was a economic/sales decision. The software that they were charging extra for fixed the problem. It existed when they made the sale. The airline did not buy it.
gggustafson wrote: Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?
There was a train derailment recently near me. Not the one recently in the news.
Closed the highway and killed someone.
The problem was with the track.
So is the engineer that designed the track responsible? The last person who inspected the track? The engineer that was driving the train? The technical management at the company that oversaw the inspections?
gggustafson wrote: The certified professional should then use certified journeymen and certified apprentices to design and implement the software.
Frank Lloyd Wright. A certified architect. Perhaps the most acclaimed architect in the US. Presumably those working at his firm were certified.
The biggest achievement - 'FallingWater' [Edited to correct name]
That was a house that it was determined, perhaps in the last 20 years or so, was not possible to build with materials that existed at the time. Which is why it has been propped up with additional support for decades. Lots of 2x4s as I understand it. Until they recently fixed it with something that has only recently been available.
The Narrows Bridge Disaster. Presumably built by certified engineers.
The Florida Surfside condominium collapse. Killed 98 people. What about the 'certified' people that worked on that? Matter of fact what about the people that were supposed to be surveying it for problems before it fell down? They too were certified.
gggustafson wrote: but to raise their profession to a recognized standing.
Move to Texas perhaps? As I understand it you can't call yourself an engineer unless you are certified.
So if you really think it is going to make you a better professional then you should move there.
Software Engineering[^]
modified 25-Nov-23 12:40pm.
|
|
|
|
|
Your next to last block, responding to "The certified professional should then use certified journeymen and certified apprentices to design and implement the software." makes a very good point.
Every engineering disaster has been designed and built by "certified" pros, many who would be considered highly qualified to boot. And several of the major disasters were caused by errors made at the highest level of certification. And, as you point out in your examples, many are subject to continuous review by certified professionals.
And certifying programmers like the IBEW certifies electricians just doesn't get you anywhere. There's good and bad regardless of the paper certs.
Hey, we must be neighbors, though I've become a snowbird as I've come to hate the cold.
|
|
|
|
|
Fallingwater?
Gus Gustafson
|
|
|
|
|