从没想过找工作是这么难的事,第一次切实体会到毕业就失业的恐惧。
从九月份学校的TechConnect和career fair开始给大大小小的公司投了几十份简历,大多没有了下文。虽然拿到了几个大公司的面试,却也终究是技不如人丢失了机会。都说computer science和software engineering是缺口最大的职业,也是在美国最好找工作的职业,但是这一个多月以来的经历却让我开始怀疑这个论断的的片面性。
的确,在这个software as a service盈利模式快速发展的年代,越来越多的公司用几乎零边际成本的软件产业往财富五百强的方向爬行。几乎每一个传统的产业都可以有对应的互联网发展模式来获得更壮大的客户群体以及更低廉的服务生产成本。在创业公司里,基于开发软件的创业公司占了绝对的大多数。翻了翻unicorn companies list,主要产品非软件的公司寥寥无几。全面创业时代,门槛低成本低的软件开发成为了很多未曾在一个特定行业摸爬滚打多年的创业者的首选。这样想来,软件工程的缺口一定是源源不断地增长,那么寻找一份software engineering的工作的确应当不难。
然而这一个月的经历让我思考,dynamic balancing是universal law。越来越多的job opening导致了越来越多的人开始从各行各业转向计算机科学。拿Duke来说,computer science本不是我校强势学科,但是俨然已成为全校最大的faculty。毫不夸张地说,随便从校园里拉一个人,只要不是学文科的,十有八九是,或者准备成为一个compsci major或者minor。从两年前一节基础算法课enrollment 150人左右到目前的230+人,这样的增长还在继续。compsci是一个不讲究出身的学科,所有人,有一台电脑有一个wifi就可以开始钻研。所以说,随着缺口增长而不断增长,甚至增长更快的,是有实力竞争软件工程岗位的求职者。
从很多方面来说,互联网都是一个equalizing factor。Airbnb的模式,让没那么有钱的人住得起大别墅;Uber的模式,让不那么有钱的人坐得起出租车。即使是从学习成本上来说,计算机科学也是一个(或许是仅次于数学)的低成本学科。学习数学,你可能需要一位好的老师,做出成就,你需要很多的勤奋和天赋。学习工程,你需要一个土豪的大学提供昂贵的设备。但是学习计算机科学,纸笔计算机足以。这个行业最尖端的人所拥有的设施,或者说他们达成伟大成就所需要的资源并不比一个手持macbook的学生(比如我)来得多。不只是成本,CS工作的门槛在我来看也是相对较低的。在美国,如果resume过关能拿到technical interview,那么足够擅长一门主要语言,知道基本的数据结构和算法就可以找到软件工程师的工作。相比电子工程,机械工程,医生或者是律师这样需要花费更大时间精力去接受training才可以就职的职业来说,抑或是相对于金融行业那种即要求你是target school名校毕业, 又要是满GPA或者接近于满GPA才能找到工作的领域来说,CS的门槛可以说是相当低了。找到一个工作是第一步,却也是在我看来可能是最重要的一步。因为不会的东西可以慢慢学,从工作中学,不会,不再是一个门槛。
与此相对的是CS的高收入。CS在各行各业的高收入是众所皆知的。在我看来,高收入和低门槛所造就的是一种(population) inversion。其结果呢?经济也许会通过自我平衡慢慢将这种不合理的inversion填平。但是从另一方面来说,CS却也是有改变各行各业的潜质,导致这样的inversion被填平的速率变得很慢。
anw,本文无重点,只是想问一个问题:在各行各业都被CS改变的时代,我们该何去何从。