五月,甲骨文中国研发中心裁员,数百中年程序员失业。有人哀其不幸,有人讥其不警。作为同行,在谈谈个人看法之前,先讲一个发生在美国的故事

美国的西弗吉尼亚州是一个经济比较落后的州。这个州的支柱产业是煤矿开采,如今已是夕阳产业。很多人只能找一份联邦最低工资的工作勉强糊口。

几年前,一家非盈利机构来到这里的贝克利市,和当地政府合作,带来了一个美好的计划:培训人们写代码,找到高薪工作,改变他们无望的生活。具体模式是:学员免费参加16周的代码训练营,之后他们成为机构雇员,机构会将他们派到各种客户项目工作,赚到工资,机构赚到咨询费,同时他们也在代码训练营从事助教,帮助更多人,做到可持续发展。

有些人为此牺牲了他们糊口的工作和微薄的积蓄,全职报名参加了这个训练营。但事情的发展却和人们的美好希望相悖:没有像样的课程表——意味着基本上要靠自己;编程语言宛如天书咒语——这里学的是Ruby,从业人员普遍认为很简单;机构的老师本身也提供不了实质性帮助——有问题?自己去Google一下;当初机构承诺的工作机会,也如镜花水月——有人做了助教,但很快被解雇,最终只有一个人找到了相关工作。面对不尽人意的形势,这家机构的管理层在做什么呢?周游世界,花天酒地。如今,在矿城的这场本应是带来社会正面影响的活动无果而终。

问题出在哪里?是学员不认真,亦或老师不负责,亦或机构在忽悠?根本的原因,是不切实际的期望:写代码可以速成。其实,程序员这个职业和建筑师、医生这样的职业类似,都需要长期大量的专业训练,才能形成生产力。 诚然,写出一段可以自娱的程序是很容易做到的:打印Hello World,做一个对话框,甚至建立一个网站,如今都仅仅是几行代码的事。于是许多人相信,或者试图让其他人相信:准备台电脑上几个礼拜的课,就可以投身这个行业,敲敲键盘写写代码,拿一份不错的薪水,从此衣食无忧。但这样的水平无法在行业立足:初级程序员需要编写准确,高效,易读,可维护的代码,中级程序员需要对软件和系统架构熟悉和游刃有余,高级程序员更需要定位和解决复杂问题,把握团队、公司甚至行业方向。

贝克利市的代码训练营给当地人带来的是一个画饼,他们无法揭示软件工程世界的全貌。与此相对的是,在西弗吉尼亚邻州,宾夕法尼亚州的匹兹堡,许多来自世界各地的学生来到以计算机科学及工程教育著名的CMU,在这里写代码,做项目,参加编程比赛,刷题,实习,再离开这所大学步入职业生涯。因为甲骨文确实看重名校资历,不少人也会从甲骨文开始,不过即便他们之后决定离开甲骨文,经历CMU环境熏陶的他们也会顺利找到心仪的工作。

所以,我并不担心北京甲骨文的被裁员工。中年失业固然让人紧张,但经历过系统训练的他们,起点和功底依然可期。