4 ms·
> Software practitioners should be licensed and be bound by a professional ethical code where violation of said code would result in the revocation of the licen
by donatj 5y ago
> Software practitioners should be licensed and be bound by a professional ethical code where violation of said code would result in the revocation of the license to practice software engineering.
Nope. You're done.
- brobdingnagians 5y agoExactly. At what point do we need licensing? Someone writing Excel scripts? VB scripts? Making their first game? Making their first website? The first paid opportunity in any of those? Some things might be _reasonably_ licensed (but still in debate), if you are making an automatic robotic heart surgeon... but pretty sure that as a whole is already in that category and taken care of in other, better ways. It would kill creativity, exploration, and innovation of those who are unlicensed. You don't need a PhD to start on the path, and since software is as broad as every other industry and has many different approaches, it is futile to try to set boundaries and limit it. Is someone who prefers strict functional programming not worthy of certification? The "certification" would tend to favor the current dominant styles, which would be enterprise-y procedural-ish stuff. I don't think that would be a boon to the state of the art or to progress.
- cush 5y agoHandling personal data, health data, or financial data, could be criteria used in licensing. Codes would exist for safely handling them, just like building codes for safely building a structure. And no the code wouldn’t include functional vs object oriented programming, just as a building code wouldn’t specify the building’s paint colour.
- erosenbe0 5y agoAmerican healthcare is already such a closed market with horribly inefficient, protectionist regulations that literally squeeze the breath out of American industries and consumers. Any proposal that could increase costs for marginal benefit should be considered dead on arrival.
- cormacrelf 5y agoYou seem to have the idea that we would make it illegal to write any kind of code if you were not a licensed professional. That's a pretty glaring strawman that you have already dismissed by bringing up autonomous robot heart surgery. You pretty much start with the most important stuff, exactly as you suggested. That's what the market wants. See this history of engineering licensure (https://www.nspe.org/sites/default/files/resources/pdfs/pemagazine/june2007_the_professional_engineering.pdf https://www.nspe.org/sites/default/files/resources/pdfs/pema...): It was originally enacted to stop lawyers and random people claiming to certify the design of huge infrastructure projects for dams and irrigation, where the consequences of failure would be flooding huge areas, causing immeasurable damage. For the same reasons, if you're building dams or nuclear power control systems etc today, I imagine you'd be looking for a similar licensing system. Maybe you would simply use the licensing systems that already exist. The rest of your comment sounds a bit like "it is oppression of my creativity when I build bridges that are made out of four thousand spoons tied together with craft glue and the NTSB says I am largely to blame for it falling on a pedestrian". It is obvious this far into the discipline's history that some things are good ideas and some things aren't, and it is possible to say that if your new 6-week-coding-bootcamp hire doesn't know anything about password hashing you should not give them the job of rewriting the login page. Nobody cares if you write it in Haskell, nobody's trying to draft statewide RIIR legislation, and you are KIDDING yourself if you think that your rebellion against enterprise-y procedural-ish stuff is more important than not letting Russian hackers steal all of your users' sensitive data and sell them to others who will blackmail them for more cash. The market forces are in favour of accrediting the people who work on systems that are important to avoiding pretty dramatic harms, and even death and destruction. People aren't dumb and will eventually wise up enough about the shoddy work that gets done to start suing engineers behind data breaches for negligence (more). You're here proving the article's point by not taking this profession seriously enough to see that even a limited licensing scheme could be warranted.
- nonrandomstring 5y agoAs probably the only person here who actually did make autonomous remote heart surgery code (Ada), very early in my career as a novice, I disagree with the idea of licensing _programmers_. What is needed is licenses for those who _deploy_ software in critical applications. They should be audited to hell and back and face catastrophic liability for failure. We already are moving there, creating a small number of well paid, highly skilled senior positions who have 40+ years in software and full ISO9000/27000. It's a chartered quality assurance role that overlaps cyber-security/safety and resilience engineering. And we must remember, that despite construction work being regulated to the hilt, we still got the "cladding scandal" and Grenfell Tower fire in the UK. Software "safety inspection", where appropriate, must also be a thing.
- cush 5y agoThis is standard for all Engineering disciplines except software. It’s really not that foreign of a concept.
- devwastaken 5y agoIt's also why software can be built far faster and better while other engineering disciplines struggle to build a bridge or plane. The more red tape means only the largest of orgs can operate it because the politics involved guarantee they're the ones that get to make the rules for everyone.
- manigandham 5y agoWhat do you mean by "struggle"? What does "better" mean in this context? Software is intangible and has fewer requirements which obviously helps with speed but the normalized pace of output doesn't seem significantly different. Large and complex software products with equivalent real-world reliability also take a very long time.
- rfrey 5y agoYou are asserting that software is built far better than bridges and airplanes?
- Apocryphon 5y agoThe fact that software has far fewer physical limitations than every other field of engineering probably has something to do with the relative speed of its development.
- cush 5y ago> only the largest companies could compete That is fundamentally untrue. In fact, regulations would even the playing field. Right now, anyone can get their Engineering degree, complete an apprenticeship, and open a firm. Regulations like Building and electrical codes protect the public, and certified civil and electrical engineers are certifiably competent enough to implement them. Once certified, everyone has the qualifications to bid for the same contracts.
- deleted 5y ago[deleted]
- david38 5y agoThe most complex systems in the world are software. The automation behind software is staggering, absolutely mind-blowing. The amount of lives that depend on software in one way or another - from traffic lights to medical equipment would shock most people. All this without licenses. Ethical code? You mean laws? How would you enforce this? Wipe compilers from one’s computer? Interpreters? Remove shells?
- nickysielicki 5y agoAt one moment, he's crying about how widespread software like log4j has no corporate sponsors, and the next he's claiming that it should be illegal to write or use such software if it's not built by a megacorp with licensed engineers. You can't have it both ways.
- mftb 5y agoEven after your comment I was willing to give the linked article the benefit of the doubt, then I came to this, 'If I type "Anyone can be a software developer" into Google here's the first result...'. Immediately after that he makes a declaration about the profession of "software engineering". Either the writer doesn't understand the importance of words or they aren't being intellectually honest. Replacing his query with, "Anyone can be a software engineer". The first result I get is from Quora and there is a whole range of responses. I do think there is a more nuanced argument to be made that some types of software engineering, may need regulation (air traffic control, medical devices, cars, planes, nuclear power plants) to the extent it doesn't have it already, but I don't think this article is being thoughtful enough to make it.