我們作為軟體工程師要擔負的責任

TP_funny發表於2015-05-28

本週我有幸和非常優秀的 Kate Heddleston 在一起,她提到她最近就軟體工程師的倫理做了大量思考,她在 PyCon Sweden 大會上只談了一部分。這讓我想起了若干年前我寫的一篇文章,當時我提到:
有一種持續且驚人地傳播開來的錯覺,說技術多多少少是中立的,道德方面的決定是為其他人做出的。但這不是真實的。Lessig 教會了我(和一代技術專家),程式碼即法律【注1】
[…]
在 2008 年,世界背叛了銀行家,因為很多收益通過在快速增長領域(金融工具【注2】)擴充他們的專長,這是建立在甚至連基本概念(可調利率抵押貸款)都不清楚的其他人之上的。我們軟體工程師還需要多長時間,才能在類似位置找到我們的專長?做為和其它領域專家一樣的、本領域專家,我們的責任是指導其他人為他們做出最好的決定,那麼我們還要使我們自己逃避這個責任到什麼時候呢?
好吧,我認為是時候了。
每個人都使用軟體,但是極少有人理解它。對於小部分精英團體十分明顯的東東,卻完全讓世界上大部分人感到模糊。這個缺口對我們這些軟體工程精英而言,是非常非常難以看到的。舉幾個例子:
  • Radiolab Podcast 網站釋出了一個不錯的視訊——《Trust Engineers》——視訊裡討論了 Facebook 運作其訊息來源【注3】的實驗情況。對於非工程師而言,為人們提供每日資訊的演算法,受到一群活生生的人的、太多的控制,意識到這一點,會產生一種難以置信的、辜負了信任的感覺。(就此而言,對於那些習慣於和審查委員會打交道的研究人員來說,對於 Facebook 的所作所為也是完全震驚的。)對於大部分工程師、包括 Facebook 相當一部分優秀的、有倫理的人們在內,“這甚至算得上問題”本身就是讓人驚奇的。
  • 多年前,一個朋友的朋友,他正好是世界知名的內科醫生和科研人員,他問我:“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


譯文:《我們作為軟體工程師要擔負的責任 》 臘八粥
英文原文:the responsibility we have as software engineers
來自:部落格園
相關閱讀
評論(1)

相關文章