为什么主修计算机科学的人这么少?

2020-06-29 19:44:53

2005年,美国约有5.4万人获得了计算机科学学士学位。此后,这一数字逐年下降,直到2014年,有5.5万人主修CS。我不仅惊讶于这一数字如此之低,更令人震惊的是,这一数字十年来一直持平。考虑到开发人员的高薪和硅谷的文化中心,难道我们不应该期待更多的人主修计算机科学吗?

考虑到2015年有190万人本科毕业,比2005年的144万人高出31%,这就更令人惊讶了。(数据来自国家教育统计中心《教育统计文摘》),这意味着计算机专业的人数占所有专业的比例有所下降,从2005年的3.76%降至2015年的3.14%。与此同时,STEM的其他专业也在同期增长:“工程”+“工程技术”从79,544个增加到115,096个,增长了45%;“数学与统计”从14,351个增加到21,853个,增长了52%;“物理科学与科学”从19,104个增加到30,038个,增长了57%;“生物和生物医学”从65,915个增加到109,896个,增长了67%。“计算机科学和信息技术?”从2005年的54111人上升到2015年的59581人,微不足道的10.1%。

如果你想要一个方便的图表,我在这里画了增长的图表,毕业生人数正常化到2005年。

(增补件:有几个人指出,2005年是一个特殊的年份,我不应该从那一天开始重新计算数字的基数。我之所以从这一点开始绘制图表,是因为在NCES数据集中,我自2005年以来一直在使用按一年间隔细分的数据。滚动到帖子的末尾,可以看到1975年毕业生的数据,数据清楚地显示,2005年是毕业生的高峰期。更全面的讨论将涉及互联网泡沫的影响;见下文。)。

我认为这是一个难题,因为我认为,上大学的人决定主修什么专业主要是基于两个因素:收入潜力和一个领域是否被视为高地位。现在,让我们来看看主修CS的学生是否也能做到这一点。

工资高吗?答案是肯定的。美国劳工统计局(Bureau Of Labor Statistics)拥有软件开发人员的数据。我们拥有的最新数据来自2016年5月,其中软件开发人员的年薪中值为10.6万美元;考虑到所有职业的年薪中值为3.7万美元,这已经相当不错了。但是,对于最低的十分位数,我们可能会认为这是应届毕业生期望获得的入门级工作薪酬的代名词,那该怎么办呢?这个数字是64,650美元,是所有职业年薪中值的两倍。我们也可以检查几年前的数据。2010年,软件开发人员的薪酬中值为8.7万美元;最低的薪酬为5.4万美元。这两个都不是很低,现在都已经增长了。

现在我们可以考虑一个主修计算机科学的人是否可以期望进入一个地位很高的行业。这很难严格证明,但我认为答案是肯定的。我是在晚年上高中的,当时金融危机摧毁了华尔街的一些吸引力,即使在那个时候,硅谷也似乎很有魅力。谷歌在2004年首次公开募股,我的同龄人都想买iPhone,为史蒂夫·乔布斯工作,我们都在Facebook上注册。人们都在谈论在这些地方实习会有多酷。人们可能不指望大学毕业后会去谷歌工作,但这是一个令人向往的伟大目标。并不是所有像塑料、家禽或卡车运输这样的行业都有如此耀眼的公司来吸引。

我在推特上发布了这个谜题,收到了各种各样的回复。他们中的大多数都不能令人满意。现在,我想回顾一下为这个难题提供的一些常见的解决方案,以及我发现它们的不足之处的一些粗暴而肮脏的论点。

1.计算机科学很难。这是一个有效的观察,但它不能解释边际上的行为。CS是一门难学的学科,但它不是唯一难学的专业。那些宣称CS如此强硬的人必须解释为什么有这么多人选择数学、物理和工程专业;请记住,这三个专业在2005年至2015年间的增长率都超过了40%,而且它们也不是轻而易举的。同样不明显的是,他们的就业前景一定比CS专业的学生更乐观(至少对于没有上过对冲基金的中等水平的学生来说是这样)。期望有数学、物理和工程天赋的人也有CS天赋,这不是很合理吗?如果是这样的话,为什么它是唯一一个低增长的领域?

在边际上,我们应该期待高薪会吸引更多的人进入一个学科,即使它很难。是不是所有可以在医学院、法学院或博士项目辛勤工作的人都觉得CS学士学位令人难以想象地望而生畏?

2.成为开发人员不需要CS学位。这是另一个我认为不能解释边际行为的有效陈述。是的,我认识很多没有大学毕业或CS专业毕业的开发人员。许多没有上学的人能够自学,这得益于各种旨在让他们进入行业的MOOC和新兵训练营。

做一名软件开发人员可能是对相关专业的学士学位要求最低的领域。不过,我们难道不应该期待这里的学习和就业之间存在某种关联吗?也就是说,CS专业不应该被认为是进入这个行业的一条有用的途径吗?在我看来,大多数技术招聘人员都看好CS专业的学生。

虽然成为开发人员的方式有很多种,但如果CS专业是一种完全无用的进入这一职业的方式,我会感到惊讶,所以人们会避开它,转而选择其他专业。

3.人们在考虑专业时并不是那么以市场为导向。我主修的是哲学,不,我不是根据它令人眼花缭乱的职业前景来选择的。在选择专业方面,大多数人不都和我一样吗?也许吧。很难说。证据包括发表在“人力资本杂志”上的一项研究,该研究表明,如果人们真的知道自己在相关行业能赚到什么,他们就会重新考虑自己的专业。也就是说,他们在投身于自己的专业时,没有认真考虑收入潜力。

如果我们看一下我引用的表格,我们会发现一些反对这一观点的证据。增长率最高的两个专业是医疗保健和执法。获得“卫生职业及相关专业”学士学位的人数翻了一番多,从2005年的80865人增加到2015年的216228人。我们可以发现,“国土安全、执法和消防”又翻了一番,从2005年的30,723人增加到2015年的62,723人。在过去的几年里,这些租金高、政府驱动的行业不是增长很快的行业吗?如果是这样的话,我们可以看到,人们已经对市场驱动的就业需求做出了反应。

(附注:如果我们认为人才流动反映了对经济的预期,如果我们认为学士学位数量的变化是这种流动的一个很好的衡量标准,那么我们就会看到更多证据支持亚历克斯·塔巴罗克的观点,即我们正在成为一个医疗保健战争州,而不是一个创新型国家。)

与此同时,我很高兴地指出,从2005年到2015年,主修哲学的人数略有下降,从11584人下降到11072人。这是另一个迹象,表明人们在某种程度上对劳动力市场的需求做出了反应。我的观点是,所有足够聪明的人作为哲学专业出类拔萃的人也都足够聪明,不会真的去攻读那个专业。(我在这里不能说是如此原创-维特根斯坦说,他在航空航天工程中看到的哲学比他在哲学中看到的更多。)。

4.移民抢走了所有的工作。我认为有两种方式可以看出移民没有满足所有的边际需求。首先,大多数来美国工作的移民都持有H1B签证;自2004年以来,这个数字每年都被限制在6.5万人以内。(还有其他签证项目可供选择,但H1B是主要的签证项目,并不是所有的签证项目都提供给软件工程师。)。其次,工资上涨应该是劳动力短缺的初步证据。如果移民涌入市场,那么我们应该看到工资下降了;事实并非如此。

要说移民阻碍了人们主修CS,需要辩称,学生们敏锐地意识到H1B上限的水平,预计在不久的将来某个时候会取消,因此发现进入这个领域太危险了,因为他们认为自己将在本国与外国工人竞争。也许吧。但是我不认为学生们对这个问题非常敏感。

5.反妇女文化。科技公司和CS部门有对女性不友好的名声。我正在看的NCES表格没有给出按性别划分的专业分类,所以我们不能判断CS专业的男性和女性所占比例是否与前几十年有显著差异。需要注意的一点是,攻读计算机科学专业的人数增长远远低于获得学士学位的男女。

从大学毕业的女性比男性多。(本段中引用的数据来自本表。)。1980年,男女各约有46.5万名应届毕业生。从那时起,获得学位的女性比男性多得多;2015年,812669名男性获得学士学位,而1082265名女性获得了学士学位。但自2005年以来,女性获得学士学位的增长率并没有明显超过男性。在过去十年中,获得学士学位的男性增加了32.5%,略高于女性的31.5%。女性在更高的基数上保持这样的增长率仍然很重要,但未来她们的增长可能不再比男性高得多。

重要的是,在这段时间里,男女学生30%的增长率都低于CS专业10%的增长率。我们不能从这个数据集中挑选出性别的细分,但我欢迎在下面的评论中提出如何找到这些数字的建议。

(六)反动力量。开发商的市场不受美国医学会(American Medical Association)这样的行会的限制,后者以质量控制的名义限制从医学院毕业的人数。

CS没有同样类型的行会大师,除非我们想要计算教员是自己履行这一职能的。这可能是因为在计算机科学学院工作的人鄙视那些想要高薪和科技生活的人;相反,他们寻找的是痴迷于理论的本科生,他们和他们一样对图灵和冯·诺伊曼等人感兴趣。因此,为了应对对CS专业的巨大新需求,他们大幅提高了标准,允许不超过500人毕业,而10年前只有450人毕业。他们没有迎合市场的需求,而是提高了标准,以至于他们没有达到更高比例的学生,将他们赶出了可爱的、纯粹的、学术领域。

我没有第一手经验。要确定这是一个因果解释,我们必须调查各个系毕业的学生相对于被淘汰的人数多了多少。后者很难确定,但可以追踪特定部门在过去几十年中是否提高了标准。

7.反书呆子文化。书呆子会吹,对吧?是啊,毫无疑问。但是,数学系、物理系和工程系不也充斥着书呆子吗?凭他们的选择,谁还能期待同样多的社会嘲笑呢?这些领域在CS没有增长的情况下出现了高速增长,这证明人们并没有避开所有不酷的专业,只避开了CS专业。

8.技能不匹配,缺乏初创企业的培训。这与我指责CS教师是反动派有关,但略有不同。也许所有的教授都过于理论化,永远不会成为科技公司的程序员。根据坊间证据,我看到大多数初创公司在招聘应届毕业生时都会犹豫不决,相反,他们希望人们在大学之外接受过一些培训。人们还听说,10X的程序员并不那么渴望培养新的人才;他们没有足够的动力这样做。

这可能是一个因素,但我认为这并不能很好地解释为什么很少有人致力于该领域的专业。学生们看到同龄人在大型科技公司实习,他们不一定知道他们的培训过于理论化。我认为这种认识不应该被吓倒;即使学生们确实意识到了这一点,他们也可能知道他们可以通过参加新兵训练营来补习自己的技能。

9.质量梯度。也许从排名前50的CS系毕业的学生很容易找到工作,但那些从该俱乐部以外毕业的学生则更难找到工作。但这是另一种解释,它的特点是比我们观察到的大一新生拥有的平均水平更高的成熟度。学生们有没有敏锐地感觉到最好的和其他的之间的质量梯度?为什么边缘学生没有被吸引到顶尖学校学习CS,为什么顶尖学生不想在非顶尖学校学习CS,特别是如果他或她可以找到新兵训练营和MOOC来支持学习?我不会看一眼学生的所作所为,立即得出他们是超理性的生物。

10.互联网泡沫带来的心理创伤。人们被巨大的科技泡沫深深地伤痕累累了吗?它在2001年破裂;如果CS专业的学生经历了很长一段时间的困难,那么他们可能成功地告诫了年轻人不要学CS专业。为了证明这一点,我们必须看看泡沫后毕业的人是否真的过得很艰难,以及大学生是否普遍意识到前几年毕业生所经历的困难。

11.不再有管道问题。2014年,CS专业的人数超过了2005年的数字,也就是之前的峰值。2015年,这个数字还更高。根据坊间证据,参加CS入门课程的人数似乎比以往任何时候都多。2014年相当于“社交网络”(Social Network)电影上映四年后;这似乎确实让人们对初创企业更感兴趣,所以也许科技在当时并不像现在看起来那么核心。

我喜欢把社交网络看作是科技界的撒谎者扑克牌:一个有意告诫这个行业的故事,而这个行业却对错误的人大肆宣扬。当然,斯特劳斯人对这两部作品的解读是,“说谎者的扑克”和“社交网络”都有意美化各自的行业;它们的创作者虔诚地表达的遗憾是绝对不能相信的。

即使今天管道爆裂,令人困惑的是,为什么高工资和硅谷的文化中心在过去十年没有吸引更多的人。任何提出论点的人都必须解释为什么今天的情况与2005年不同。也许我夸大了2010年前科技有多酷。

如果这篇帖子列在黑客新闻上,我邀请人们在那里或在这篇帖子上发表评论来提供讨论。总体而言,我会敦促人们不仅要解释这个行业存在的问题,还要解释它们是如何阻止大学生攻读CS专业的。大学新生不应该在校园里表现出超理性,也不会为了他们的未来而表现出超理性。为什么我们要让大学生敏锐地认识到不同技能水平之间的指数梯度,或者与编码相关的潜在身体问题,或者公司对应届毕业生缺乏培训?记住,大学生在专业选择上总是做出非理性的选择。是什么阻止他们学习这一令人兴奋的高薪职业?为什么他们改学数学、物理或工程学的人数更多呢?

我想知道学院在多大程度上对他们的标准过于严格,不愿意让任何人进入这个领域,特别是对那些有工作意识的人。软件错误通常是可逆的;CS部门不是毕业的桥梁工程师。如果我们责怪教师,人们是否应该推动CS系标准的彻底放松/重新定位?

让我们走进人才的最高端。我现在思考的另一个问题是:开发人员在多大程度上受到幂律分布的影响?是不是全球排名前25位的机器学习工程师的身价加起来相当于排名第二的300名最优秀的机器学习工程师,他们的身价与排名第二的1500名不相上下?如果这是正确的,我们应该如何评估最大的科技公司的定位?

也许现在是提出这样一个想法的好时机,即科技行业可能比我们想象的要小。按照一个宽泛的定义,旧金山湾区20%的工人在科技行业工作。英国“金融时报”Alphaville的马特·克莱因(Matt Klein)估计,美国软件行业在就业率和附加值方面都不算大。软件可能正在吞噬世界,但现在它要么只吃了一小口,要么我们无法很好地衡量它。

最后,彼得·泰尔(Peter Thiel)提出了一个更深思熟虑、更宏伟的问题:“科技行业有多大?这足以拯救所有西方文明吗?足以拯救美国吗?足以拯救加利福尼亚州吗?我认为它的规模足以救助旧金山市的政府工人工会。“。

我很高兴这篇帖子在评论区、黑客新闻、Reddit和Twitter上引发了更多讨论。在Twitter上,埃文·索塔斯(Evan Soltas)在Twitter上引用了斯坦福大学(Stanford)教授埃里克·罗伯茨(Eric Roberts)的一篇文章,从更长远的角度讨论了这个问题。

有几个人评论说,由于受到互联网泡沫的影响,我将专业调整到2005年是一种误导。我在上面的帖子中只是示意了一下,但这可能解释了为什么CS专业的数量没有上升的很大一部分原因。下面是一张更完整的图表,摘自埃里克·罗伯茨(Eric Roberts)的文章,从1975年开始,CS专业的数量。

哇,获得CS学位的人数真的是周期性的。1985年的第一个高峰对应于第一台IBM个人电脑的发布。第二个高峰对应的是2001年的互联网泡沫。我现在同意,01年的泡沫在很大程度上解释了后来的下降;人们毕业后进入了糟糕的就业市场,这把许多年轻学生吓跑了。然而,那一年可能是最糟糕的一年;到了2005年,谷歌进行了首次公开募股(IPO),Facebook在校园里普及,iPod取得了成功,iPhone将在两年后发布。这些公司吸引了学生重新学习CS,我们可以从2009年的再次上升中看出这一点。

这是一个巧妙的故事,但我还是要承认一些惊喜。难道要等到泡沫破灭15年后,我们才能看到大学生再次以同样的学位毕业吗?我想是的,如果其他行业也经历了类似的滞后,我很感兴趣。比如说,2003年入学的人们是否敏锐地意识到应届毕业生的痛苦程度?他们是否非常清楚当时的市场状况,并认为事情风险太大?当一、二年级学生看到泡沫破灭时,为什么他们没有早点改正呢?

此外,Matt Sherman指出,Stack Overflow的这项调查显示,四分之三的开发人员拥有学士或以上学历,以及其他许多有趣的数据。爱丽丝·马兹和一位电子邮件记者评论说,人们选择专业是因为害怕失败,而不是为了高工资;这就解释了为什么这么多人在争夺医学院的名额。我喜欢Bjoern Mi。

..