【翻译】天生如此 —— 关于程序员的刻板印象
作者:Birgitta Böckeler
原文地址: https://martinfowler.com/articles/born-for-it.html
程序员的形象是怎么树立起来的
长期以来程序员以对社交不擅长, 白人男性的形象出现。尽管“技术领域多样性”这一话题热度上升,但数据上并不见好转。相反,越来越多行业内外的人把这一刻板印象视为自然规律,成为让行业更具包容性和吸引力的绊脚石。然而这一形象是从何处产生?难道真的是因为“男孩子更喜欢电脑”,才有了当前的程序员人口特征吗? 是什么在塑造我们对于程序员的认知?我在研究计算机历史后找到了一些可能的解释。
编码员
Nathan Ensmenger是印第安纳大学的一名教授,他专注于计算机的历史性和社会性。 在《电脑男孩的接管》里,他探讨了计算机行业的起源以及程序员最初是如何被招聘和培训的:
计算机专业人士是少有人书写的沉默的大多数。这些大多匿名的工程师,分析师和程序员设计并构造了众多复杂系统,让电脑化社会成为现实。
书的标题便是对计算机行业起源的隐喻:与电脑女孩相关。 编程ENIAC的女性被广泛认为是第一批程序员,ENIAC是最早的电子通用数字计算机之一。那时候还不存在“程序”和“程序员”的概念。这六个女性 (Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth Lichterman) 被雇来“安装”ENIAC以进行 “计算规划”。 她们教导这台机器计算武器的弹道,以供士兵在战场上使用。 在此之前,她们是手动计算这些计划的女性群体中的一员。
位于Mountain View的计算机历史博物馆在其网站上发布了对Jean Bartik(原名Betty Jennings)的采访。这段采访中最让我惊奇的是Jean Bartik提到了第一波程序员在当时已经领会到结对编程的价值,而对这一概念的命名是在50年之后。
"Betty Snyder和我,从一开始就是一对。我相信最好的设计和设计以外的东西都是成对完成的,因为你可以相互批评,找出对方的错误,并从中采用最好的想法。"
—— Jean Bartik
在当时,电脑 “安装” 是一个十分机械化的过程。早期的照片大多展现的是类似于把电缆插入电话交换机板的景象。这项工作因此被视为手工的,机械化的,而不是科学的和智能的。从事这一工作的女性被称为“操作员”, “计算员” 或者 “编码员”。 据Ensmenger说,“编码员” 这一词被紧密地和机械化,手工及女性性别联系起来。即使在20世纪50年代确立了“程序员”这一术语,在接下来的几十年里,“编码员”仍然具有负面的地位和性别内涵,男性程序员试图与之保持距离。
始料未及
要是ENIAC的管理员们知道编程有多复杂,对电子计算机的运作有多重要,他们可能不会那么爽快地让女性来从事这一角色。
—— Jean Bartik
然后计算机革命开始了 —— 硬件不断地改良让很多人为进展和计算的光明未来感到兴奋。 没有人太关注软件。1962年,Stephanie Shirley创建了英国最早的软件初创公司之一,她在一次TED演讲中回顾说,“软件是购买硬件的附赠品,没有人会去买 软件,更不会从一个女人手里买。”
然而软件开发的难度被大大低估了 -- 公司们开始发现编程并不简单。Maurice Wilkes, 一个行业领先的计算机科学家,“带着震惊和沮丧”地意识到“余生大把的时间会花在寻找自己程序中的错误上”。
五十年代和六十年代的媒体也捕捉到了这一点。报道中Mariner 1在探索水星时偏离轨道并被摧毁的原因是该用逗号的一行Fortran代码错用了句号,或是方程中少了一个连字符。这些都市传奇没有事实依据,但增强了一个观念,即编程易错,所以应该只雇用最熟练的程序员。
天生,而不是后天培养
面对一个全新的职业,企业很难定义其所需的技能。在需要优秀的程序员来避免出错的同时,他们对必备的技能没有明确的概念。于是他们开始认为程序员是“天生的”,而编程则是一门“黑魔法”。由于编程还是一项非常独特的活动,几乎每一台计算机的运行方式都不同,面对急剧增长的需求,企业应该如何招聘人才来从事这一职业呢。这就是“软件危机”的开始。
业界的大公司开始采取资质测试的方法。这些测试旨在筛选出对好编程至关重要的特质,比如逻辑思维和抽象推理能力。Nathan Ensmenger的研究发现, 截止1962年,几乎百分之八十的企业在招聘程序员使用了某种形式的资质测试。其中有一半使用IBM PAT,这一程序员资质测试很快成为了行业标准。单1967年就有超过七十万人参与了这一测试, PAT成为了编程行业的敲门砖。
但有的觉得这一测试还不够,部分公司开始通过性格特点来预测哪一类型的人会是快乐的(因此高效的)程序员。SDC, 在五十年代为IBM雇用,参与了当时最大的软件项目之一, 即SAGE项目。1956年,SDC雇有大概700名程序员,占美国程序员总数的五分之三。在此后五年的时间内SDC新招了7000名程序员,他们称自己“培养了整个行业”。
为了更好地识别谁拥有编程资质, 他们委托了两位心理学家,William M Cannon和Dallas K. Perry, 来定义程序员的“职业兴趣衡量表”。据Cannon和Perry于1966年发表的论文显示,程序员的职业兴趣和从事工程学和化学的人员尤其相近,与物理学和数学较远,与音乐人有轻微的联系,除此以外,他们和其他的白领职业颇为相似。
Cannon和Perry还提出程序员具有一个非常显著的特征: 对人不感兴趣。
一个自我实现的预言
让我们回顾一下:
七十万人参与了同一项测试来决定他们是否具有编程的资质。
“培养了整个行业”的公司选择员工的标准之一是“对人不感兴趣”。
Esmenger的结论如下:
“该行业采用的主要选择机制选择了反社交、数学倾向的男性,因此反社交、数学倾向的男性在程序员群体中占比过多;这反过来又强化了普遍的看法,即程序员应该是男性、反社交且数学倾向,如此循环。”
50年后的当下,人们对程序员现存的刻板现象证实了这一观点。我们今天是否仍然期望“真正的程序员”是这样的?或者更糟糕的是,人们会不会觉得任何不符合这一印象的人都不是“真正的程序员”?
即使你不相信Cannon和Perry的论文会产生如此长远深刻的影响,对我来说,它至少是一个引以为戒的故事。不可置信的是,这么多人以为“自然而然”的形象是来源于60年代软件危机催生的一篇心理学论文。
Esmenger为我的疑惑提供了一些线索,解释了作为开发者的我为什么会身处在如此同质化的一个群体中。但那些曾经从事计算机科学的女性呢?她们都去哪了?
“我可能还是太平衡了”
我目前读过的最好的关于计算机领域的女性的书是《解锁俱乐部》。从1995年到1999年,此书的作者Jane Margolis和Allan Fisher在四年间采访了超过100名卡耐基梅隆大学的计算机科学系学生。采访的问题包括,他们为什么选择这一专业,在学习过程中什么激励了他们,什么让他们失去了动力,为什么会选择离开等等。
这些访谈引起了我和其他软件开发者的共鸣,以下是一些摘录
“有的人天生就是干这个的但我不是。这种事情绝对不是靠笨鸟先飞能完成的。”
“你可能得是 ‘电脑可太棒了,无电脑无生活’ 这种人才行吧。很多计算机科学家一辈子就只做这一件事。”
“我活着不是为了编程。我认识的有些人是这样的,至少看起来是。他们在周末的时候除了写代码什么都不做,我不知道他们是怎么做到的。我可能还是太平衡了。”
“你得天生是这块料” 这一主题再次重现。很多接受采访的学生一开始其实对电脑和写代码充满了热情,但在见识到一种远超自己的热情后打了退堂鼓。他们逐渐认为自己不属于,不适合计算机科学。这种现象不止出现在女性身上,但对她们的影响更大,因为她们作为团体中显眼的少数会感到更受人关注,需要证明自己的压力也更大。
“这也太简单了”
另一件让辍学者信心动摇的事是周围的人都比自己懂。Jane Margolis在一段播客里阐述了80年代家用电脑的兴起和女性计算机科学家人数下降的联系。那时的计算机科学开始偏向那些在上大学之前就有家用电脑的人,而有这一特权的群体主要是男性。不止一个人向她说过家用电脑被锁在男性成员的房间里,姐姐和妹妹要先得到他们的允许才能使用。
引用《解锁俱乐部》里一名学生的话:
“我开始失去写代码的兴趣是因为,只要我一坐下来开始编程,身边就有一帮人说,“这也太简单了,你居然花了两天。我五个小时就搞定了。”
书里还描述了这一场景,在欢迎新生的时候,教授们会开一些 “真程序员用C语言”, “傻蛋才用Java”之类的笑话。要想笑出来并感到自己是这一群体中的一员,你得已经接触过这些语言,对它们在产业内的地位有一定了解。你能想象一名医学教授在迎新的时候说 “什么?你居然从来没剖过尸” 吗?然而在计算机科学领域里,学生和教育者都一致认为有先前经验是自然而然的。
在家用电脑完全普及的今天,这种自我筛选还在持续着。
彭博商业周刊的一篇关于霍华德大学黑人计算机科学学生的特写描述了这一现象。其中一名受访学生说,“我在谷歌的时候,反复听到人说,‘我是7岁开始写代码’。然后我心想,好吧我可不是。” 文化匹配是当今招聘最常用的指标之一。尽管官方上的文化匹配是指“活泼,谦虚,尽责”等人格特质, 但我们的偏见或多或少会倚重于对方是不是笑点一样,追一样的剧,这就让文化匹配成为另一个聘用“和我相似的人”的借口。
通过单一模型来识别有潜力的程序员
Margolis和Fisher发现太多人通过极少的事情来判断对计算机的热情。引用一名男高中教师的话,“我还从没碰见过那样的女学生”,他指的是,喜欢电脑到整夜编程的女生。他的一名女性同事指出这一说法是一种错误的假设:“女孩们可能只是以非常不同的方式展示她们对计算机和科学的热爱。”
“如果仅使用一种模型来识别潜在的程序员,我们会错过很多潜在的学生。”
—— 《解锁俱乐部》
假如人们相信和电脑打交道以及编程的潜质是天生的 —— 如果家长,教育者和榜样们都传达着一个非常特定的程序员形象,大多数人甚至都不会发现自己有潜质。(我自己便是在商学院度过无感的两年后才偶然开始学习编程)。
说某某人是天生的程序员还附加了另一层不自觉的滤镜:研究发现儿童们对智力的理解,即是天生的还是通过后天努力形成的,对他们的发展有巨大的影响。 Carol Dweck于2006年发表的论文 《数学是一种天赋吗》描述了他们如何通过传授给高中学生有关大脑运作的知识,来中和了男女学生在数学成绩上的差异。摒弃“天赋决定一切”的想法后,学生们了解到技能是可以被提高的,因为大脑会不断地构建新的联系。这一认识对他们的表现产生了显著的影响,
“许多学生认为刻板形象在微积分课程中仍有所体现。令人欣慰的是,这对认为自己可以提高数学能力的女性几乎没有影响。反之被影响严重的是那些认为数学能力是一种天赋的女性。”
—— Carol Dweck,《数学是一种天赋?论置女性于不利的一些观念》
我们能做点什么
这些看似很微小的,无害的,但是日常的言行随着时间积累,成为过去五十年不良循环的燃料。
Erica Joy Baker的博客 《多元化的另一面》讲述了她作为一名有色女性在信息技术产业的历程。长年在同质化环境作为少数群体的一员,你会永远像一个“异类”一样显眼。你会无意识地去改变自己的身份来适应环境并从而失去自己的一部分。
那么你脑海里的“职业兴趣衡量表”是什么样的呢?这对你在面试和聘用程序员时采用的方式有什么影响?你如何对别人描述自己的工作?我们又是如何在日复一日地帮助传播程序员的刻板印象?
我们可以从以下几点着手,开始平衡自己和他人心中的那杆秤。
小心“志同道合”的偏见
我曾经在想为什么这么多程序员,包含我自己在内都喜欢科幻和奇幻小说,难道这和编程有什么联系?现在我开始觉得,其实根本没有联系,这只是我们在招聘和自己相似的人罢了。
不要认为现状是“理所当然的”。也不要让几个60年代的男人决定我们是谁,让我们打破雇佣自己的循环。
别表现得那么惊讶
每当你听到自己或者别人说,“你不像个程序员啊”, 或者 “你居然不知道 xxx ?!” 之类的话时,立刻停下来。你的无心之言对方可能已听过不下500次,成为让他们觉得自己不属于这一领域的最后一根稻草。这样的言论被称为“微侵略”。微侵略很微小,单独看起来不具有侵略性,但假如它们每周都出现就会有显著的累积效应。
挑战“真正的程序员”这一形象
最后,挑战你们心中的职业兴趣标尺,摈弃“只有时刻都在编程的人才会成为优秀的程序员”之类的观念。事实是,花上再多的时间你也不可能掌握所有事情,尤其是作为一名“全栈开发师”。 我刚开始写程序的时候只需要学习编写,测试和构建Java代码,其他的技能则是长年累月逐渐增加的。而今天的初学者往往需要一下子面对所有挑战:不只是开发,还有运维,微服务,精益,写好测试等等。要掌握这一切确实只有靠魔法,然而魔法并不存在,所以唯一的途径是在团队中互补,结对,不要让你的队友掉队。
多样性至上
过去三年内我同事过的女程序员比十年前加起来的总数还多。我从没想过自己会介意在男性为主导的团体中工作,但现在的我绝对不想回到那个状态。具体原因我会另谈,但如果你还没有在一个多元化的团队中工作过,我只想说这种团队是存在的,值得追求的。