踩进这个行业有一段时间,虽然不久,但我一直疑惑的就是“青春饭”问题,我觉得十分奇怪,为什么有这么一说。
我周围接触的人,有不少40多、50多岁了还在做计算机技术研究的,据他们所说,50岁前的时候不太能够感受到有什么区别,在50岁后,才觉得有力不从心。这远远地超出大家说的30岁,多出了20年的时间。即使是看看国外,老程序员也是一大堆一大堆的,像IBM,Microsoft,SUN中,超过30岁的程序员也大有人在。
看看其它行业,与软件业比较近似的:如电子、建筑等行业中,超过30岁的人又混得不错的人,多得不可胜数,而且往往主要的生产力也集中在30~40岁之间,他们的经验是十分宝贵的。
在软件业,难道经验就不重要了吗?我不相信,一个刚毕业的毛头小伙子能够理解各行业的间的商业运作流程,再加国内计算机教学的严重问题,有许多计算机专业毕业的大学生(包括某些名校大量的研究生),根本就不知道什么是编程,什么是软件。
反而观其之,在中国的软件行业内部,编程高手的比例非计算机专业的比计算机专业多出了许多倍,谭浩强教授也曾经就此发出过疑问。从其它专业转行过来的搞计算机,搞得又比较好的,主要是数学、物理、电子技术、外语、财务等专业的人,这意味着什么?
国内的大学中计算机教育十分落后,甚至许多学校出来的计算机专业的学生,对实际的项目中的元素一无所知。数学是计算机中的基础部分,搞计算机理论研究,是必备的;物理专业毕业的学生,逻辑分析能力较强,搞建筑行业、卫星发射有专业优势;电子技术专业毕业的不用说了,主要是以单片机与汇编为主的居多;外语专业毕业的,对国外的技术性资料能够有第一手的掌握,对技术的引进方面,有不可磨灭的作用;财务专业的,针对国内的进销存+财务=ERP的行业状况,具有十分巨大的优势。
结果,最差的,就是计算机专业毕业的学生,学得好一点要么去搞底层开发,要么去开发烂得不能再烂的信息管理软件(因为管理软件也需要许多管理理论,所以....)。
(当然,其它行业转行过来,成为垃圾程序员的也十分之多,暂时不表,因为计算机专业毕业出来成为垃圾程序员的数量也不少。)
虽然国内有大量的计算机专业的毕业的人,但国内软件仍旧发展不起来,原因就在于此,其它行业的转过来得心应手(当然,是指对计算机具有很大兴趣的,现在做软件比原来简单多了,而且学习的门槛也大大地降低)。然而计算机行业毕业的人,也许是当年IT业的影响,却大都心浮气躁,不肯学习行业经验(我是指在大部分人),以至产生了这种怪异的现象。
典型的例子就是:计算机专业毕业的人,一天到晚,都在争论哪种语言更好,哪种语言不行。然其它行业过来的人,却没有心思管这些,什么最好学,就去学什么。最后计算机专业的争论没个结果,而其它转行过来的人,由于自己的不足,却在虚心学习着。
就国内目前的计算机教育水平来说,计算机专业的学习新东西与非计算机专业的人学习新东西,都在一条起跑线上。
按照这样计算,一个人从大学毕业后,要真正的深入到行业之中,并积攒足够的经验,聪明一点的,无论如何也需要三五年的时间,而且由于这些是非技术性的东西,学得如何,还得看个人的努力程度。
一般人是22岁从大学毕业,三五年后,成为合格的程序员,大约是25~28岁,如果按30岁为界,就意味着也只有3~5年的的实际贡献期,是不是太低了点?
计算机发展到现在也不过几年,国内从八几年开始有编程的人,九几年,才真正的有大规模的软件行业,也就是说,在国内,编程技术最多也不过才发展了不到二十年左右的时间,初期编程技术不成熟,一直发展到现在的较为成熟以及大量的便利性工具,让程序员们从代码的旋涡得以抽身,算来算去,提出30岁后就不能再当程序员的,不过也就那几批人,而且那批人的大部分素质也并不高,由此可鉴,说什么30岁不适合于搞编程的说法,并不能令人信服。(经过文革的人,大多思维混乱,一般受到的教育层次也并不是很高)
我认为,程序员在30岁后,虽然不适合搞新项目的开发,但却最适合于对原有项目进行维护与扩充,程序员的经验是十分宝贵的,换之言之,程序员想要长期搞开发,出路应该是产品化项目的道路。
末了,还想说一句,30岁的问题不知道是哪个脑筋有点问题的人提出来的,要么是IT高潮期,看着IT人员收入太高,胡编的,要么是有一两个不适合于这个行业的程序员说的,然后大家就奉为经典。
未完,吃完饭后回来继续写。