阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

软件开发者的形象从何而来

  • 2016-06-05
  • 本文字数:6408 字

    阅读完需:约 21 分钟

一直以来, 人们对白人男性程序员的印象是不善交际的、刻板的。虽然,“技术多样性”是一个 非常热门的话题, 但这一印象仍没有得到任何改善。相反, 许多 IT 业内外人士都认为这是理所 当然的, 这种刻板的印象是一种自然常态, 而这种感觉正式这个行业更包容, 更令人为之心动 的一个方面。那么, 这种印象是从何而来呢? 难道全世界的程序员的特征真的是自然演变的结 果吗? 因为男孩更喜欢计算机吗? 是什么塑造了我们队程序员的看法? 下面是我在阅读计算机历史时发现的一些可能的解释。


Birgitta Böckeler 是一名德国 ThoughtWorks 公司的开发者兼顾问。作为 一个定制软件交付团队的技术主管, 她每天的工作包括编码、辅导和咨询, 同时还要让工作充 满乐趣。

寻找类似的文章,请看这些标签:多样性 - 计算机历史


程序员

Nathan Ensmenger 是印第安那大学的一位教授,专门从事计算的社会和历史方面的研究。在他的著作 The Computer Boys Take Over中探讨了职业的起源,以及程序员们最初是怎样被雇佣和培训的:

很少有人会花笔墨去写那些默默无闻的计算机从业人员,他们主要是工程师、分析师和程序员。他们设计和建造复杂的系统,在很大程度上使我们的社会计算机化成为可能。

这本书的标题是参考“Computer Girls”— 这一切的源头而来的。使用 ENIAC 电子数字积分计算机(世界上第一台通用计算机)进行编程的女性通常被认为是第一个程序员。在当时,甚至“程序员”这个单词都不存在,更不用说程序的概念了。Kay McNulty、 Betty Jennings、 Betty Snyder、Marlyn escoff、Fran Bilas 和 Ruth Lichterman 这六个女人被录用负责设定 the ENIAC 进行方案计算。更具体地说,他们正在教计算机如何计算武器的轨迹,如何在实地被士兵使用。在 ENIAC 工作的女人都是从现有的女性团体中招募的,在此之前她们一直手动计算这些方案。

计算机历史博物馆山景城在其网站上有对 Jean Bartik(原名贝蒂·詹宁斯)进行的采访,了解到 Jean 和她同事务进行工作接洽的方式。对我来说,最吸引人的是,Bartik 介绍,那些最初的程序员已经意识到结对编程的价值,但却花了 50 多年的时间(和 Kent Beck 的书《极限编程》一样)才得出这样一个概念:

斯奈德贝蒂和我,从一开始就是一组。我相信,最好的设计和所有的东西都是通过搭档合作来完成,因为你们可以互相批评,找出对方的不足,然后得出最好的思路。
-Jean Bartik

在 ENIAC 工作的妇女 ( Wikimedia Commons )

在当时,计算机的“设置”是一个非常机械的过程,从早期的照片显示看,很像封堵电缆电话交换机。因此,这项工作被视为手工作业和体力活, 而不是科学和高科技。妇女被称为“操作员”、“计算机”或“编码者”。 据 Ensmenger 所言,“编码者”一词变得和机械、手工作业及女性都有非常紧密的联系。甚至在 20 世纪 50 年代建立了“程序员”一词之后的几十年时间里,“编码器”仍然有消极的地位和性别的内涵,男性程序员也试图远离它。

没有人意识到它的到来

如果 ENIAC 的管理员已经知道,编程在计算机功能中起着至关重要的作用,而编程又是那么的复杂,他们可能更加不愿意给女性提供这样一个重要的角色了。
– Jean Bartik

于是,计算机革命开始了— 硬件在不断改进,许多人对计算机的进步和它光明的前景感到兴奋。但没有人真正关注软件。斯蒂芬妮·雪莉夫人在 1962 年创立了英国最早的软件公司之一,回顾这场 TED 演讲,她说“在硬件时代,软件是免费的,没有人会购买软件,当然不是因为它开始于女性。”

但这证明软件开发的挑战已经被严重低估了,因为他们发现编程是很难的。Maurice Wilkes 英国开拓型计算机科学家,他发现“在 [他] 的生活中,要花费大量的时间去发现自己程序中的错误,这使他感到震惊和沮丧”。

50 年代和 60 年代的媒体也关注到这些。有媒体报道水手 1 号金星探测器,因脱离它的航向而被摧毁。这一报道讲述了一个关于“。”而非“,”的故事,还涉及到一个在 FORTRAN 语言或“失踪的连字符”中的方程。没有证据表明 FORTRAN 甚至用于探头的编程,但这些故事强化了这种看法。因为编程是如此容易出错,只有雇用最熟练的程序员才能更好的进行操作,从而更好的完成工作。


诞生,而非制造

1968 年 5 月 31 日 IBM 在纽约时报的广告—收到 7 个回复,他们认为这是一个“投资回报率很高”的产业 ( The Computer Boys Take Over )

公司很难弄清楚这个全新的行业需要什么技能。但他们对“错误”已经感到非常恐慌,他们需要非常优秀的程序员。但是,对程序员来说又没有明确的必要技能。公司认为编程是一个“黑色艺术,是一个非常特殊的活动”,因此程序员被“诞生了,而非制造”。在当时,几乎每一个计算机的操作都有所不同。怎么招聘这样一个行业的人呢?而需求在同一时间又迅速增加?“软件危机”已经开始。

当时业内的大厂商确定了一种能力测试,用于对程序员的招聘。这些测试被认为是一种很好的编程思想,比如逻辑思维和抽象推理。根据Nathan Ensmenger 的 研究,到1962 为止,估计有80% 的企业在使用某种形式的能力测试招聘程序员。其中一半使用IBM PAT(程序员能力测试),这将成为行业的标准方式。仅在1967 年,PAT 被给予超过700.000 人进行测试,它基本上成为进入编程这一职业的通道。

但对一些公司来说这些能力测试还不够,他们在试图利用性格特质来预测哪一类型的人有可能成为快乐的(并高效的)程序员。其中一家公司是SDC,在50 年代由IBM 聘请,做最大的软件项目之一 SAGE 的开发工作。1956 年,约 700 名程序员被 SDC 雇用,这是当时在美国大约五分之三的编程人员。仅在 5 年之后,他们就已经聘请 7000 多名程序员。他们对自己说,他们是“训练有素的产业”。

为了在招聘过程中,更好的识别面试者是否具有良好的编程能力。他们委托两位心理学家 William M. Cannon 和 Dallas K. Perry 为程序员量身订做了一个“职业兴趣量表”。他们的论文发表在 1966 年,“职业兴趣量表”类似于工程和化学的职业分布概况图。它与音乐家有微妙的关系,不是特别接近物理或数学,和其他白领工作有一定的区别。

Cannon and Perry 想到只有一个真正显著的特点,他们归结为:对程序员,人们不感兴趣。

William M. Cannon, Dallas K. Perry 和程序员职业兴趣量表 1966

一个自我实现的预言

让我们回顾一下:

700 000 人采取了同样的测试,以确定他们是否能成为合适的程序员。

“培训行业”的公司选择了基于模板的员工,其中包括“人们不感兴趣”的产业。

Ensmenger 得出的结论:

对于普遍使用的人才初选机制, 在非社交、数学计算等领域更倾向于男性, 这种机制促使男性在程序员群体中占大多数 ; 这反过来又强化了普遍的看法, 程序员应该是男性、非社交、数学专业的, 等等
– The Computer Boys Take Over

如果你看一下今天典型的程序员的形象,那么 50 年后,这又是一个多么有说服力的观点啊。我们期待这种“真正的程序员”吗?更糟糕的是,我们开始因他的形象而怀疑他的能力。

Ensmenger 赋予了这篇文章一定的影响力,即使你不相信,但对我来说这起码是一个警世故事。要意识到,软件危机的压力是惊人的,由此产生的雇佣以及 60 年代两位心理学家对这一行业建立的整体印象,然而很多人仍然认为,这只是“自然规律”。

于是 Ensmenger 的书给我这些新的拼图,解释为什么我身边有这样一组同质的人。在计算机科学里有更多的女性,对吗?在她们身上又发生了什么事呢?

“我想我觉得我比较平衡”

迄今为止我读过的关于女性在计算机方面的书籍中最好的就是 Unlocking the Clubhouse 。作者 Jane Margolis 和 Allan Fisher 在 1995 年至 1999 年的 4 年时间里,对卡耐基梅隆大学 100 多名计算机专业的学生进行了访谈。他们会问诸如此类的一些问题:为什么选择计算机科学专业,动机是什么,在每个时间点上是什么在激励他们去研究学习,那些辍学学生又是因为什么呢,等等。

采访中有许多人的看法和经历都与我产生了共鸣,其他和我交谈过的软件开发者也深有同感。这里只做少量的引述:

有些人天生就是做这行的,而我不是他们中的一个。并且这绝对不是“通过实践,就能成为天生的”。

你只需要天生就喜欢,“计算机!啊!他们是最棒的!他们是我的生命!” 要知道,很多计算机科学家都是这样成长的。

我活着不是为了程序,我知道一些家伙是为了程序而生,至少看起来是。你会发现在周末除了编程,他们什么都不做,我想“他们怎么能这样做呢?”我觉得自己更平衡一些。

令人惊奇的是,几十年后“为它而生”的主题又出现在这里。许多受访的学生竟然开始对电脑和编码产生极大热情,然后这些激情不断蔓延,并包围着他们,这激情似乎超越了他们自身的热情。他们慢慢开始相信,自己不属于这一人群,毕竟计算机科学并不适合他们。在 Margolis 和 Fisher 访谈的学生群体中,这激情影响着她们,因为她们已经作为少数群体站出来,并希望在更严格的审查和更多的压力下证明自己。

“天啊,这太简单啦!”

另外动摇计算机科学研究组的信心的是,他们似乎被那些比他们知道更多的人所包围。在这简短的播客中,Jane Margolis 谈到为什么家用电脑在 80 年代的崛起与女性计算机科学学生显著下降相吻合。在这个时候,计算机科学开始成为一种受青睐的教育,一些足够优越的家庭在他们开始大学学习之前就拥有了电脑。这个特权群体主要是男性。

Margolis 听到过不止一个关于电脑被锁在弟弟房间的故事,姐姐只有在得到允许后才能操作电脑。

一个学生引用了 _“Unlocking the Clubhouse”_ 的说法:

我开始对编码失去兴趣。说真的,每当我坐下来编程时,就感觉到有成千上万的人在四处走动,让我无法安心。“天啊,这么简单!你为什么会做两天才完成,我用了 5 个小时就完成了。”

书中还介绍了在卡内基梅隆为一年级计算机专业的学生进行的启蒙教育,教授讲了关于“真正的程序员使用 C”或“Java 是一种 bozos 编程语言”的笑话。为了调侃这些东西并感受其是群体的一部分,你不仅需要知道编程的语言,你还需要了解他们在社区上的地位。试想一下,一个医学院教授对一组刚入学的学生说“什么?你从来没解剖过尸体吗?”这不太符合常理。 但在计算机科学中,通常在开始时学生和教育工作者都认为你自己已经有大量的实际经验了。

在 80 年代这种下降必须有另一种自我选择的催化剂在起作用,当它已经涉及到多样性时,我们还没有反应来。虽然家用电脑已经变得越来越普遍,但该类型的家庭数量仍然比较有限。

彭博商业周刊关于霍华德大学计算机科学专业黑人学生的特辑反映了这一点。一个受访的学生谈到,“当我在谷歌的时候,我常听到,当我 7 岁的时候,我就学会了代码。我想,好吧,我没有。”这篇文章还谈到了文化契合的主题,在今天聘用或未聘用已成为相当普遍的现象。虽然正式的文化契合是“有趣的爱好,谦虚且有责任心”,但我们潜意识的偏见或多或少会应用在同一个笑话或同一个电视节目上,这也是文化契合中一个潜在的自我选择的借口。

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

Margolis and Fisher 的观点认为,大多数人只在几个点寻找对计算机的热情。引述一位高中老师的话“我还没遇到过这样的女孩”,即一个热爱计算机并且愿意通宵编程的女孩。他的一位女同行称这种说法是 misassumption:对计算机和科学的热爱,女生和男生的方式可能有很大不同。

如果我们使用一个单一的模型来识别潜在的程序员,我们会错过很多潜在的学生。
Unlocking the Clubhouse

比方说,你相信一个人对于编程和计算机或多或少存在天分之说 —— 如果家长、教育工作者、榜样人物和整个社会不去说明程序员具体的形象,许多人甚至可能永远不会发现这个天资。(这样的事就发生在我身上。当我经历了两年平庸的商学院生活,跌跌撞撞毕业后才开始编程。)

另外一种筛选原则同样适用于判断一个人是否天生就是程序员,但很多人都没有意识到。研究表明,他们相信自己的智力是与生俱来的天赋,而不是通过实践和奉献精神发展而来,这对孩子会产生深远的影响。卡罗尔·德维克在她 2006 年的论文“数学是一个礼物吗?”中,介绍了如何教导学生了解大脑的工作情况,从而中和高中男孩和女孩之间在数学性能上的差异。理解为,随着时间的推移他们可以提高自身的技能,那些孩子们认为这是所有先天能力的表现,这对他们的大脑不断地形成新的连接有很大的影响。

我们发现,许多学生认为刻板印象是活生生存在的,同样存在于他们的微积分部分。不过,令人高兴的是,这对认为自己的数学能力不断增加的女性影响不大。与此相反,把数学能力当作礼物的女性则感觉被负面的印象包围,对她们产生了强烈的冲击。
– Carol Dweck, ‘Is Math a Gift? Beliefs That Put Females at Risk’

要了解这一点,我建议阅读 _“ The ‘Good at Math’ Myth, ”_,或这篇关于最近的一项研究的文章,提出“相信某些领域会需要女人的’智慧’和参与”。


那我们能做什么呢?

到目前为止,我已经通过阅读相关文字,提升了对每天都发生的或看似无辜的事情的微妙的感知。我们需要更多的了解在过去50 年中积累的东西,它可能会推动一个周期的进程。

Evrica Joy Baker 的博文 _ The Other Side of Diversity _ 中,作为一个女人,她在 IT 界的丰富多彩的旅程使我大开眼界。当一个人在同构环境中数年后会发生什么事情呢?比如“拇指痛”,不断地,经常下意识地试图适应,并通过这种适应使自己失去了一部分个性。

你认为什么是“职业兴趣量表”呢?它是如何影响你对程序员工作的面试以及成为候选人的方式?你又如何向别人描述你的工作情况?如何有助于程序员形象的延续?

以下是一些我们可以做的,用于调整我们头脑中的模式。

注意你的自我选择偏差。

我一直想知道的是,为什么大多数程序员都喜欢科幻小说和幻想(包括我自己)。其实,我觉得有一定的联系。现在我终于开始怀疑,如果没有天然联系的话,那一切都只是自我选择!

不要认为现状是“很自然的”。不要让 60 年代的少数人仍然决定今天的我们是谁,我们要一遍又一遍的打破雇用的循环周期。

别再表现得非常惊讶!

每当你听到自己或别人说“你不像一个程序员”,或“什么?你不知道 ___?” — 停在那里。这可能是一个无辜的小评论,并不意味着什么,但你所评论的人可能会听到五百次,你的评论可能是最后一根稻草,使他们认为他们确实不属于这一行。这就是为什么这些评论通常被称为“microaggressions”。每个人都很小,太小,但当他们每周都有一个显著的累积效应时,攻击性就会很强了。

你可能会错过解释事物的乐趣 ( xkcd, “Ten Thousand”)

了解更多关于 microaggressions 的内容,可阅读这篇 —— 关于 microaggressions 在技术定型实施中有何影响的文章,来增强这种意识。

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

最后但并非最不重要,在你的头脑中,挑战你的职业兴趣量表。举个例子,放手的观念即程序员进行一分钟自由编程,每个人完成的都很好。让我们面对现实,没有多少时间去编程来加速我们的每一件事,我们必须应对当今的一切,特别是如果你期望在一个“全栈开发”的环境中工作。开始的时候,我需要做的唯一的事情就是编写、测试和构建 Java 代码,我有时间来补充我多年欠缺的各种技能。新手常常会面临全方位的挑战。不只是开发、OPS、微服务,应有尽有,磨练你的手艺,写出好的测试。在上世纪 60 年代,它看起来像魔术,事实上,掌握这一切,只是从一发展到不同类型的魔法。唯一进步的方法就是在团队中互相补充,互相配对,不经常让对方感觉我们是落后的。


多样性是真正的巨星

在过去的 3 年时间里,与我合作的女性程序员的数量比 7 年前合作的总合还多。我从来没有想过是否介意在男性为主导的团队中工作,但现在我不想回去。那到底是为什么呢?这将作为另一个话题后续和大家分享。如果你没有机会在一个更加多样化的团队中工作,那么我只想告诉你,它是值得争取的,而且它就在那里。

查看英文原文 Born for it


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-06-05 19:001990

评论

发布
暂无评论
发现更多内容

区块链电子合同签署平台,区块链电子合同解决方案

13828808769

区块链+ #区块链#

聊聊LiteOS事件模块的结构体、初始化及常用操作

华为云开发者联盟

LiteOS 事件 事件结构体 事件掩码

微服务网关的一点思考

程序员架构进阶

架构 自我提升 api 网关 28天写作 4月日更

Spark数据倾斜解决方案实战(三)

小舰

4月日更

基于拉链式和线性探测式散列表实现Map

Silently9527

Java hashmap 线性探测 拉链式散列表 散列表

线上服务 CPU 100%?一键定位 so easy!

Java小咖秀

性能 cpu 负载 线上排障 线上问题

有了这个数据强一致“利器”,DBA们轻松修复数据对加班“say no”

华为云开发者联盟

存算分离 华为云数据库 GaussDB(for Cassandra) 强一致 开源Cassandra

HECO火币生态链智能合约Dapp软件系统APP开发

系统开发

nginx.conf核心配置

马里奥

nginx Configuration 配置

可视化运行Python的神器Jupyter Notebook

程序那些事

Python Jupyter Notebook 程序那些事

Dubbo 编解码那些事

vivo互联网技术

dubbo RPC 序列化 编解码

带你全面认识CMMI V2.0(终)——实施落地

IPD产品研发管理

项目管理 软件 CMMI

MemVerge CEO表示基于大内存的基础架构将取代性能层级存储

Steven Xu

内存 存储 基础框架 傲腾

新特性巨量来袭,MindSpore开源一周年实力“狂欢”

华为云开发者联盟

开源 modelarts mindspore 数据预处理加速 分子模拟库

书单|互联网企业面试案头书之产品经理篇

博文视点Broadview

转正还是离职?这是一个问题么?

escray

面试 面经 4月日更

nginx性能优化--配置解析

箭上有毒

nginx 性能测试 4月日更

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之docker部署(八)

crudapi

Docker Vue crud crudapi quasar

源中瑞区块链Baas平台--助力区块链应用落地

13530558032

Python OpenCV 边缘滤波保留(EPF)

梦想橡皮擦

Python OpenCV 4月日更

区块链农产品防伪溯源平台,助力赣南脐橙产业发展

13828808769

区块链+ #区块链#

解读金融高频交易不出错的金手指:分布式事务管理

华为云开发者联盟

微服务 事务 华为云 数据一致性 分布式事务管理

边缘计算应用的价值

浪潮云

云计算

【LeetCode】二叉搜索树节点最小距离Java题解

Albert

算法 LeetCode 4月日更

Linux crontab 命令

一个大红包

Linux linux命令 4月日更

领域驱动设计(DDD):领域和子域

xcbeyond

领域驱动设计 DDD 4月日更

架構設計訓練營作業 2

海罗沃德

架构实战营

签约作者可视化

IT蜗壳-Tango

4月日更

css中的动画效果

赫鲁小夫

4月日更

智慧公安重点人员管控系统搭建,重点人员管控解决方案

13828808769

智慧交通

CSS 学习笔记(一) 选择器

U2647

CSS CSS小技巧 4月日更

软件开发者的形象从何而来_语言 & 开发_Birgitta Böckeler_InfoQ精选文章