已经迈过了30岁人生大关了,这个时候很适合谈谈这个话题。目前我自己还奋战在程序代码的第一线,我熟识的同年龄段的一些程序员朋友也无不如此,其中很多人已经在公司担任非常重要的职位了,有些已经到了公司的最高管理层,这些人中基本上至少都在中层管理的位置上。
随着年龄的增长和阅历的增加,一个具有良好工作习惯的程序员,在多年的团队开发过程中,不可避免的培养了自己管理团队的能力和沟通表达的能力,如果到30岁都做不到这一点,那只能说你这么多年来就根本没有好好做过项目。当然很重要的一点是,做管理层不意味着你要脱离开发实践,特别是对于软件行业来说更是如此。一个技术问题卡壳了,你管理水平再高也无济于事阿!这个时候就看你能不能奋战在第一线,成为大家的主心骨了。《功夫》里面有句台词说得很好,“能力越大,责任越大”,我觉得一个程序员也应该具备这种意识,除了不断提高自己的技术水平,同时也应该主动承担更多的责任,你的责任心越大,就能够做更重要的事情,让周围的人越对你产生心理依赖感,时间久了,你自然而然就成了开发团队的Leader,几年下来,成为公司技术方面的顶梁柱或者成为公司高管,并不是什么难事。至少从我身边这么多朋友看过来,就是这样。所以,我很反感什么30岁就不能做程序员,30岁就要转行的悲观论调,有这样想法的人根本就不适合做程序员,转行还是趁早的好。
一个有美好前途的程序员,应该具备如下的素质:
1、对技术始终保持浓厚的兴趣,不抱残守缺,要“喜新厌旧”!
这一点直接决定了一个程序员能不能成为高手,有没有前途。我认识的坚持做技术的朋友中间,处在最高位置的那些人都是那种兴趣及其广泛,知识面及其广博的,而且对新的技术保持足够的敏感度,并且绝不吝惜自己赖以成名的技术,该抛弃的时候绝不会犹豫和可惜。简单来说就是既要“喜新”,又要“厌旧”。
我自己不是科班出身的,只因为98年毕业的时候互联网最热,就投身进来做技术了。如果那个年代互联网不热门,我也很有可能就做证券行业了。我觉得自己只所以能够比很多技术人员水平更高,原因也就不外上面这几点:对技术保持浓厚的兴趣;孜孜不倦的学习新技术;喜新,而又毫不吝惜的厌旧。
很多开发人员很害怕自己辛辛苦苦学习掌握的技术过时,很像守财奴,其实软件行业唯一不变的就是变化,你守是守不住的,必须积极主动的进攻,主动掌握新技术,而不是被动的等待新技术把你给淘汰掉。而且长期坚持不懈的学习会提高你的学习能力,开阔你的视野,培养一个良好的学习习惯,而同时这些方面又会反过来使你学习新技术的速度越来越快。
我自己现在就有这种感觉,当你对某些知识领域一无所知的时候,如果你总是躲避,不去接触,那么你永远站在门外,而如果你坚持不懈的学习下去,你会发现你懂得越多就学得越快,到后来,你甚至可以培养出很敏锐的技术直觉,一种新技术好与不好,有没有前途,你只要花很少的时间就可以自己判断的出来。所以虽然框架满天飞,我觉得我自己从来没有出现过无所适从的感觉,如果不知道这个框架好,还是那个框架好,那就花点时间都去学习一下,很快就知道哪个好哪个不好,判断的标准自己心里早就有数。
到了30岁,在技术方面我对自己很欣慰的一点是我发现自己的学习能力完全没有下降,甚至越来越强,有些新的东西花很少的时间学习,就可以取得比很多人花很久时间都要好的效果,甚至能够立刻结合以前的经验,看出来这种新东西存在的缺陷和未来的发展方向。
2、要有强烈的责任感
这一点上面已经提到了,一个有责任感的程序员,他到了30岁一定会成为一个好的技术管理者,就算他曾经有管理和交流能力方面的缺陷,他以后也会做的很好。
那些说什么30岁就得转行的人在我看来就是软件行业的逃兵,他根本就进错了这一行。