Well it's probably down to the harm done if the standards are lowered vs. the gain.
Incompetent doctor? People die. Incompetent chemist? People die, or at least there's substantial material damage.
When it comes to mathematicians and physicists they only ever have any real impact when they roll up their sleeves, open matlab or R and turn their theoretical work into something practical. Does that make them programmers? Probably I guess.
Anyway as for us programmers there are very few jobs where a poorly written program will cause anyone any harm especially since it can be reviewed, tested, and corrected before being used for real, unlike a doctor who must use their skills on the fly and get it right first time, every time. So the bar for entry is obviously much lower and lowering standards doesn't do much to increase harm.
Many, many doctors are completely incompetent, as in, they don't know anything. Yet not all of their patients die.
I have been a "standardized patient" at medical schools; students at the end of their education (after 6-8 years of learning) still don't know shit. And most pass. Maybe they learn on the job... but I doubt it.
Conversely my general practitioners are part of an organization where they are doing their residency. They all are competent, very caring, and effective.
I talked to one of their IT people who told me what a good place it was to work. And had multiple nurses say the same, one going on a 5 minute rant about what a good place it was to work. So that could be a significant factor.
You are completely wrong about that. If they passed their exams, they know a lot. They're no good in practice because they had little practice. Yes, we do learn most of our practical skills on the job. Medicine is very much a 'know-how' profession.
Yeah, it's an exaggeration. They certainly know some things, and some of them know a lot of things. But, they all had big holes in their knowledge (huge, gaping holes) and
1/ They weren't aware of it
2/ They were trained to hide them and appear to know everything about everything, because they're the experts. That's the scary part IMHO.
> They were trained to hide them and appear to know everything about everything, because they're the experts. That's the scary part IMHO.
You've got to realize that we can't really train healthcare workers to admit failure. Culturally, it's not admitted in any society I ever lived in. People get really angry really fast if you don't hide the gaps, as they feel you're subpar and they're being swindled.
> They weren't aware of it
I recently taught an undergrad course, and I must admit I was baffled by the lack of knowledge of the students, and also how little effort they put into their studies. Doctors who don't read books. That's _much_ more worrying, IMO. Grade inflation, and all that...
>Anyway as for us programmers there are very few jobs where a poorly written program will cause anyone any harm especially since it can be reviewed, tested, and corrected before being used for real, unlike a doctor who must use their skills on the fly and get it right first time, every time.
That's as true for any scientific or engineer field, for architects, pianists, lawyers, painters end economists as is for people designing and writing software.
And yet, all those occupations are generally practiced by people with a degree, who did a lot of study and practice. No watching YouTube videos, no 3 week boot camp will lend you a job as a physicist, concert piano player, economist or architect.
Is not that we don't have a high bar in this field, is that we don't have any bar at all. A programmer is a person who calls himself a programmer. Even car mechanics and construction workers are held at much higher standards than this.
"Even car mechanics and construction workers are held at much higher standards than this."
This is not universally true. Many of the best blue collar wokers I've worked with had no formal training or certification, some have. A few trained and certified blue collar workers I've known have been mediocore at best.
The alumni of certifications, official training, and schools are only as good as the integrity of the institution and of the alum.
More broadly people who refer computing to the standard of construction/architecture would likely be severely disappointed if they had a glimpse how the latter is really done.
Until very recently the most skilled people in our field had no degree because such degrees didn’t exist when they started.
Car mechanics went through the same shift where learning how to fix cars was an on the job thing and many still don’t have a relevant degree. Construction work is an old profession, but still mostly an on the job thing outside of heavy equipment.
Has more to do with credentialing bodies holding legal power over who can practice. If you masquerade as a pediatrician and tell every parent their kid needs an hour of exercise and fruits and vegetables, just letting the nurse give the injections, you'll probably do fine in 99999/100000 cases. But that one time you'll miss childhood leukemia because you don't know what you don't know. Likewise, you write SQL injection code and for maybe 99999/100000 visitors you'll be fine. Until the first malicious bot destroys your company's primary DB and you lose hundreds of thousands of dollars in data, and trash your reputation for getting future contracts due to data security.
Wrote a program that helps find patients for donor organs. Make a mistake people die, luckily first real life test 6 people successfully received an organ.
Cause an outage (or write a bug that causes an outage) for like, hospital software, or software that distributes medical supplies during a hurricaine, or distributes vaccines and ... people die. Maybe not directly because it's not your hand with a scalpel slipping but critical things rely on software.
The economic waste that comes from bad code is death from a thousand cuts. Poor reuse and composability resulting in duplicated work, corner cases resulting in cascading errors, seconds of lag adding up to days or weeks of wasted time - years if at Google scale.
Put in this way, the more software there is, the better programmers we want. But the cost itself is typically externalized over the consumer base and amortized over the lifecycle of these products. Further, the perception of software developers being a cost centre first and foremost is sustained. You surpass these problems by being skilled.
Incompetent doctor? People die. Incompetent chemist? People die, or at least there's substantial material damage.
When it comes to mathematicians and physicists they only ever have any real impact when they roll up their sleeves, open matlab or R and turn their theoretical work into something practical. Does that make them programmers? Probably I guess.
Anyway as for us programmers there are very few jobs where a poorly written program will cause anyone any harm especially since it can be reviewed, tested, and corrected before being used for real, unlike a doctor who must use their skills on the fly and get it right first time, every time. So the bar for entry is obviously much lower and lowering standards doesn't do much to increase harm.