I'm not sure why you think a basic code of professional ethics would add so much cost to software development.
There's much we can learn from librarians, but it's clear that the comparisons between library practice and software engineering are going to be tenuous. Are hundreds of librarians ever tasked with building multi hundred million dollar systems + ongoing maintenance etc? I can think of a few perhaps (BNF, LOC, etc) but it's nowhere near the same magnitude or scope as software.
I have a hard time seeing how you can get all the benefits of a code of ethics in a field as money heavy as software without none of the overhead that unionizing/licensing/etc would bring.
Not that I am fundamentally against unionizing. But then, why would a company choose a costly, slow US union over cheap, fast overseas engineers?
$600M annual budget makes no one bat an eye in the software world.
I don't fundamentally disagree with you, but I need to hear more than "let's just do like librarians do" because the similarities are tenuous.
I think the issue is one of professional culture and norms, and has little to do with budgets. If you don't like the analogy to librarians, pick one of any number of professions that have a robust code of ethics. Mechanical engineers build aircraft and bridges, for example, at budgets that dwarf ours.
I think the fundamental issue lies with the fact that software is one of the most geographically agnostic fields. You're going to have a very hard time getting librarians in the Philippines running a library in Virginia, or engineers based in India building a bridge in San Francisco. But in software, it just doesn't matter. (well, we all know it does matter - but to the vast majority of MBA types, it doesn't matter)
That's why I have a hard time with the librarian analogy, and even the mechanical engineer one and others to some extent. Software just feels conceptually different from other professions in that it's very hard to imagine work that would be any easier to ship to the lowest bidder anywhere in the world. That seems to me like the real philosophical problem to deal with.
Eh, they wish it didn't.
In reality, if geography really didn't matter then you wouldn't see developers making hundreds of thousands of dollars a year.
That's one reason I think the ethical rules should be around the data collections, and not the code. That seems to be a much more tractable problem.
I want better ethics in software as much as everyone else in this thread, and I'm putting out these comments in the hope of having people reply with concrete, realistic paths to how we can achieve it, and so far I'm not seeing it.
This could come through two paths:
1. Directly lobbying the biggest tech companies to institute it in their hiring. If Google required ACM membership for all developers, ACM membership would actually matter. This would also help to trickle down to small employers.
2. Lobby at "access points." Maybe AWS should require that any system with an annual bill of $1k or more had a professional developer involved.
3. Lobby the government to require professional licensing for anyone working on large-scale production software.
The same is not true for software and will NEVER be true for software.
Nobody is ever going to care if the guy fiddling around with CSS and HTML to make a marketing landing page is licensed or not. Hell, I know small startups that will pay a bright high school student to do stuff like that.
Vast swafts of software engineering can be reduced to basic crud web dev that a bootcamper college dropout is capable of doing.
There is no "high school intern" level equivalent of medical work that the world has a massive shortage of.
That's true today, mainly due to centuries of work to professionalize medicine.
There was a time in history where much of treatment was basically the equivalent of high school crud work.
More importantly, I don't think we need to worry about the random fiddlers. They're not the ones building massive databases. It's the people working at places like Google and Facebook.
Lawyers are only in their professional org because it is enforced against them.
There'd have to be some negative effect to "defecting" by not joining the org. Self enforced maybe? Devs refusing to hire other devs that aren't in the org? Possibly.
The size of the "alternative medicine" industry begs to differ.
Target the big players (large tech companies) so that they'll only hire people who are members of the developer guild. We're not going to prevent people from ever building software, but permanently taking employment at Google/Facebook/etc. off the table would be a strong deterrent.
> How do you avoid it making software even costlier to build by several orders of magnitude?
Why do you think that following ethics would make software much costlier to build? You're the one making the assumption so you need to give evidence.
Like a union? Except without benefits, only obligations. And not joining will get you black balled. Sounds neat - sign me up.
I feel like people are acting deliberately obtuse. This isn't some radical proposal.
Doctors have professional associations (with ethics requirements). So do lawyers. So do librarians. We're professionals—it's time to act like it.
Also, being bound to a professional code of ethics is a benefit. It pre-commits you so that if your boss tries to get you to do something unethical you have substantially more leverage to refuse. Try getting an attorney to do something which would get them disbarred—they'll refuse, even if you're offering a ton of money.
Except the part where the collective bargains with the large employers to exclude non-members from employment.
Now what?
> Try getting an attorney to do something which would get them disbarred
... so do you want or do you not want a bar exam for software?
Not all guilds require licensing. It's not like you have to pass a test to be a screenwriter.