我们作为软件工程师要担负的责任

fff8 9年前

英文原文:the responsibility we have as software engineers

本周我有幸和非常优秀的 Kate Heddleston 在一起,她提到她最近就软件工程师的伦理做了大量思考,她在 PyCon Sweden 大会上只谈了一部分。这让我想起了若干年前我写的一篇文章,当时我提到:

有一种持续且惊人地传播开来的错觉,说技术多多少少是中立的,道德方面的决定是为其他人做出的。但这不是真实的。Lessig 教会了我(和一代技术专家),代码即法律【注1】

[…]

在 2008 年,世界背叛了银行家,因为很多收益通过在快速增长领域(金融工具【注2】)拓展他们的专长,这是建立在甚至连基本概念(可调利率抵押贷款)都不清楚的其 他人之上的。我们软件工程师还需要多长时间,才能在类似位置找到我们的专长?做为和其它领域专家一样的、本领域专家,我们的责任是指导其他人为他们做出最 好的决定,那么我们还要使我们自己逃避这个责任到什么时候呢?

好吧,我认为是时候了。

每个人都使用软件,但是极少有人理解它。对于小部分精英团体十分明显的东东,却完全让世界上大部分人感到模糊。这个缺口对我们这些软件工程精英而言,是非常非常难以看到的。举几个例子:

  • Radiolab Podcast 网站发布了一个不错的视频——《Trust Engineers》——视频里讨论了 非死book 运作其消息来源【注3】的实验情况。 对于非工程师而言,为人们提供每日信息的算法,受到一群活生生的人的、太多的控制,意识到这一点,会产生一种难以置信的、辜负了信任的感觉。(就此而言, 对于那些习惯于和审查委员会打交道的研究人员来说,对于 非死book 的所作所为也是完全震惊的。)对于大部分工程师、包括 非死book 相当一部分优秀的、有伦理的人们在内,“这甚至算得上问题”本身就是让人惊奇的。
  • 多年前,一个朋友的朋友,他正好是世界知名的内科医生和科研人员,他问我:“Ben,工作中的系统管理员能够阅读我的电子邮件吗?即使他们没有我 的密码?”答案是太对了。这对于我们工程师而言,是再明显不过了,以致于我们甚至不会去思考。对于非工程师、甚至是相当聪明的人来说,这绝对是不明显的。
  • 一个好朋友,又一个聪明人,正在和他的小孩子讨论一些事情,我无意中听到一句话“如果你不知道,就问计算机,计算机知道、而且它总是对的。”我该如何是好?

我们软件工程师拥有大部分远远无法理解的超级力量。寄希望于我们的信任社会成长如此之快,以致于看起来稍微类似的唯一地方在于,信任寄托在医生 身上。除非,大部分人对他们寄托在医生身上的信任有着深入了解,然而他们几乎不清楚,每次他们安装一个 app、输入一些个人数据、或者在私密电子沟通中分享私密想法时,他们正在信任一组软件工程师,而这些工程师对于道德指导方针的形式知之甚少。

我们的希波克拉底誓词【注4】在哪里,我们的“首先,不伤害人?”在哪里?

就我自己的工作,我试着努力思考这个事情,我尽量和我指导以及打交道的每个工程师分享这种责任感。我仍然没有这个核心问题的最佳答案。然而,对于我们来说,弄清这一点正变得越来越急迫和重要。


  • 注1:框架的威力就在这里,这就是设计师可以决定什么被允许、什么本质上要禁止。如果设计师不想让某些东西发生,那么神奇的函数调用将从 API 中消失。如果设计师喜欢这种想法,那么通常会有多个函数调用以及许多支持工具。这就是哈弗法学院教授 Larry Lessig 为什么喜欢说“代码即法律”的原因。http://www.labazhou.net/2015/04/7-reasons-why-frameworks-are-the-new-programming-languages/,还可以参考 http://en.wikipedia.org/wiki/Lawrence_Lessig#.22Code_is_law.22
  • 注2:金融工具(英语:Financial instruments)是合约,在金融市场令合约的贷方持有成为资产,而令借方持有成为负债人,例如债券、股票、期权、对冲基金、存款证书等都如是,按 照国际财务报告准则第 39 号的定义。 差别只在其合约的具体条款及性质归类,利息的支付期、保本、可换股票、现金流等之不同。http://zh.wikipedia.org/wiki/%E9%87%91%E8%9E%8D%E5%95%86%E5%93%81
  • 注3:消息来源(英语:web feed、news feed、syndicated feed 又译为源料、馈送、信息提供、供稿、摘要、源、新闻订阅、网源)是一种数据格式,网站可通过它将最新信息传播给用户,用户能够订阅网站的先决条件是网站可 提供持续更新的信息。消息来源受到博客及新闻网站的广泛采用,因为此类型的网站经常更新内容。http://zh.wikipedia.org/wiki/%E6%B6%88%E6%81%AF%E4%BE%86%E6%BA%90
  • 注4:希波克拉底誓词,俗称医师誓词,是西方医生传统上行医前的誓言,希波克拉底乃古希腊医者,被誉为西方“医学之父”,在希波克拉底所立的这份誓词中,列出了一些特定的伦理上的规范。http://zh.wikipedia.org/wiki/%E5%B8%8C%E6%B3%A2%E5%85%8B%E6%8B%89%E5%BA%95%E8%AA%93%E8%A9%9E

译文: 《我们作为软件工程师要担负的责任 》 腊八粥