本周早些时候,, 程序员兼教师的 Bill Sourour 写的一篇文章点击率暴增。这篇文章的标题是 “我仍以为耻的代码”。
在这篇文章中,他详细描述了自己年轻时在制药厂任职程序员,为制药厂开发网站的可怕故事。该文值得一读,不过最终结果是他被公司哄骗着绕过药品广告法来说服年轻女性服用特定药物。
不久之后他发现此药会加剧抑郁,而且已经有至少一名年轻女性服用后自杀。他发现他的妹妹也在服用该药后警告她停止服用。
他这样对 Business Insider 说道,尽管几十年过去了,他对此仍心怀愧疚。在看过 Robert Martin 的 名为 “The Future of Programming” 的演讲后,他倍受鼓舞,才决定将此事写下。Martin 在他的程序员圈子里很出名,而他 “Uncle Bob” 的名字更广为人知。
软件工程师“杀人不见血”
Martin 在那次演讲中的主题是软件工程师最好知道如何快速自我管理。
“让我们来决定作为程序员的意义”,Martin 在视频中说到,“文明社会依赖于我们,但人们目前还并不理解这个。”
他的观点是在当今世界,我们所做的一切如购物、通话、开车、飞行都用到了软件。而且已经有很多人 已经因车载软件的错误而丧命,更有成百上千人在乘机途中 因软件错误而死。
“我们在杀人”,Martin 说。“(尽管)我们不是亲自下的手,但这只会更糟”。
他指出“有迹象表明” 开发者在未来几年将面对越来越多的大问题。他引用了大众美国区首席执行官 Michael Horn 在国会听证会时的发言,Michael Horn 一开始将排放门丑闻归咎于程序员,宣称程序员“不知出于何理由”自作主张。Horn 在 公司受到检察机关指控 该决定为高层决策并且试图隐瞒真相 不久之后引咎辞职。
"Uncle" Bob Martin YouTube/Expert Talks Mobile
但 Martin 指出,“奇怪的是,写代码的是程序员,是我们。是一些程序员写下了那些欺骗的代码(排放门代码)。你觉得他们是否知情呢?我想他们应该是知道的。”
Martin 以一个地狱般的预言作为结束,他警告说,未来某天,一些程序员可能会写出导致千万人遇害的灾难性代码。
但 Sourour 指出这不仅是意外杀人或故意造成空气污染那么简单。华尔街的公司早就用软件来操纵 股市。
“没有问题代码(shady code)就不会有假订单”,Sourour 说到。
程序员的忏悔
Sourour “深以为耻”的文章在 Hacker News 和 Reddit 上如病毒般传播开来,并引起了一长串程序员对被迫做出的不道德甚至非法的事情的忏悔。
其中一个人 写下了 为公司工作时将人们加入他们的时事通讯电子邮件订阅列表中,即使是那些人已经退订的情况下(可能违法了联邦法律)。程序员们为公司的销售写下了精准定位的脚本。当他问公司的 CTO 这是否不道德时,只收到了滚蛋的回复。而如今,他说,同样的程序员们“在创业公司挖掘极大量的位置数据。”
YouTube/"Uncle" Bob Martin - "The Future of Programming"
另一个程序员是为收音机设备写代码的,他 被老板要求 使用紧急服务频道,只因为这会让设备工作快一点。“(这是)非法的加速(手段),而且阻碍了紧急通讯”,他说。尽管他拒绝了这个要求,但他说到“总有工程师愿意”简单地按要求办事。
还有一个人说 在实习期间,他接手了从竞争对手网站复制来的代码,并老板被要求以此为基础“给投资者写个样品出来”。他感觉像是被要求欺骗投资者一样。
又有人 讲了这样一个故事 ,他被要求修改一些经济数据备份并用这些备份恢复之后重新运行年终报告(程序)。他拒绝了上级的要求。“(我)仿佛看到了几年后他们因逃税而锒铛入狱(的场景)”。
最后一个例子 ,这个人最近被要求做一个针对儿童的以基地建造和资源管理为幌子的变相赌博游戏”……“我现在已经不在那里工作了”。
没有职业准则培训的培训班
上面所有故事的共同点是如果程序员对要求说不,公司会马上找其他人来做这事。这可能不假,但只是个借口,Martin 指出。
“我们是世界掌控者”,他说,“尽管我们还不知道。其他人相信他们掌控世界,但他们写下规则后交由我们完成。而我们才是将其在机器中实现的人。"
同时他警告道,如果程序员再不开始自我规范,那么在那个有千万人受难的末日预言成真以后,立法者将会帮他们实现(自我规范),上至支配他们的一切工作内容,下到限制他们所能够使用的编程语言。
最明了的解决方案是开设伦理学课程。并强制每一个四年制计算机科学学生学习。该课程的“圣经”是 Sasa Baase 的 《火的礼物:人类与计算技术的终极博弈》
Bill Sourour Twitter/Bill Sourour
“不幸的是,如今许多程序员都是自学或者在‘培训班’学习的”,Sourour 说。
“(培训班里)几乎没有任何伦理学教学,它们(只是)以快速培养拥有市场所需技能的程序员为重点”,他补充道。
Sourour 呼吁所有培训班和在线教学网站“开始讨论与代码伴随而来的责任”。
但 Martin 和 Sourour 都相信,程序员们真正需要的是一个像其他行业一样的,可以管理和规范他们职业生涯的的组织。目前没有与之相似的,尽管 (美国)计算机协会 和 IEEE 都已经开始起步,有了一些道德准则文档和某种程度上的训练。