I can agree, and I can disagree. I definitely wouldn't compare software engineering to medicine; rather, I see a more apt analogy in, actually, _engineering_ – whereas designing a firearm is just as noble and ethical
Software is eating the world, good and bad, and our role as a profession is to help make the transition of the entire society, altruistic and greedy, charitable and fraudulent, to the highly automated mode of being. After this, it's everyone's individual karma vector's job to guide us in more or less ethical way of conducting ourself professionally.
On your first point, I agree, the medical comparison did not come across as well as I hoped. The intent with "branching out" past engineering in the text was to highlight Software Engineering as a profession with ethical responsibilities. Engineering is a closer comparison - but medicine or journalism is much more mature in how they think about ethics, in my opinion. Engineering disciplines are apt to think of the toolmakers dilemma as solved by delegating responsibility to the user.
Which gets to your second paragraph which, while I really like how you've worded it, I disagree in the general case. Yes, we should build technology that is unbiased and pliable. But I think the example of TCP/IP or HTTPS illustrate that that is too simplistic. We are responsible for building technology that answers to its users, and highlights or removes the ability for users to be abused when interacting with it.
This can certainly be boiled to “when engineering a product, be thoughtful of how it can be (ab)used – if it can be, it will be”. Which is obviously a great advice from any perspective.
Comments
I can agree, and I can disagree. I definitely wouldn't compare software engineering to medicine; rather, I see a more apt analogy in, actually, _engineering_ – whereas designing a firearm is just as noble and ethical
Software is eating the world, good and bad, and our role as a profession is to help make the transition of the entire society, altruistic and greedy, charitable and fraudulent, to the highly automated mode of being. After this, it's everyone's individual karma vector's job to guide us in more or less ethical way of conducting ourself professionally.
On your first point, I agree, the medical comparison did not come across as well as I hoped. The intent with "branching out" past engineering in the text was to highlight Software Engineering as a profession with ethical responsibilities. Engineering is a closer comparison - but medicine or journalism is much more mature in how they think about ethics, in my opinion. Engineering disciplines are apt to think of the toolmakers dilemma as solved by delegating responsibility to the user.
Which gets to your second paragraph which, while I really like how you've worded it, I disagree in the general case. Yes, we should build technology that is unbiased and pliable. But I think the example of TCP/IP or HTTPS illustrate that that is too simplistic. We are responsible for building technology that answers to its users, and highlights or removes the ability for users to be abused when interacting with it.
This can certainly be boiled to “when engineering a product, be thoughtful of how it can be (ab)used – if it can be, it will be”. Which is obviously a great advice from any perspective.
are you familiar with Michael O Church? https://michaelochurch.wordpress.com/2012/11/18/programmers-...