• 2015-08-08

    大龄程序员

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/273611488.html

    这是我在知乎上的一篇回帖:

    要是写代码 写到三十岁没升到管理怎么办啊?

    我每天还在写代码,与人讨论技术实现细节,35岁那年,我写的Moco拿了Oracle的Duke选择奖。

    思维误区

    我还没开始工作的时候,有人就在说:程序员能做到30岁吗?
    我快到30岁时,有人在问:35岁还能做程序员吗?
    过了35之后,我已经看到了新的讨论:40岁程序员怎么办?
    估计10年之后,新的讨论会是:程序员50岁以后的职业发展是什么样子的。

    这反映了一个重要的事实,程序员是中国的一个新兴职业,发展时间还不够长。当时间逐渐拉长,越来越多大龄程序员就会出现。

    写代码和做管理

    如果你热爱写代码,那就去写。但是,这里必须知道一个前提,写代码和写代码是不一样的。

    以现在的普遍情况看,20多岁的程序员大多属于初出茅庐,写代码大多是以完成功能为主,而到了30多岁,写程序大约十年左右,需要考虑的方方面面必然要更多,比如,这个需求是否合理,从架构层面会造成什么样的影响,是否能找到更简洁的解决方案,这个代码写出来别人是否容易理解等等。

    30岁之后,精力会下降,这是生理决定的,如果这时候还和年轻人比拼堆代码的速度,靠加班熬夜,那必然是输了。而且,这种做法始终在低水平徘徊,自己做时间长了也会心生厌倦,所以,这不是一个可持续的模式。

    很多人想30岁就做管理,可是,哪有那么多人让你管理啊!为什么之前有那么多少年得志的故事?还是前面的那个逻辑,之前做的人少,所以,机会多。现在IT行业的人才积累已经达到了相当的规模,机会就会减少。当然,投身创业公司是另外一个选择,但前提是这个创业公司能做起来。不过,即便是有机会,为什么是你?

    不管做什么,自己有本事才是前提。

    成长之路

    以我个人的成长经验来看,不断地和更高水平的人过招,是保证成长的前提。

    初入职场,我也以为自己的成长路径会是写几年程序,然后,做管理。很幸运的是,在职业生涯之初,我遇到一个水平很高的人,他让我看到了一种心生向往的状态,于是,我就下定决心,成为一个优秀的程序员。更为幸运的是,我们俩成了很好的朋友,十几年下来,每当我进步了一些,他却又在我前面更远的地方。虽然我们做的领域截然不同,但从他身上得到的启发却一直激励我前进,比如,看到了他做的一个东西,我便下定决心有一个自己的代表作,这就是后来的Moco。如今,他年近40,依然是各大公司争相高薪邀请的人,而我知道,有他在前面奔跑,我就不能停下来。

    加入ThoughtWorks的选择,也是为了与高手过招。2007年加入时,那里汇聚了当时我听说过的许多牛人,后来,还有机会和Martin Fowler这样的大师请教问题。在ThoughtWorks工作的八年,让我打开了自己的眼界,能够更加虚心地向更多高手学习,得到了个人全方位的综合提高。

    就发展而言,如果身边没有高手怎么办?那就去找一个能和高手近距离过招的地方。

    不过,这里说的并不等价于大公司。大公司里固然有很多高手,但问题是你有多少机会和这些人一起工作。比如,我们知道Jeff Dean很厉害,但加入Google就能和他一起工作吗?所以,比起在哪里工作,和什么样的人在一起工作会更重要。

    从正常选择公司的方式来说,面试是一个了解公司、了解团队的机会。如果负责招聘的人会和你一起工作,那就可以好好考察一番。如果不是,那一定要尝试见见团队,最重要的是,见见团队里的高手。如果这个高手的状态不能让你羡慕,那他就不是你的目标。

    当然,有了高手,如何成长,那就是每个人自己的事情了。

    分享到:
    引用地址: