5 ms·
In the same vein is why I advocate for "Software Engineering" being brought into the realm of other engineers and having the status protected so people who call
by TheCapn 11y ago
In the same vein is why I advocate for "Software Engineering" being brought into the realm of other engineers and having the status protected so people who call themselves engineers are held to the ethics and governing regulations that all engineers are.
Holding the P.Eng. designation myself I would be liable to lose my license had I published this software, I really hope we can reach a point in our profession where a higher standard of care to public and environnment is not only expected, but enforced.
- sbov 11y agoI see this a lot. And I generally agree. However... For software it's hard to see where to draw the line. For other engineering disciplines this can be pretty easy. I can release a little mechanical toy and not be an engineer. The public won't try to use it to drive around town. But if I make a pet software project millions of people might decide to use it to "drive around town", and some portion will hurt themselves. I think that if you build stuff for certain things (such as 1 ton objects zooming around at 70+ miles per hour), it's obvious. But what about financial software? What about social networks (privacy issues)? When I first started programming I built a D&D utility for a friend. He passed it to his friends. Soon around 10 of them used it. If it had a serious bug, should I have been prosecuted? Should I have been unable to build it for him in the first place? If you say all of this activity should be restricted, how do you get from here to there? Some of the best "software engineers" in the world aren't technically software engineers.
- ams6110 11y agoSoftware you write for fun or to pass around to friends would (should) have the standard disclaimer of implied warranty of suitability. Software developed to control an automotive emissions system by a manufacturer and in the context of being used for that purpose would not be able to escape that.
- krschultz 11y agoThis is a very common counter argument to software engineering as a discipline. > But if I make a pet software project millions of people might decide to use it to "drive around town", and some portion will hurt themselves. That is a legitimately unique aspect of software and deserves consideration. > I think that if you build stuff for certain things (such as 1 ton objects zooming around at 70+ miles per hour), it's obvious. But what about financial software? What about social networks (privacy issues)? Likely some portions of the system matter and some don't. Which ones likely require engineering judgement. For physical products it's pretty easy to make that call for a paper weight and for an airplane, but all the products in between need that decision. We are generally building software systems that are about as complex as a Black & Decker power drill. When designing something like that you need to make damn well sure you are not electrocuting the user, but if the gears break and it doesn't function you aren't hurting anyone. Therefore most drills are 'double insulated', but there is no backup for the actual function. In software we should make that same call. What is the consequence of failure? If it's small then we live with it. If it's not, then we should build a fail safe / backup system. I'm super in favor of software engineering licensing and all that it entails, but I do think large swathes of software are completely immune because failure has no consequences. Your D&D utility is an example. Most open source licenses rightly have a clause that should protect them from civil lawsuits, much less prosecution.
- sbov 11y ago> Likely some portions of the system matter and some don't. ....... but I do think large swathes of software are completely immune because failure has no consequences This is where software seems unique - this seems false to me. A common failure mode of software is code execution, which has nearly unlimited consequences. E.g. my D&D utility could read and write files. But it might have a bug in the file reading code (Edit: or anywhere in the code), which someone could exploit with a properly crafted file to gain access to the user's computer. But you said this utility was immune to failure. It seems clear to me that it isn't. There is no physical object analogy here that makes sense to me. It would be like - if you used your black and decker drill on a piece of wood someone gave you, it could electrocute you if there were a flaw in the drill bit. Or it could turn off your refrigerator. Or it could play a song to you. This makes no sense, but this is the world software lives in. Edit: or do you mean no physical consequences, so only software controlling physical devices require the proper licensing?
- krschultz 11y agoI was thinking more physical consequences. There's no way that a program running on my desktop can hurt me other than privacy / security / availability of my data. But I'm not going to the hospital because your D&D utility was written in a weekend and crashes sometimes. But you do raise a point about the real costs of mistakes even in trivial systems. Arguably that makes the point that operating systems should have stronger sandboxes between apps. An operating system is effectively infrastructure, you probably want higher quality standards there.
- chroma 11y agoScott Alexander (of slatestarcodex) once wrote about medical ethics[1]: > Listen up, this will be on the test. You need to help patients, not hurt them. You need to be responsible. Try to avoid being irresponsible. Try to act professionally, and to be a positive asset to society. Don't abuse nurses. If someone asks you do to something unethical, tell them you won't. Did I mention you need to help patients, and not hurt them? > If reading that paragraph seemed like a waste of your time, imagine how I feel after attending the three hour lecture version. Engineering ethics would be a similar waste of time. Good people don't need courses to know that cheating emissions tests is wrong. Bad people won't be swayed by a three hour lecture. Here's an idea that would be more effective at reducing future harmful software: Run git/svn/hg blame to see who wrote the emissions-dodging code. Then arrest those people and charge them with crimes. 1. Against medical ethics http://squid314.livejournal.com/285785.html http://squid314.livejournal.com/285785.html
- SilasX 11y agoThat's sounds like an argument against "The problem here is people not knowing what's ethical." And accomplishes it, because the problem pretty clearly isn't that. But the point still stands, that there should be some coordination among programmers to ensure that e.g. when someone is asked to do this, they have a group to fall back on, who's willing to help him/her out and boycott this employer.
- ams6110 11y agoIf you don't have the spine to say "no, that's wrong, I won't do it" as a software engineer then I'm not sure a group is going to help you out. Software engineers who are any good at all can find work easily. They are among the last people who should feel held hostage by a job. If your personal ethics are not enough, I don't see how a group will help.
- x0x0 11y agoSure, if you're a teenager or 23 year old who shares an apartment and has no dependents and no debt. Try that attitude on for size if you have a family that depends on your income, or you live in a city that isn't a tech hotspot, or you or your spouse or children have medical issues and depend on your medical insurance. You can't pay the rent or mortgage with ethics. There's lots of towns even in America where there are only a handful of high tech employers so no, you don't have alternatives. Unless you consider moving, which can easily cost $15k in moving costs and tens to hundreds of thousands of dollars in housing costs to be free. Not to mention the disruption to friends, family, and social networks caused by moving. Or care arrangements -- grandparents babysitting is close to free; daycare can easily be $400/week/child (or $600/week/child for under 2 y/o) in sf.
- logn 11y agoI tend to think that our society should move in the other direction. I see the need for college degrees and certifications as a form of caste system which limits upward mobility and increases cost of living. I would like to see education and certification added to the list of qualities on which you're not allowed to discriminate (like race/creed/etc already are). I think the VW case can be partially solved by handing out indictments to everyone involved, CEO down to engineer. Working in a corporation does not excuse criminal behavior. Similarly, I don't think making Financial Engineer a thing would do anything to head off the next financial collapse and reign in excessive risk taking on the part of the banks.
- superuser2 11y agoEducation only resembles a caste system because its availability is heritable. The quality of public education depends on the income characteristics of the geographical location you're born into; the quality of higher education depends on the disposable income of your parents (except at the most elite schools with full need-based scholarships for middle-class students). I'd rather see us abandon the bizarre notion that education is in any way a parental or local responsibility. It should be federally controlled with uniform quality for every student and differentiations that make sense (on natural talent, effort, and specializations chosen) rather than those based on parentage. Good education gives you a better understanding of what you're doing and the context of the world, people, and systems you're doing it to. Of course it makes a difference, and it should be available to everyone.
- krschultz 11y agoIt's not discrimination if you can change it. The difference between someone with a college degree and without is the work they put in. That seems like a pretty reasonable thing to base a hiring decision on. Your suggestion is like saying 'you shouldn't be able to discriminate based on work experience'. The difference is college is 4 years of reading books and taking tests vs 4 years of writing code. You can argue which one is more valuable / relevant / useful, but they're just different kinds of experience. Not allowing that in a hiring decision is flat out unworkable.
- 11y ago
- pjmlp 11y agoWe have it in Portugal. http://www.ordemengenheiros.pt/en/about-us/colleges-and-fields-of-expertise/informatica/ http://www.ordemengenheiros.pt/en/about-us/colleges-and-fiel... However, since the law doesn't require informatics to be inscribed for daily work, most don't.