我們作為軟件工程師要擔負的責任
英文原文: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
譯文: 《我們作為軟件工程師要擔負的責任 》 臘八粥