天生如此

軟體開發人員形象的由來

社交尷尬、白人、男性程式設計師的刻板印象已經存在很長一段時間了。儘管「科技多元化」是一個廣泛討論的主題,但數字並沒有好轉。相反地,許多科技產業內外的人仍然認為這種刻板印象是自然常態,而這種觀念正是我們讓這個職業更具包容性和吸引力的障礙之一。那麼,這個形象從何而來?全球程式設計師人口的統計資料真的自然演變而來,是因為「男孩比較喜歡電腦」嗎?是什麼形塑了我們對程式設計師的觀感?本文探討我在閱讀電腦歷史時發現的一些可能解釋。

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 演講中回顧道:「當時軟體是隨著硬體免費提供的,沒有人會購買軟體。當然不會從女性那裡購買。」

但事實證明,軟體開發的挑戰嚴重低估了——他們發現程式設計很困難。英國電腦科學先驅莫里斯·威爾克斯當時「震驚且沮喪」地意識到「[他]生命中剩下的很大一部分時間將花在尋找[他]自己的程式中的錯誤上」。

50 年代和 60 年代的媒體也注意到了這一點。報紙上出現了諸如水手 1 號探測器前往金星的過程中偏離航線並不得不被摧毀的故事。關於此故障的都市傳說包括 Fortran 語句中「.」代替「,」的故事,或等式中「缺少連字符」的故事。沒有證據表明探測器的程式設計中甚至使用了 Fortran,但這些故事強化了這樣一種觀點:只有最熟練的程式設計師才應該被錄用,因為程式設計很容易出錯。

天賦異稟

公司很難弄清楚這個全新的職業需要什麼技能。他們需要程式設計師非常優秀,因為他們對錯誤感到恐慌。同時,他們對必要的技能組沒有具體的概念。公司開始認為程式設計師必須是「天生的,而不是後天培養的」,並且程式設計是一種「玄學」。這一點是由於當時程式設計是一種非常獨特的活動,幾乎每台電腦的操作方式都不同。當需求迅速增長時,你如何為這樣的職業招聘人員?「軟體危機」已經開始了。

當時,業界巨頭用於識別和招募程式設計師的一種方法是能力測驗。這些測驗旨在篩選出被認為對良好程式設計至關重要的特質,例如邏輯思維和抽象推理。根據內森·恩斯門格的研究,到 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 年後,典型的程式設計師的刻板印象是什麼,他提出了非常有說服力的論點。我們是否仍然期待「真正的程式設計師」是這樣的?更糟的是,在另一方面,我們是否懷疑不符合這種形象的人不是「真正的程式設計師」?

即使你不相信這篇論文能像恩斯曼格所說的那樣具有影響力,對我來說,這至少是一個警世故事。令人驚訝的是,軟體危機的壓力、由此產生的招聘慣例以及 60 年代的這兩位心理學家可能塑造了整個形象,而許多人仍然認為這「很自然」。

因此,恩斯曼格的書為我提供了這些新的拼圖,解釋了我為何被如此同質的一群人包圍。但儘管如此,以前電腦科學領域的女性還是比較多的,對吧?她們怎麼了?

「我想我比較平衡」

到目前為止,我讀過關於女性在計算領域的最佳書籍是「Unlocking the Clubhouse」。作者珍·瑪格麗斯和艾倫·費雪在 1995 年至 1999 年的 4 年間採訪了卡內基梅隆大學的 100 多名電腦科學學生 [2]。他們詢問他們諸如為何選擇電腦科學、在研究的每個時間點上他們的動機和沮喪感是什麼、為何那些輟學的人會輟學等問題。

這些訪談中有許多引述真正引起了我的共鳴(以及我交談過的許多其他軟體開發人員)。以下僅選取幾條

有些人天生就適合做這件事,而我並不是其中之一。這絕對不是那種「喔,只要練習,你就會成為天生適合做這件事的人」的事情

你必須天生就喜歡「電腦!是的!它們太棒了!它們就是我的生命!」你知道的,許多電腦科學家,他們只做這件事。

我並不為了編寫程式而活。我認識一些為了編寫程式而活的人,或者至少他們看起來是這樣。你會發現他們在週末除了編寫程式之外什麼都不做,而我只是想「他們怎麼能這樣做?」我想我認為自己比較平衡。

對我來說,令人驚訝的是「你必須天生適合」的主題在數十年後又再次出現。許多受訪學生一開始其實對電腦和編碼充滿熱情,但後來卻被周遭看似比他們熱情的人給澆熄了,這種熱情似乎超越了他們自己的熱情。他們慢慢開始相信自己可能不屬於這裡,電腦科學不適合他們。在 Margolis 和 Fisher 的學生群體中,這不只發生在女性身上。但這對她們的影響更大,因為她們原本就是少數族群,而且感覺受到更多的審查和證明自己的壓力。

「我的天,這太簡單了。」

另一個動搖研究小組中電腦科學輟學生信心的因素是,他們似乎被比他們更了解的人包圍著。在這段簡短的播客中,Jane Margolis 談到為什麼 80 年代家用電腦的興起與女性電腦科學學生的顯著下降相吻合。大約在這個時候,電腦科學開始成為一種教育,有利於在進入大學之前就有幸在家中使用電腦的人。而這個特權群體主要是男性。

Margolis 聽過不止一個關於一個家庭的故事,電腦被鎖在哥哥的房間裡,所以他的妹妹只有在他允許的情況下才能使用電腦。

「打開俱樂部」中引用的一位學生說

我開始對編碼失去興趣,因為真的,每當我坐下來編寫程式時,周圍都會有很多人說:「天啊,這太簡單了。你為什麼花了兩天時間,而我 5 小時就完成了?」

這本書還描述了卡內基美隆大學一年級電腦科學學生的入會儀式,教授們開玩笑說「真正的程式設計師使用 C」或「Java 是給笨蛋的程式語言」。要嘲笑這些事情並融入群體,你不僅需要已經了解程式語言,還需要了解它們在社群中的地位。想像一下一位教授對一群一年級醫學院學生說:「什麼?你從未解剖過屍體?」但在電腦科學中,學生和教育者通常認為,在你開始時已經具備大量的實務經驗是常態。

80 年代的這波衰退必定是已經進行中的自我選擇的另一個催化劑,而我們在多元性方面仍未從中復原。儘管家用電腦現今已變得更加普及,但它們在何種家庭中普及仍強化了選擇。

一篇 彭博商業週刊關於霍華德大學黑人電腦科學學生的專題報導 反映了其中一部分。受訪學生之一表示:「我在 Google 時,一再聽到的說法是『我在 7 歲時就學會編碼』。而我就像『好吧,我沒有』。」這篇文章也觸及文化契合的主題,這已成為當今相當常見的聘用(或更確切地說,不聘用)因素。儘管官方上,文化契合是關於「愛好歡樂、謙虛和盡責」等事物,但我們或多或少潛意識的偏見可能會將其應用於開相同的玩笑或觀看相同的電視節目,使文化契合成為僅聘用與我們相似之人的另一個潛在藉口。

單一模型,識別潛在程式設計師

瑪格麗絲和費雪指出,太多人僅在少數地方尋找對電腦的熱情。一位高中老師表示:「我還沒遇過這樣的女孩」,也就是一個熱愛電腦並想整晚編程的女孩。他的其中一位女性同事將此聲明視為一個錯誤假設:女孩可能只是以非常不同的方式展現她們對電腦和科學的熱愛。

如果我們使用單一模型來識別潛在的程式設計師,我們將會錯失許多潛在的學生。

-- 解鎖會所

讓我們假設您相信人們確實天生具有較大或較小的程式設計和一般電腦操作的資質和傾向,如果父母、教育工作者、榜樣和社會大眾普遍教授和傳達程式設計師的非常特定形象,許多這樣的人甚至可能永遠不會發現這種資質。(這幾乎發生在我身上。我是在商學院度過兩年沒有靈感的時光後,或多或少偶然發現程式設計才開始編程的。)

說某人天生就是程式設計師,套用了一個許多人沒有意識到的過濾器:研究顯示,當孩子們相信自己的智力是一種與生俱來的禮物,而不是透過練習和奉獻可以培養出來的東西時,這對他們有深遠的影響。卡蘿·德威克在 2006 年的論文「數學是一種天賦嗎?」[3]中,描述了他們如何透過教導高中生大腦如何運作,來消除一群高中生中男女數學表現的差異。了解他們可以隨著時間推移而提升自己的技能,因為他們的大腦會持續形成新的連結,對那些以前認為這一切都與生俱來的能力有關的孩子們的表現產生了很大的影響。

我們發現許多學生認為刻板印象在他們的微積分課程中仍然存在且盛行。但幸運的是,這對視數學能力為可以增強的事物女性影響不大。相反地,感覺被負面刻板印象包圍對將數學能力視為天賦的女性影響很大。

-- 卡蘿·德威克,「數學是一種天賦嗎?讓女性面臨風險的信念」

若要進一步了解這一點,我建議閱讀「擅長數學」的神話,或這篇文章,這篇文章是關於一項較新的研究,指出「相信某些領域需要『才華』可能會讓女性卻步」。

我們能怎麼做?

閱讀到目前為止所描述的事情,增加了我在日常生活中對許多微妙且看似無害的事物和言論的敏感度。這些事情會累積,可能會助長過去 50 年來的循環,我們需要更加了解。

艾莉卡·喬伊·貝克的部落格文章多元性的另一面,講述了她作為一名有色人種女性在 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:「電腦男孩接管」

涵蓋比這裡引用的內容更多的歷史 - 電腦科學作為一門學科的開端,以及它如何得名,軟體開始擾亂組織時,有一部分關於語言數量週期性爆炸,等等。

另請查看隨附網站

史蒂芬妮·雪莉爵士:「讓它走」

英國第一家科技新創公司創辦人「史蒂夫」雪莉迷人的生活故事,她一開始只雇用女性。

艾瑞卡·喬伊·貝克:「多元性的另一面」

希望我們正在轉變為一個更多元化的產業。艾瑞卡·喬伊·貝克的故事提醒我們,在這個轉變的最前線,人們必須付出的代價。

妮可·福斯格倫、傑茲·漢布爾:「讓邊緣化群體遠離科技的核心信念」

「兩個想法合謀將代表性不足的群體趕出這個領域:相信天生的能力和才華是成功的必要條件;以及相信某些群體沒有這種天生的才華。」

費莉安·赫爾曼斯:「我將不再說我在 10 歲時自學程式設計,也許你也不應該這樣說」

「從今天起,我將改寫我自己的歷史,今天我發誓不再傳播我自己的神話。如果你發現我這樣做,請隨時糾正我。供參考,以下是我的原始和改寫的電腦科學歷史。」

加蘭·米恩斯:「培根對你不好」

「關於開發人員單一文化的演講,以及它如何讓我們所有人都面臨風險」

凱瑟琳·科斯坦扎:「『擅長數學』的神話」

「我記得我完全放棄數學的那一刻。(...) 我告訴我的老師,我擔心自己『不擅長』數學。他說:『沒問題。』『有些人是左腦發達,擅長數學和邏輯,而另一些人則是右腦發達,擅長創造力。』」

致謝

這段文字最初是一場演講,在一年多的時間裡不斷演變。在那段時間裡,許多人給予了反饋和很棒的建議,特別是丹尼·舒菲爾特、迭戈·佩萊泰羅、勞拉·瓦登、馬丁·福勒和斯特凡妮·格雷威尼格。帕特·庫亞閱讀了文本的早期草稿,弗朗齊斯卡·克萊納在潤飾流程和語言方面提供了很大的幫助,馬克·泰勒推薦了 XKCD。鮑勃·馬丁和貝絲·安德斯-貝克的評論幫助我更好地說明了一些重要觀點。

我透過 凱特·休斯頓的部落格 發現「解鎖會所」,非常感謝她的推薦。

另外,感謝所有在 Thoughtworks 內部回應並討論我要求審閱幾乎完成版本的人:查德·瓦辛頓、麗貝卡·帕森斯、亞歷山大·扎格尼托夫、雨果·科布奇、肯·麥考馬克、提姆·塞爾、安娜斯塔西亞·貝洛澤爾采娃、阿肖克·蘇布拉馬尼安、馬爾科姆·比頓、強尼·勒羅伊、凱文·楊、比爾·金梅爾、凱瑟琳·杜根、瑪麗安娜·布拉沃、海倫·申、卡爾·布朗、卡米拉·克里斯平和高菲力克斯。

重大修訂

2016 年 4 月 20 日:首次發布