5 ms·
If you want to enforce it and have oversight at any basic level, for example the way it might be done in law, then you need a licensing of some form, and it's g
by GuiA 10y ago
If you want to enforce it and have oversight at any basic level, for example the way it might be done in law, then you need a licensing of some form, and it's going to add overhead and delays = costs.
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?
- idlewords 10y agoThe Library of Congress has an annual budget north of $600M. https://www.loc.gov/portals/static/about/reports-and-budgets/documents/financial-reports/fy15.pdf https://www.loc.gov/portals/static/about/reports-and-budgets...
- GuiA 10y agoRight, and that's one of the largest libraries in the world - the definition of an outlier. $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.
- idlewords 10y agoYou asked for examples of librarians running hundred-million dollar projects, and I gave you one. 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.
- GuiA 10y agoThat's a fair point. 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.
- morgante 10y ago> We need a code of ethics for lawyers, with actual teeth (violating it means you can't commercially practice law any more). 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.
- idlewords 10y agoI understand your argument and the difficulties you raise. 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.
- morgante 10y agoYou keep conflating unions and professional organizations. They're not the same thing.
- GuiA 10y agoWe have a professional organization, it's called the ACM. I've been a member of it all of my career, and no employer has ever given a shit. Why isn't it succeeding at doing what you want it to do? 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.
- morgante 10y agoWe need to establish the idea that to work professionally as a software engineer, you must be a member of a professional organization. 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.