天生注定

软件开发人员形象的由来

社会不善交际、白人、男性程序员的刻板印象已经存在很长时间了。尽管“科技领域的多样性”是一个被广泛讨论的话题,但数字并没有变得更好。相反,许多IT行业内外的人仍然认为这种刻板印象是自然规范,这种看法是阻碍我们使该行业更具包容性和吸引力的因素之一。那么这种形象从何而来?世界程序员人口的构成真的是自然演变的,因为“男孩就是比女孩更喜欢电脑”?是什么塑造了我们对程序员的看法?本文探讨了我在阅读计算史时发现的一些可能的解释。

2016年4月20日



程序员

Nathan Ensmenger是印第安纳大学的一名教授,他专门研究计算的社会和历史方面。在他的著作“计算机男孩接管”中,他探讨了我们行业的起源,以及程序员最初是如何被雇佣和培训的

关于计算机专家的沉默多数,即那些设计和构建复杂系统的大量匿名工程师、分析师和程序员,他们使我们日益计算机化的社会成为可能,迄今为止还没有多少文字记载。

这本书的标题指的是这一切的起源:“计算机女孩”。被认为是第一批程序员的女性,她们为ENIAC(第一台电子通用数字计算机)编写程序。当时,“程序员”这个词,或者程序的概念,甚至还没有出现。这六位女性(Kay McNulty、Betty Jennings、Betty Snyder、Marlyn Wescoff、Fran Bilas和Ruth Lichterman)被雇佣来“设置”ENIAC以执行“计算计划”。更具体地说,她们是在教机器计算武器弹道,供战场上的士兵使用。ENIAC女性是从现有的女性群体中招募来的,这些女性此前一直在手动计算这些计划。

位于山景城的计算机历史博物馆在其网站上有一个对Jean Bartik的采访(以前是Betty Jennings),该采访提供了对Jean和她的同事如何处理这项任务的见解。对我来说最吸引人的是,Jean Bartik描述了这些最早的程序员是如何已经认识到结对编程的价值的,这是一个概念花了50多年(以及Kent Beck的著作“极限编程”)才得到认可的

“Betty Snyder和我从一开始就是一对。我相信最好的设计和所有这些东西都是由一对完成的,因为你可以互相批评,发现彼此的错误,并使用最好的想法。”

-- Jean Bartik

当然,当时的计算机“设置”是一个非常机械的过程,那些早期的照片显示了它与将电缆插入电话交换机有多么相似。因此,这项工作被视为手工艺和机械,而不是科学和智力。这些女性被称为“操作员”、“计算机”或“编码员”。据Ensmenger说,“编码员”这个词与机械或手工劳动以及女性性别联系在一起。即使在“程序员”这个词在1950年代确立之后,在接下来的几十年里,“编码员”仍然具有负面的地位和性别含义,男性程序员试图与之保持距离。

无人预料

如果ENIAC的管理人员知道编程对于电子计算机的运行将是多么关键,以及它将变得多么复杂,他们可能在将如此重要的角色交给女性方面会更加犹豫。

-- Jean Bartik

因此,计算机革命开始了——硬件不断改进,许多人对计算的进步和光明未来感到兴奋。但实际上还没有人真正关注软件。Stephanie Shirley在1962年创办了英国最早的软件初创公司之一,她在这个TED演讲中回顾道:“当时软件是免费赠送的,没有人会购买软件。当然不会从一个女人那里购买。”

但事实证明,软件开发的挑战被严重低估了——他们发现编程很难。Maurice Wilkes是一位开拓性的英国计算机科学家,当时他“震惊和沮丧地”意识到,“他余生的很大一部分将花费在寻找自己程序中的错误”。

50年代和60年代的媒体也注意到了这一点。新闻中有关于金星探测器“水手1号”的故事,它偏离了航线,不得不被摧毁。关于这次失败的都市传说包括一个关于Fortran语句中“.”而不是“,”,或者方程式中“缺少连字符”的故事。没有证据表明Fortran被用于探测器的编程,但这些故事强化了这样一种观点,即只有最熟练的程序员应该被雇佣,因为编程很容易出错。

天生,而非造就

对于公司来说,很难弄清楚这个全新的职业需要什么技能。他们需要程序员非常优秀,因为他们对错误感到恐慌。与此同时,他们对必要的技能组合没有具体的想法。公司开始认为程序员必须是“天生,而非造就”,编程是一种“黑魔法”。这源于当时编程是一种非常个性化的活动,几乎每台计算机的操作方式都不同。当需求迅速增加时,你如何为这样的职业招募人才?“软件危机”开始了。

当时,行业中的大公司采取的一种方法是使用能力测试来识别和招募程序员。这些测试旨在筛选出被认为对良好编程至关重要的特质,例如逻辑思维和抽象推理。根据Nathan Ensmenger的研究,到1962年,估计80%的企业在雇用程序员时使用某种形式的能力测试。其中一半使用了IBM PAT(程序员能力测试),它将成为行业标准工具。仅在1967年,PAT就对超过700,000人进行了测试,它基本上是进入编程职业的大门。 [1]

但对于一些公司来说,这些能力测试还不够,他们还在试图找到个性特征来预测哪种类型的人更有可能成为快乐(因此有效)的程序员。其中一家公司是SDC,它在50年代被IBM雇佣来参与当时最大的软件项目之一,即SAGE。1956年,SDC雇佣了约700名程序员,约占当时美国可用程序员的五分之三。仅仅5年后,他们又雇佣了7000多人。他们说自己“培训了整个行业”。

为了在招聘过程中更好地识别具有良好编程能力的人,他们委托两位心理学家William M. Cannon和Dallas K. Perry为程序员定义一个“职业兴趣量表”。他们的论文发表在1966年,显示出与工程和化学的职业特征类似。它与物理或数学并不特别接近,与音乐家有一点相关性,否则与其他白领工作非常相似。

Cannon和Perry只得出了一个真正引人注目的特征,他们将其归因于程序员:对人的不感兴趣。

自我实现的预言

让我们回顾一下

700,000人参加了同一项测试,以确定他们是否能够成为合格的程序员。

“培训了整个行业”的公司根据一个模板来选择员工,该模板包括“对人的不感兴趣”。

Ensmenger的结论

行业使用的主要选择机制选择了反社会、数学倾向的男性,因此反社会、数学倾向的男性在程序员群体中被过度代表;这反过来又强化了人们普遍认为程序员应该是男性、反社会和数学倾向的看法,等等。

-- “计算机男孩接管”

如果你看看50年后的今天,典型程序员的刻板印象是什么,他提出了一个非常有说服力的观点。我们是否仍然期望“真正的程序员”是这样的?更糟糕的是,反过来,我们是否怀疑不符合这种形象的人不是“真正的程序员”?

即使你不相信这篇论文可能产生了Ensmenger归因于它的影响,对我来说,它至少是一个警示故事。意识到软件危机的压力、随之而来的招聘做法以及60年代的这两位心理学家可能塑造了整个形象,而这么多人仍然认为这是“自然而然”,这令人震惊。

因此,Ensmenger的书给了我这些新的拼图碎片来解释为什么我周围都是如此同质化的一群人。但仍然,以前计算机科学领域有更多女性,对吧?她们怎么了?

“我想我更平衡了”

到目前为止,我读过的关于女性在计算领域最好的书是“解锁俱乐部”。作者Jane Margolis和Allan Fisher在1995年至1999年的4年时间里,对卡内基梅隆大学的100多名计算机科学学生进行了采访[2]。他们问他们一些问题,比如为什么他们选择计算机科学,是什么在学习的每个阶段激励和挫败了他们,为什么那些辍学的人会这样做,等等。

这些采访中有很多引述深深地触动了我的心弦(以及我与之交谈的许多其他软件开发人员)。这里只选取了几个

有些人天生就适合做这件事,而我不是其中之一。而且这绝对不是那种“哦,只要练习,你就能成为天生就适合做这件事的人”的事情。

你必须天生就喜欢“电脑!太棒了!它们是我的生命!”你知道,很多计算机科学家,他们只做这件事。

我并不以编程为生。我知道有些人以编程为生,或者至少看起来是这样。你会在周末发现他们除了编程什么都不做,我就想,“他们怎么能做到呢?”我想我更平衡一些。

几十年后,这个“你必须天生就适合做这件事”的主题再次出现,这让我感到震惊。许多受访学生最初对电脑和编码充满了热情,但后来却被他们周围的热情所打消,这种热情似乎超越了他们自己的热情。他们慢慢开始相信,也许他们并不属于这里,计算机科学不适合他们。在 Margolis 和 Fisher 的学生群体中,这种情况不仅发生在女性身上。但对她们的影响更大,因为她们已经成为少数群体的一部分,并且感到受到更多的审查和更大的压力来证明自己。

“我的天,这太容易了。”

研究小组中那些放弃计算机科学的学生的信心受到另一个打击,那就是他们似乎被一群比他们更懂的人包围着。 在这个简短的播客中,Jane Margolis 谈论了为什么 80 年代家用电脑的兴起与女性计算机科学学生数量的显著下降同时发生。大约在这个时候,计算机科学开始成为一种教育,它偏袒那些在大学之前就有幸拥有家用电脑的人。而这个特权群体主要是男性。

Margolis 听到不止一个关于一个家庭的故事,在这个家庭里,电脑被锁在哥哥的房间里,所以他的妹妹只有在他允许的情况下才能使用它。

“解锁俱乐部”中引用的一位学生说

我开始对编码失去兴趣,因为每次我坐下来编程的时候,周围都会有很多人说,“我的天哪,这太容易了。你为什么花了 2 天时间才完成,而我 5 个小时就完成了?”

这本书还描述了卡内基梅隆大学计算机科学一年级学生的入门仪式,教授们会开玩笑说“真正的程序员使用 C 语言”或“Java 是给笨蛋用的编程语言”。要嘲笑这些东西并感到自己是群体中的一员,你不仅需要了解编程语言,还需要了解它们在社区中的地位。想象一下,一个教授对一群一年级医学院学生说“什么?你从来没有解剖过尸体?”但在计算机科学领域,在开始学习时已经拥有大量实践经验通常被学生和教育工作者视为常态。

80 年代的这种下降一定是自选过程的另一个催化剂,而我们至今还没有从这种下降中恢复过来,因为这涉及到多样性。虽然今天家用电脑已经变得更加普遍,但它们在哪些类型的家庭中普遍存在仍然强化了这种选择。

一篇关于霍华德大学黑人计算机科学学生的 彭博商业周刊特写 反映了其中的一些情况。一位受访学生说,“当我还在谷歌的时候,我听到的一句话就是,‘我 7 岁就开始学习编程了。’我就想,‘好吧,我没有。’” 这篇文章还提到了文化契合度这个话题,这在今天已经成为一个非常常见的招聘 - 或者更确切地说,不招聘 - 因素。虽然在官方上,文化契合度是指“热爱生活、谦虚和尽职尽责”之类的事情,但我们或多或少潜意识中的偏见可能会将其应用于嘲笑相同的笑话或观看相同的电视节目,使文化契合度成为另一个潜在的借口,只招聘与我们相似的人。

识别潜在程序员的单一模型

Margolis 和 Fisher 指出,太多人只在少数地方寻找对电脑的热情。一位高中老师被引用说,“我还没有遇到过这样的女孩”,也就是说,一个热爱电脑并想整晚编程的女孩。他的一位女性同事称这种说法是一种错误的假设:女孩可能只是以不同的方式表现出她们对电脑和科学的热爱。

如果我们使用一个单一模型来识别潜在的程序员,我们将错过许多潜在的学生。

-- 解锁俱乐部

假设你相信人们确实天生就对编程和使用电脑有更大的或更小的能力和倾向 - 如果父母、教育工作者、榜样和整个社会都灌输和传达一种非常具体的程序员形象,那么许多人可能永远不会发现这种能力。(这差点就发生在我身上。我是在商业学校学习了两年后,偶然发现了编程,才开始学习编程的。)

说一个人必须天生就适合做程序员,这又应用了另一个许多人没有意识到的过滤器:研究表明,当孩子们认为他们的智力能力是他们天生就拥有的天赋,而不是通过练习和奉献才能培养出来的东西时,这对他们会产生深远的影响。在 2006 年的论文“数学是天赋吗?”[3]中,Carol Dweck 描述了他们如何通过教授孩子们关于大脑如何工作来消除一组高中学生中女生和男生数学成绩的差异。理解他们可以通过练习来提高自己的技能,因为他们的的大脑不断形成新的连接,这对那些以前认为数学能力是天生就有的孩子们的成绩产生了很大的影响。

我们发现,许多学生认为他们的微积分课程中存在着根深蒂固的刻板印象。但令人高兴的是,这对那些认为自己的数学能力是可以提高的女性影响很小。相反,被负面刻板印象包围的感觉对那些认为自己的数学能力是天赋的女性产生了很大的影响。

-- Carol Dweck,“数学是天赋吗?让女性处于危险中的信念”

要了解更多关于这方面的信息,我建议阅读 “擅长数学的神话”,或 这篇文章,它讲述了一项更近期的研究,该研究表明“认为某些领域需要‘天才’的信念可能会让女性望而却步”。

那么我们该怎么办呢?

阅读关于迄今为止所描述的事情,让我对我们每天做的和说的许多细微而看似无害的事情更加敏感。这些事情会累积起来,这些事情可能在过去 50 年里助长了一个循环,我们需要对此更加了解。

Erica Joy Baker 的博客文章 多样性的另一面 讲述了她作为有色人种女性在 IT 行业的个人经历,它让我看到了当你多年来在一个同质化的环境中成为少数群体时会发生什么。像“眼中钉”一样突出,不断地,而且往往是潜意识地试图适应,并在这个过程中失去一部分自己的身份。

你脑海中的“职业兴趣量表”是什么?它如何影响你面试和选择程序员工作候选人的方式?或者当你向其他人描述你的工作是什么样的?我们每天如何为程序员形象的延续做出贡献?

以下只是我们为了调整我们自己和其他人脑海中的量表而可以做的事情中的几个。

意识到“与我相似”的偏见。

我一直想知道为什么大多数程序员似乎都喜欢科幻小说和奇幻小说(包括我自己)。我实际上认为一定存在相关性。现在我终于开始怀疑,根本不存在自然联系,这完全是我们雇佣了与我们相似的人……

不要认为现状是“自然而然的”。不要让 60 年代的几个男人继续决定我们是谁,让我们打破一遍又一遍地雇佣自己的循环。

别再表现得那么惊讶了!

每当你听到自己或其他人说“你看起来不像程序员”或“什么?你不知道 ___?”之类的话时 - 马上停止。这可能是一个你无意中说出的无害的小评论,但你对谁说这句话,他们可能已经听到了 500 次,你的评论可能是压垮他们的最后一根稻草,让他们认为他们确实不属于这里。这就是为什么这种评论通常被称为“微攻击”。每一个都很小,小到不能真正算作攻击,但当它们每周出现时,它们会产生显著的累积效应。

你可能会错过解释事情的乐趣 (xkcd,“一万”)

了解更多关于微攻击的信息,以提高你对这方面的认识,例如阅读 这篇优秀的文章,它讲述了微攻击如何在科技领域强化刻板印象。

挑战“真正程序员”的形象

最后但并非最不重要的是,挑战你脑海中的职业兴趣量表。例如,放弃只有那些把所有空闲时间都花在编程上的人才能擅长编程的观念。让我们面对现实:无论你花多少时间编程,你都无法掌握我们今天必须处理的所有事情,尤其是当你身处一个期望你成为“全栈开发人员”的环境中时。当我刚开始的时候,我只需要做的事情是编写、测试和构建 Java 代码,而且我有时间在这些年里不断添加更多技能。今天的新手往往会立即面对全面的问题:不仅仅是开发,还有运维、微服务、多面手、磨练技能、编写良好的测试。确实,掌握所有这些似乎很神奇,这与 60 年代的魔法非常不同。在团队中互相补充、互相结对,而不是不断地让对方感到自己落后,这是掌握所有这些的唯一方法。

多样性才是真正的摇滚明星

在过去的 3 年里,我与的女性程序员比之前 7 年加起来还要多。我从未想过我介意在男性主导的团队中工作,但现在我不想再回到过去。为什么会出现这种情况,这是另一个话题。但如果你还没有机会在一个更加多元化的团队中工作,我只想最后告诉你,这种团队确实存在,而且值得为之奋斗。


脚注

1: IBM PAT 的分数似乎没有证据表明与现实世界中的编程性能相对应。大多数雇主甚至没有检查,而少数检查的雇主也无法得出结论,两者之间存在关系。(电脑男孩接管了

2: Margolis 和 Fisher 的 100 位受访者似乎是一个很小的群体。此外,访谈的结果代表了非定量和“轶事”数据,而且所有这些都在该国的一所精英大学进行。作者在书中花了一些时间解释他们的设置及其潜在的缺点,但也解释了为什么他们相信他们的发现尽管如此仍然具有价值。

3: “数学是天赋吗?让女性处于危险中的信念”,Carol S. Dweck,斯坦福大学;在 S.J. Ceci 和 W. Williams(编)(2006);为什么科学领域没有更多女性?顶级研究人员就证据展开辩论。华盛顿特区:美国心理学会。

阅读和收听

Jane Margolis 和 Allan Fisher:“解锁俱乐部 - 计算机领域的女性”

如果你只想要阅读这份清单中的一个资源,那就应该是这个。

一个更好的(但不可否认地不太吸引人)副标题是“不符合计算机领域刻板印象的人,以女性为例”。

Nathan Ensmenger:“电脑男孩接管了”

涵盖了比这里引用的内容更多历史 - 计算机科学作为一门学科的起源,以及它如何得名,软件开始扰乱组织的时间,有一部分关于语言数量的周期性爆炸,等等。

还可以查看配套网站

Jean Jennings Bartik:“先驱程序员”

近距离接触 ENIAC 女性

Dame Stephanie Shirley:“让 IT 走开”

英国第一家科技初创公司创始人“史蒂夫”雪莉的迷人人生故事,她最初只雇佣女性。

Erica Joy Baker:“多样性的另一面”

希望我们正在向一个更加多元化的行业过渡。Erika Joy Baker 的故事提醒我们,在这个过渡的前沿,那些人必须付出什么代价。

Nicole Forsgren,Jez Humble:“将边缘化群体拒之科技门外​​的核心信念”

“两种想法共同驱使代表性不足的群体远离该领域:一种信念是,成功需要天生的能力和才华;另一种信念是,某些群体的人没有这种天生的才华。”

Felienne Hermans:“我将不再说我在 10 岁时自学编程,也许你也应该停止说”

“从今天起,我将重写自己的历史,今天我发誓不再传播自己的神话。如果你发现我这样做,认真地说,请随时纠正我。作为参考,以下是我的原始和重写进入计算机科学的历史。”

Garann Means:“培根对你有害”

“关于开发者单一文化及其如何让我们所有人处于危险之中的演讲”

Kathleen Costanza:“‘擅长数学’的神话”

“我记得我完全放弃数学的那一刻。(...)我告诉我的老师我担心我可能不‘擅长’数学。‘没问题,’他告诉我。‘有些人是左脑型,擅长数学和逻辑,而另一些人是右脑型,擅长创造性。’”

致谢

这篇文字最初是一篇演讲,在一年多的时间里不断发展。在此期间,许多人提供了反馈和很好的建议,尤其是 Dani Schufeldt、Diego Peleteiro、Laura Wadden、Martin Fowler 和 Stefanie Grewenig。Pat Kua 阅读了文本的早期草稿,Franziska Kleiner 在润色流程和语言方面提供了很大的帮助,Mark Taylor 推荐了 XKCD。Bob Martin 和 Beth Anders-Beck 的评论帮助我更好地阐明了一些重要观点。

我通过Cate Huston 的博客发现了“解锁俱乐部”,我非常感谢这个推荐。

还要感谢所有在 Thoughtworks 中在我要求对几乎完成的版本进行审查时做出回应和讨论的人:Chad Wathington、Rebecca Parsons、Alexander Zagniotov、Hugo Corbucci、Ken McCormack、Tim Sell、Anastasia Belozertseva、Ashok Subramanian、Malcolm Beaton、Jonny Leroy、Kevin Yeung、Bill Kimmel、Catherine Dugan、Mariana Bravo、Helen Shin、Karl Brown、Camilla Crispim 和 Kao Felix。

重大修订

2016 年 4 月 20 日:首次发布