本文讲述了一段并不违法,但是违背了作者自己内心道德准则的开发经历。作为开发人员,有时需要做出一定的权衡,正如作者本人所说,我们通常是防范潜在危险和不道德行为的最后防线。
让我至今仍引以为耻的编程经历
如果你以编程为生,那么在职业生涯中可能会遇到某些人,要求你写些骗人的、不道德的代码。
在 2000 年的时候,我身上就发生过这种事。这件事我永远都忘不了。
我在 6 岁的时候就开始了自己的第一行代码。但我并不是个神童,当时我爸爸帮了我很多忙。但自从那时起我就迷上了编程。我 15 岁时,在我爸爸的咨询公司做兼职,在周末和暑假给业务应用写些网站和小组件。我得到的报酬少得可怜。但就像我爸爸现在仍挂在嘴边的,我得到了免费的住所和非常宝贵的工作经验。之后我通过一些自由职业的编程工作,比如给当地的小公司写几个早期的电子商务网站,来设法储备自己的技术知识。
21岁时,我在加拿大多伦多的一家互动营销公司开始全职工作。这家公司由一位医学博士创办,许多客户都是大型的医药公司。加拿大对医药公司怎样向消费者宣传处方药有很多严格的限制。
因此,这些公司建的网站会先对旗下药物针对的症状给出总说明,然后若访问者能够证明自己有处方,那么就可以进入患者门户网站查看药物的具体信息。
分配给我的一个项目中有一款针对女性的药物。网站的图表和整体风格表明客户是想要特别针对年轻女孩的。这个网站的一个特点是有个小测试题,问女孩们一系列的问题(quiz),然后根据她们的答案推荐一款药物。注意,这个网站是个总说明性的网站,不是某一特定药物的广告。
当我接到需求时,客户给出了测试题以及每个问题的几个答案选项。但是需求中并没有说明在测试完成后怎样处理答案。那么决定测试推荐什么疗法的规则是什么呢?
我把这个问题和客户经理说了,她给客户发邮件询问后给了我相应的需求。拿着这份需求我开始编写小测试的代码。在网站提交给客户前,我的项目经理决定先试试网站。她试了试测试题,然后走到我的桌子前:
她说:“测试题有问题吧。”
我问:“怎么了?”
“好像无论我答什么,测试题都会把客户的药推荐为最佳的治疗方式。除非我说我对它过敏或已经在服用这款药物了。”
“没错,需求就是这么要求的。最后都会推荐客户的药。”
“好吧。”
之后她离开了。
我得说,当我第一次看到这些需求时我也觉得很迷惑。在编写基本上就是故意欺骗女孩的代码时,我也觉得不太好。但实际上我那时并没想太多。只是有项工作要完成,而我做完了。
我们做的事情并不违法。作为我们团队最年轻的程序员,就年纪来讲,我挣得挺多的。最后,我明白了这个网站的目的就是推广某款药物。所以,我把这种手段看成是“营销”。
客户对网站很满意,甚至他们代表请我和整个团队去吃了顿昂贵的牛排晚餐。吃饭那天,在我离开办公室前,一个同事给我发了条网上新闻报道的链接,是关于一个女孩服用了这个网站推广的药物的。她自杀了。
原来那款药物的主要副作用之一是重度抑郁症和自杀倾向。给我发邮件的那个同事没有出席当天的饭局。我还是去了,我感到艰难、尴尬。我自始至终没有提新闻的事,只是静静地吃着我的牛排,强颜欢笑。
第二天,我给妹妹打了电话,她当时19岁。进行项目时我们发现,她的药方中就有那个网站推广的那款药物。第一次谈起时,我们以为这纯属巧合。现在我们谈话的氛围截然不同。我建议她尽快的停用那款药。谢天谢地,她听进去了。
我有无数方法在之后的自杀和重度抑郁症事件中给自己脱罪。直到今天还有之前的患者仍在起诉。要辩解我在此事中根本没有参与很容易。但是我从不认为编写了那段代码是正确的。
那顿晚餐后没多久,我辞职了。作为程序员,我们通常是对抗潜在危险和不道德业务最后防线的一员。
软件会开车将一家人送去足球场,我们正向着这样的时代迈进。帮助医生确诊的 AI 程序已经面世了。不难想象它们不久也会推荐处方药。软件越渗透我们生活的方方面面,程序员表明立场、保证代码中的伦理标准就越重要。
那天起,我写代码前总会反复思考这样写会产生什么样的影响。我希望你也这样。如果你和我一样相信,程序员不只是和语法与算法打交道,那就把本文扩散出去,让更多的人看到。(南京HTML5培训http://h5.thinksite.cn/)