(本文发自「程序人生」- programmer_life 微信公众号)
一个月前我答应一位读者写篇关于大学的文章,还留言说「一个月内如果没写,请提醒我」,后来一出差,我把这事完全抛诸脑后,期满后人家把截图发过来善意提醒,我一看,慌了神,连忙双手蘸满墨汁,使劲在嘴里啜着,努力从脑海里挤出一些大学的影子。可大学对我而言已经成了一个遥远的回忆,里面的开心与失落,正经与荒唐,努力与放纵等等随着时间的流逝已似乎记不起来,纵使我拼命追忆,只像拿筛子去盛水。
谈到大学,似乎都要谈谈「独立之精神,自由之思想」,但看了etter的文章,我诚惶诚恐,不敢往大了去写,于是乎,抄起自己的老本行,还是写写我最熟悉的自己。
追忆过去是件比较痛苦的事情,整个过程像是透过毛玻璃,或者浸了油的纸看自己,不但模糊,还看不太懂。很多时候我就像进入了冥想盆的哈利波特,好想对画面中模糊的自己拽一把,说句「你这样做不对」,可是无从下手,更无从下口。
(一)
我高考那年,赶上好几摊子事。先是大学扩招,接着广东实行3+1试点,然后我母亲得了重病,最后莫名其妙地考前郑重填好的志愿考后又统统需要重填,总之是把我折腾得不轻。重填只是稍稍换了学校,其它没什么变化 —— 我的所有志愿都只填了计算机,并勾上不服从分配。
这志愿辗转到中大招办的老师手上,她叹了口气,摇了摇头,给我拨了电话:
「请问是xx同学么?你的分数离计算机专业差一点,很可惜。愿意转到应用数学么?」
「不愿意」我坚定而固执地回答。那时读了『未来之路』认定此生和计算机绑在一起的我还对国内的计算机专业教育抱着一种朝圣的态度,其它的一切可能都不在我的考虑范围之内。
「其实应用数学blablabla。。。你再和家长好好商量一下,过几天我再联系你,给我一个最终的答复」
那是我惟一一次和中大的老师接触。中大的老师非常nice,不厌其烦地给我讲应用数学的好处,以及以后和计算机的联系。可我听不进去。唯一能让我稍稍犹豫的是,我是否接受这个offer,以便离家近些,方便照顾母亲 —— 这也是我第一志愿报中大的初衷。和父亲商议一番,我们都认为这个选择是决定一生的选择,还是不要离开计算机专业。
于是,我开始期待哈工大的橄榄枝。
作为一个只有一次高考经验的人,我犯了一个可怕的错误,哈工大(计算机系)根本不提第二志愿的档。
近乎绝望地又等了半个多月,同学们一个个都找到了归宿,唯独我像断了线的风筝,在广东特有的暴雨中飘零。
最终东北大学计算机系收留了我。拿到通知书那天,我几乎要哭了,我一度悲伤地认为,那年我将无书可读。因为,除了一本的三个志愿外,我没有再报任何学校。
多年后我脑海里反复思索着一个问题:如果当时选择了中大,我的人生会是怎样?十多年后我渐渐想明白,—这世上本无如果,选择总是要付出机会成本,一旦选择就不必后悔。人生中没有哪一个选择真正是决定一生的选择,通向罗马的路有长有短,只是个时间问题。人生的路是以年,甚至以十年来记,成败并非决定于某个瞬间。当然,话说回来,不同时期的各种选择聚拢在一起定义了一个人。老子说「福兮祸所伏,祸兮福所倚」,生活中的玄机福祸多的去了,往前走就是了。
(二)
东北大学最出名的是东软集团和刘积仁。可惜互联网时代,IBM都日趋没落,何况同做软件/服务/系统集成的东软?但那时,东软如联想华为一样,是民族IT产业的丰碑。
大学的第一年,学生不允许拥有电脑。为了写段程序,我们得专门跑去机房,换上蓝布鞋套,小心翼翼地插入自己的软盘,打开同样蓝色的turbo C界面,写点什么。
那时计算机的普及率还不高,同学们对其还有敬畏感;而我,高一就有了自己的电脑,从DOS6起,历经win3.1,win95一路走来,早已失去了敬畏感。同学们还在努力地把老师「板书」的pascal从笔记中用很不纯熟的指法抄入turbo pascal,我已能自己构想一个问题,用C去解决。
这挺炫的,可惜班上只有5个女生,所以我的炫无人欣赏。计算机系一个可悲的存在是,就算全年级10个班的女生聚一起,顶多凑出个连级队伍。
当然我自己也很清楚,我比别人也就多看了一两本书,多玩了两年电脑 —— 就像跑马拉松,我多跑出去十几二十米而已。
我能理解学校不允许大一学生拥有电脑的初衷,但这种家长式的围追堵截其实适得其反。很多孩子被逼去了网吧,宿舍十一点锁大门的规定更是把不少人逼上了网吧通宵的道路。年轻的孩子们正处在荷尔蒙泛滥的光景,网吧老板招揽生意的法门就是游戏+各种刺激肾上腺素的图片和小电影。这种东西,在当时全国各地兴起的以中关村为样板的电子一条街都能买得到,5元钱一张,包退包换,买多了还打折。沈阳的三好街当然也不甘示弱,各种花样的盘都能搞得到。
国内的教育体制在中学和大学间有个巨大的断层。从中学一路走来,我们不太被允许过多接触外面的世界,就像孙猴子被压在五指山下一样,几年的时光,我们的生活空间,我们对社会的认知都封闭在一方小小的校园。同时,潜藏的体内的潘多拉盒子里的各种无知和FUD(惧,惑,疑)在慢慢堆积,堆积成一种可怕的存在。到了大学,突然没了管束,没了「保护伞」,潘多拉盒子一下子被打开,很容易给自己或者别人造成在灾难。
我记得数年前曾经看过一条新闻,说某著名高校的一个宿舍八名男生凑钱包了一个失足女,在宿舍里折腾了一晚,第二天一早失足女离开宿舍时,体力不支瘫倒在宿舍门口,然后整件事被捅出。事情出来后,学校,家长们,卫道士们纷纷指责学生道德败坏,却忘记了反思自己身上的问题。男生们为他们的行为付出了巨大的代价 —— 这是成人应该负有的责任,但暗藏在一波又一波学生身上的潘多拉盒子,却从未得到根治。
整个大一,我算是个乖孩子。上课认真,积极主动,没事去图书馆,门门功课成绩不错,拿各种奖学金,俨然一副学霸像。这不是说我体内没有潘多拉盒子,只不过它还在封禁当中继续累积实力 —— 这不知是要感谢还是诅咒学校对大一学生的严格控制。
(三)
大二我们都有了自己的电脑,宿舍一下子有点紧张。劳者多能,因为我在计算机方面领先那么一点点,班上,甚至外班有同学装电脑都会叫上我参谋。
假期回到家,亲朋好友一听我父亲介绍我是计算机专业的,立马像抓住了救命稻草:「帮我装个机吧」,「帮我杀杀毒」,「电脑起不来了,帮我看看」,「帮我重装个98」。。。直到现在,我跟老婆回娘家,家里的亲戚还会让我帮他们看看电脑:「我的360体检得分最近降下来了,帮我看看吧」。每当这种时刻来临,我都苦笑一下,想起prof. Randy说他母亲介绍他的窘迫情景:
This is my son. He's a doctor. But not the kind which can help people.
站在外行的角度,你就是个装机器的。装就是了。
有了自己的电脑,我大大减少了泡图书馆的时间,甚至减少了上课的时间。我把玩着各种新奇的软件,装了个双系统,跑win98和redhat。那时候还没有fedora,更别提ubuntu,跑Linux的唯一选择似乎就只有redhat(好像当时还出了红旗Linux)。在我周围的学生看来,搞个局域网,装个linux,再能写几行代码,简直就要成神一样的人物了。
我现在常常感慨眼界很重要。这也是为何现在的孩子要远比那时的我们强。眼界真是太不一样了,我都恨不得晚生一轮。我们用28.8k/56k的猫上网,同学家装了个ISDN顿时就感觉像上了天堂。我们不知道外国的同龄人在干嘛,我们甚至不知道当时的软件行业,尤其是互联网格局是什么。眼界缺失的时候,你就会为自己能装模作样在linux里列列目录,用C写个万年历(能计算闰年哦),用asp写写网页而沾沾自喜。
我高中的时候就会写网页,高考后还用frontpage做了一个为母亲祈福的网站,挂在网易(或者是geocities,记不得了)个人主页上。大二时ChinaRen已经开始红火,陈一舟、周云帆及杨宁他们在各个大学宣讲,就像偶像一样在台上基情四射,而台下都是对互联网还懵懵懂懂的我们。受ChinaRen的启发,困于ChinaRen的功能,我后来自己用asp给班级做了个班级网站,放上了大家的照片,还做了好多乱七八糟自己认为酷炫的功能(比如说4级题库)。当时体内的荷尔蒙没有指引我做个facemesh,可惜可惜^_^。不过这也成为我开始利用手中的技术不断获奖的开始。
大二我获得了好多奖,又得到了一份不错的兼职,每月好多银子进账,便开始飘飘然。道德经里有段话我特别喜欢:「不自见,故明;不自是,故彰;不自伐,故有功;不自矜,故长。」我每样都是反例:自见,自是,自伐,自矜。
那时的我,一边流连于各种比赛活动,一面在金钱面前开始迷失。每每从兼职那里拿回一大笔现金,我都会坐在床上,吐一口吐沫,用极不纯熟的点钞方式当着全宿舍人的面一张张数着,土豪到极点。如果当时身边有个姑娘,我一定会像孔乙己那样把钱排开,粗鄙地说:买!那得意和张扬,现在想想都恨不得扇自己一耳光。
说说大学时候的兼职。
大一时,兼职的唯一出路是家教。为了两个小时25-30元的收入,我不得不忍着严寒,把自己裹成一个粽子,穿梭半个城市去学生家里授课。冬天雪后的沈阳,路面上滑得紧,就像一面大镜子平铺在马路上,稍不注意,就会摔倒。有次我狠狠地摔倒在地面,裤子拉了个口子,里面暗红的毛裤露出来,像腿上挂了彩。我伤心地坐在地上,懊恼,无助,因为车被摔坏了,无法继续骑 —— 这一趟,收入是注定要损失了。
我教过的孩子,有两个特有意思。一个是教一个面容娇好身材火辣的富婆的孩子学电脑,两小时50元,谈妥价钱后,我把自行车交给了旁边的同学(我们那时候都是举着牌子站街的),坐上了富婆的车,被拉到据说是富人区的湖畔花园,像极了被包养的小黑脸。富婆的孩子6岁,聪明,很快就学会了quake 2的操作,连菜单的各个英文单词都了如指掌。教这样的孩子win98是对我的一种侮辱,因为他太鬼精灵,一堂课下来基本什么都会了,然后就缠着让我教他玩游戏。我教了教,后来索然无味,没上几次就跟富婆说她孩子已经都会了,不需要我了。富婆很仗义,给了我比实际收入要多的一笔钱。
另一个孩子是个要考高考的女孩。女孩长啥样不记得了,反正肯定不出众。大热天的,她把自己浑身上下裹得严严实实,似乎除了脸手以外的部位,被我看上一眼,就会失贞;她母亲还坐在一边虎视眈眈,全程监控,仿佛我是从监狱刚刚放出的恶棍,稍有不慎,她的宝贝女儿就会惨遭毒手。我一般会跟学生瞎扯几句讲讲笑话作为开场白,但每次去她那里,都不得不把脸拉长,不苟言笑,装成一副老学究的样子。跟这样的学生/家庭上课,大家都累。
大二,一份意外的美差落到我头上。有个私企老板,要做一个数值计算的软件,运算量很大,找了好几拨人做出来的东西他都不满意。老师后来找到了我,我发现自己做这样的东西似乎很顺手,并不太费力气,就很快做了个原型,顺利地通过了面试。老板问我一个月要多少钱,我憋了足了劲,极力想象自己内裤外穿飞向氪星的样子,才诚惶诚恐报出1500的包月价,期待他口下留情不要直接拦腰砍下,没想到对方一口同意,让我喜出望外。我们合作了不到半年后,他便主动将价钱提到了3000元,这是后话。2000年的时候东软给本科应届生的工资不过1900,外企咱不比,土豪如华为也就是本科3000-4000的样子。我周末随便熬熬夜,在毫不耽误功课的前提下,就拿到这个数,别提多吊了。如果上天赐我一条尾巴,让我变身赛亚人,那时我的尾巴一定翘得比头还要高。
所谓人无远虑,必有近忧。突如其来的收入让我不必苦哈哈做家教,不必每天花5元钱量入为出地解决三餐,这都是极好的。但我滋生出来的狂傲,和一直在慢慢堆积的荷尔蒙差点毁了我。我开始逃课,追剧,打游戏,看小电影,然后熬整整一个周末写出代码交差。大一从林肯,富兰克林,盖子还有各种卡耐基鸡汤书籍获得的正能量被这股暗黑的迷雾驱散得一干二净,我一点点在放纵中把自己搞垮。
好在一贯以来我不是个大手大脚花钱,过纸醉金迷生活的人。纵然过得荒唐,我还会记得每次积攒够一万元后便寄回家里,补贴家用。我自大一起学费贷了款,生活费基本上自给自足,这时能反哺家庭,既是我的福德,也是我的大幸。如若不然,我要么在股市里把钱输得一干二净,要么在越来越多的金钱面前迷失得更加彻底。
说到股市,大二我就开始了业余股民的炒股生涯。很快我经历了人生最惨痛的教训:我12元买入400股四川长虹,在股灾中一路下探到4元钱。而我使用的券商南方证券,也在随后的某一年轰然倒闭。
在国内,几乎每个有正经职业的男人都做过股票。我做了多年的老股民,见识过海虹控股,驰宏锌锗这样的妖股,也在长线持有万科,苏宁,招行的过程中获利颇丰。整体而言,我虽然在股市上斩获不少,房子,车子都有股市的功劳,但浸淫多年后我清醒过来:一件事如果你不放精力在里面,则不如不做。我常常是买了股票,然后把它忘在一边,一年后甚至几年后才想起来。这样其实和撞大运差不多:我不关心经济走势,不紧张公司财报,只是需要用钱的时候,从股市里把钱提出来。盈亏完全看老天的心情。
回到我的大二年华。那时我心智成熟度虽比同龄人高一点点,但和现在的孩子比,差了不是一星半点。现在的孩子接触了太多太多的外来事物,小小年纪就开始体验创业,真让我为自己感到羞耻。如果我当时把多余的荷尔蒙洒在一个未知的事业上,该多好!
但是我把它撒向了QQ。身旁的同学一个个都开始和女友或花前月下,或共聚图书馆鏖战,我感到了孤独和紧张。18岁正是血脉贲张的年华,正如冯唐说『十八岁给我一个姑娘』,一个没有方向不知未来不具眼界的青春期男孩内心里熊熊燃烧的烈火被QQ点燃了。彼时的QQ正如半年前尚未转型的陌陌,少男少女在上面聊些什么,你懂的。网络上,如果你不说,没人会知道你是一条狗。于是我开始包装自己,天文地理古今中外诗词歌赋,什么讨喜看什么。那时大家还比较矜持,就像警幻教宝玉云雨前又是吟诗作赋,又是才艺表演地先铺垫良久;而如今要多露骨有多露骨,上来就直奔主题。创业那会,有次听个讲座,关于如何运营屌丝男群体,有感而发,我于是在陌陌上注册了个账号,用了个美艳的妹纸头像,结果加进来的男生一个比一个猥琐,句句话不离下半身,有个甚至一上来就发了自己的果照,恶心得我差点把手机给砸了。这真和2000年的网络环境大不一样。
在QQ上我钓到了一个异地的妹纸,跟我一样春情勃发。这是一段动机不纯的恋爱,展开地火热,结束地也很快。半年多时光就在调情和异地恋这么耗过去了,我毫无长进。唯一宽慰的是,兼职还在继续做着,我也顺利加入了科协。
(四)
大三真正接触了专业课,让我感慨计算机专业的无用。很多课本我自学的效果要比听老师讲还好 —— 其实大部分时间,老师不是在讲,而是在板书。学过的好几门专业课中,老师板书的欲望比小男生们想妹纸的欲望还要强烈。一个quicksort写下了半个黑板,一条inner join的SQL query,老师恨不得一个字符一个字符从手中的教案抄到黑板上。
所以我逃课的概率越来越大,参加科协活动的时间越来越长。我喜欢和一群对技术有着挚爱的人聚在一起,哪怕他们在贬低我的asp,抬高他们的php,我也无所谓,只要不要让我听到粉笔敲击黑板的声音就成。现在的geek男孩儿们聚在一起都是 "write the code, change the world",我们那会儿能想到的也就是做个管理信息系统,"write the code, make the money"。眼界啊眼界!
2001年是.net的始发年,那时visual http://studio.net beta一套盘大概四五张,装一次感觉要半个世纪。出于对微软技术的挚爱,我毫不犹豫地舍弃了VC/VB,冲进了.net的怀抱。那时我已经用delphi写兼职的软件有段时间了,一时起意,用.net重写全部代码。可惜彼时的.net在赛扬上奔跑的速度像一坨屎,我所依赖的StringGrid更是内存贪吃蛇,多少内存似乎都不够用。当我初始化一个六万行,六十列的矩阵时,硬盘吭哧吭哧狂转却转不出所以然让我感觉要便秘。无奈之下,我又换回了delphi。
在用delphi之前,我一直用VB。VB的速度很抓狂,但写起代码来确实很傻瓜。本来delphi是寝室里老大的研究方向,但他还没读完那本delphi入门指南,我就把它抢过来,花了好几天学会了。有时候我常想,自己学语言是有点天赋:全家从新疆搬到酒泉后我就满口酒泉话,被父母强行制止,后来再搬到广东,一个月会听粤语,三个月交流无障碍;在juniper呆了一段时间后,我的英语尽管带点阿三和东欧口音,但也能比较流畅自如地对话。至于编程语言,我历经basic, c, pascal, C#, php, python, erlang, go, haskell等等,似乎语法从来不是障碍。这可能跟我实用主义的性格有关:一门语言,语法略懂,我就迫不及待地上手编码,遇到问题在回过头来补。这样学习速度很快,缺点是不那么系统。但编程不就是用来解决问题的么?
微软在01年搞了个.net训练营,我被推选去参加训练营。训练营讲了好多实用的东西,让我第一次感受到了industry和college的鸿沟。训练营结束后我们得知微软要举行一个亚洲.net开发者大赛,于是大家组了个团队,算是代表东北大学参加比赛 —— 我是团队里资历最浅的(可能是贡献代码最多的)。
人生有了新的奔头,我的动机不纯的恋情便渐渐淡了下来。虽然没有正式分手,但不再上线的QQ无声地宣告着这一切。
我们用.net做的一个企业信息系统在东北区顺利闯关,拿到了通往北京的车票。那时虽不算正式,但我已经被默许使用学院实验室的设备 —— 这是研究生学生的特权。
在北航举办的比赛我们败给了北航,后者代表中国参加了汉城的亚洲区决赛。回来的路上,大家意兴阑珊。
尽管遭受了失败,但在那次比赛了我写了很多代码,掌握了不少技术。比如说现在都没人知道的microsoft agent(就是office那个回形针,或者瑞星的小狮子采用的技术)。这技术后来在向我现在的LP求爱时用上了 - 我做了个电子情书,打开后屏幕上会弹出一个小人,然后开始「我上看,下看,左看,右看」边做动作边唱(du)歌(ci)。闷骚程序员即使不会声情并茂地唱"I'll never break your heart",祭起这样的杀招也绝对能捕获妹纸芳心。
当然,这技术就跟红极一时的flash一样,已经消失很久,90后可能都从未听过了。
比赛归来,我正式加入了实验室的863项目组,研究扯淡的虚拟企业信息集成。扯淡归扯淡,论文还是要发表滴。经历几次失败后,我摸索出发论文的技巧,成功以第一作者身份在核心期刊「计算机应用」(成都的,好像是这个名字)发了一篇文章。我默默地感觉在国内核心期刊上发表论文也不过如此 —— 精髓就几个字:「把简单问题复杂化」。比如说,一个你跟同学都能说得明白的算法肯定上不了台面,必须将其公式化,公式越复杂越好,最好看的人觉得「哇靠,屌爆了」,那你就成功了。当然,光有公式化的算法还不够,你还要有牛逼的定义,再辅以云里雾里的示意图。示意图和公式要一个德性,不是用来让人看懂的,而是让人看不懂 —— 别人越看不懂,你的逼格就越高。如法炮制,我又发表了两篇核心期刊。
之后再发表就没有意思了。整个学术界的迂腐让我震惊,大家都不得不跟吞了鸦片一样,在烟雾缭绕中极尽浪费生命之能来摧残自己的智商。
我会告诉你那年的863项目验收是在东莞举行的么?所有学校的教授级的头面人物齐聚东莞,大家大吃大喝了好几天。我很好奇,02/03年的东莞究竟是个什么样的城市?有ISO么?(我虽然也跟着去了,但答完辩就就近回了家)
(五)
大四的生活很平淡,主要是找工作。填报志愿的倔驴脾气又上来了,这一次,我是非北京不去。那年就业行情不好,华为们还在消化前两年的人员库存,知名外企基本不太鸟东北的学校(可能哈工大除外吧),所以也没有像样的校招。NEC算是听上去不错的企业,可它不考计算机,不考编程,偏偏玩智力题。这种给你三个形状让你挑下一个形状的恶心题目如果没做过做起来还真是慢,我做了一半就有人交卷走人了。那时我最不屑的就是面经题库,但最终也不得不向现实低头,看了BBS里的一些题目。
盼星星盼月亮,终于等来了神州数码的校园招聘。从笔试到面试再到见东北区总经理,我感觉大公司找个人的过程真是吃饱了撑的,不但玩弄可怜的学生,还浪费他们自己的时间。当然,如果校招作为刷企业存在感和形象的手段那么我能理解。见完东北区总经理后,HR让我们等总部的消息,这一等,就是一个多月。正好这时中软发来了到北京面试的通知,在过了大柳树北(中软总部的位置,这地名我记得特清楚)的on-site面试后,我决定去神码总部探一探,看看究竟怎么回事。跟HR事先联系好后,我来到了神码总部。显然,他们已经忘记了有这么回事,或者,那批校招的胜出者,他们本打算一个不招。我的出现给他们出了个小小的难题,于是,又安排了一轮轮新的面试。有了中软的offer,我底气足了很多,表现可能也超出他们的预期,于是,神码也发了offer。
这次的经验告诉我,有些事情,你积极一点,多努力一点,也许就能做成。如果当时我静等神码的offer,可能永远也等不到。
回到沈阳,我继续期待像IBM,Microsoft这样如日中天的外企能来个校招,可惜天不遂人愿。后来权衡之下,我痛苦地放弃了在中软做.net的机会,选择了在神码做网络设备这个我根本没有概念的行业。那时的学生,如果有幸加入外企,收入高,地位好,是一件非常荣耀的事情,所以应届生挤破头脑往这条路上钻。十年河东,十年河西。现在国内的外企整体境况不佳,或者说民营企业大幅崛起,抢走了外企的风头,总之如果让现在的应届生选工作,微软,IBM,Oracle和百度阿里腾讯比,估计绝大多数人都会选择后者。
(六)
失去了的,常常是最宝贵的,聪明人总是在失去之前而格外珍惜。每一段时光,一旦走过,就永远过去。读了『创新者的国度』后,我特别羡慕以色列人,他们全民皆兵,学生在高中毕业后要服役三年。在这三年里,他们面对社会,面对团队,面对上司要经历很多东西,学习很多课程。最关键的是,在这三年里,他们更全面地认识了自己,变得更加成熟。当他们走回校园时,他们更清楚自己想要什么。变得成熟不是一件容易的事情,我花了很多时间才渐渐想明白自己是谁,想要什么。
正欲结尾,无意看到朋友圈里途客圈时代一个很神奇的实习生写的一段话,把它献给大家:「越来越相信,创造美好的代价是努力,失望和毅力。首先是疼痛,然后才是欢乐」。希望每个人的大学生活都能创造美好。
如果你对本如果你对本文感兴趣,欢迎订阅公众号『程序人生』(搜索微信号 programmer_life)。每篇文章都力求原汁原味,早8点与您相会。