Hacker News new | past | comments | ask | show | jobs | submit login

I up voted because your point is relevant.

However, Software development is not a Profession, in the proper use of the term. It is not self-regulating the way Medicine, Engineering, Law, and a few others are.

There is no formal standard of ethical conduct in software for practitioners to use as a baseline for their own behaviour.




Ahem: http://ethics.acm.org/code-of-ethics/software-engineering-co...

>1.03. Approve software only if they have a well-founded belief that it is safe, meets specifications, passes appropriate tests, and does not diminish quality of life, diminish privacy or harm the environment. The ultimate effect of the work should be to the public good.

edit: this version is from 1992. And I should point out my courses at least had a discussion or two regarding programming ethics in college in the mid-2000's.


How is this enforced? What is software development as a field doing to regulate itself and ensure members follow this guide?


I think ethical guidelines by definition are not enforced per se. They're just that, guidelines. However, as mentioned by GP there are boards of ethics at universities and medical/engineering organizations and such that might be able to dole out a modicum of justice.

For instance, not following those guidelines would conceivably end one's membership of the ACM, and many companies have their own ethical guidelines (I would argue there is not much difference between professions for what is truly considered "ethical") which when breached would result in disciplinary action. Theoretically?

Perhaps not in the case of FB...


Exactly. Nothing is done and the code of ethics is not enforced.

Let's say I'm a structural engineer or a lawyer and I act legally but unethically: I can be censured by my professional association/college, because law and engineering are professions and thus are self-regulating.

Can the same be said of software development? Certainly not. The cult of the amateur, self-taught basement coder and the entirety of startup culture are antithetical to professional ethics.


Professional ethics aside, how about plain old personal ethics? Do programmers have a higher incidence of unethical behavior in general than the rest of the population? I agree with you that it seems like there could be a more rigorous professional standard for enforcing ethics in coding/CS, but I like playing devil's advocate.


No idea, but a lot of developers and other tech people suffer from hubris, believing that since their cognitive skills make them effective programmers, they are in turn equally insightful in other domains because all thought depends on logic.

The problem is that it's very easy (and socially acceptable, even desirable) to build elaborate towers of logic on an unexamined premise.


TBH making the ethical choice may not even be the logical one. That's why it helps to have some education on the topic, as it inevitably involves making the less 'obvious' choice.


> I think ethical guidelines by definition are not enforced per se. They're just that, guidelines. However, as mentioned by GP there are boards of ethics at universities and medical/engineering organizations and such that might be able to dole out a modicum of justice.

Might be more than a modicum. If a lawyer or a doctor violates medical ethics, they could get their licenses revoked and be unable to practice their profession legally.


The ACM has certainly tried to keep software development a profession, but yes the industry mostly ignores the ACM and still revels in a cult of amateur programming.


Yeah and how many people adhere to this? Anyone can call themselves a software engineer, and many do despite never having been near an ethics course. Calling for mandatory ethics modules as part of a CS course has been an unpopular opinion here for years :-l


I'm not saying an ethics course makes one a software engineer but it seems like a pretty basic thing to remind students of so they are less likely (however small that chance is reduced) to go out into the world to become unethical wall st style sociopaths...


This is slowly changing. In Texas and Florida, for example, "software engineer" has similar requirements as plain "engineer".


I would suggest that something people theoretically had dim awareness of in the DOS era before many current programmers were even born, doesn't govern how this industry works today.

If it did, we'd have heard from it again in the last 26 years.


> There is no formal standard of ethical conduct in software for practitioners to use as a baseline for their own behaviour.

Such a baseline standard _must_ exist, and _must_ be created. Every applied technology has started out with dreams to "change the world", only to have those dreams shattered by those obsessed with power.

Biology? Biological weapons, nerve agents.

Chemistry? Mustard gas, TNT.

Physics? Nuclear weapons.


Assuming it _must_ exist, how can we enforce it given that anyone with an internet connection can teach themselves how to make software? There is no centralized accrediting board for programmers, and it’s not very feasible to me when there are so many self-taught programmers today.


In some states anyone can take the Bar Exam to be a lawyer. [1] They all still require time in provable apprenticeship/study in exchange.

Michigan doesn't have a degree requirement for the Fundamentals of Engineering exam to work toward being a licensed Professional Engineer. In general, in the past, the NCEES, which runs the FE and PE exams has made degree exceptions for people with appropriate work experience.

It's absolutely feasible to have accrediting standards and bootstrap in all/most of the self-taught programmers today.

The flip side is admitting defeat and proclaiming software development truly is the new blue collar and has no hopes of truly being a profession.

[1] http://www.slate.com/blogs/business_insider/2014/08/02/state...




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: