“30岁问题”产生的重要原因:企业对程序员发展规划的不重视和程序员对自身发展方向不明确“30岁问题”并不象更年期那样的阶段性心理、生理问题,因此它的产生是多方面原因造成的。首先中国内地的软件大环境不成熟,大多数软件公司都追求短期效益,体现在人才招聘上就是以30岁作为一个界限。而且公司对程序员的发展也很难有规划。有位叫张俊的朋友这么说:“我曾做过的10多家IT企业,没有一家真正关心过员工的职业生涯规划,当然就更没有哪一家曾把企业的发展计划和员工个人的职业生涯规划结合起来了。”包括在德国的一家软件公司工作的朋友也很遗憾地谈到他们公司也没有这方面的指导,大部分公司仅仅是把开发人员教会能够干活就完事了,对于员工的教育培养没有任何长远的打算。在这种情况下,就很难要求程序员将自身的发展紧紧结合在公司的发展上。很多人认为自己公司的管理为零,□不过遵守考勤制度 、每人划分几个模块、按照软件工程的套路开发罢了。没有思想,没有规范,其他的更谈不上。即便是有些人能够做到低层主管的位置, 他们也经常性地被项目进度,客户需求等情况所左右,并不能完全从技术的角度去对待自己负责的工作,经过一段时间,慢慢就会丧失对于先进技术的追求,而后渐渐产生对技术快速发展的恐惧。笔者发现,正因为一些软件公司在这方面的考虑很少,另外也缺乏资深工程师(在国外,资深工程师可以享受副总裁的待遇,以及对产品的很大决策权力)这样的分级别职位,30岁以上的程序员缺乏发展空间。所以程序员的流动性很大,同时也造成了□有通过跳槽才能给自己一个新的职位和高度的看法。
“30岁问题”产生的重要原因:很少有人能够有一个明确而踏实的目标,笔者接触过的许多人不是说:“唉,瞎混吧!”就是说:“我要做百万富翁!”
从个人方面来说,二十几岁时,刚刚毕业,很少有人能够有一个明确而踏实的目标,笔者接触过的许多人不是说:“唉,瞎混吧!”就是说:“我要做百万富翁!”。就在这种不考虑实际情况的自我催眠中迷失了方向。一旦快到30岁的时候,如果仍然无法确定自己的发展方向,就会发出“30岁以后还能做什么”的感叹。有些人可能比较"幸运",过了一段时间,等到资历或资金够了后,基于"不要给他人打工"的想法,总要自己扯出来单干,于是不断地出现了具有中国特色的小作坊软件公司。当然我们不能简单地把这种现象归结为"浮躁"两个字,除了个人的因素,整个程序员发展的大环境的不成熟也促使这种现象愈演愈烈。
解决“30岁问题”的重要方法:在公司内部为程序员提供技术级别分级和程序员按照自身意愿制定职业发展规划分析了问题的原因,找到解决的方法就不难了。我们知道,管理级别是一种金字塔型的结构,越向上的职位,能够做到的人就越少,这样程序员如果□能在管理方面发展的话,那就受到了很多限制。也造成程序员的发展无法保持一种持续性。因为在职位级别的组织结构中,
人们通常都倾向于升到一个自己所不能胜任的职位,再加上个人利益的盘踞,导致了种种问题。老板有老板的谋略,打工有打工的兵法,题是这些想法的差距太大,双方都很少为对方著想。孙子曰:“上下同欲者胜”。对于企业管理来讲,要达到“上下同欲”是最难的, 不过也是最关键的。因此对程序员的发展来说,首先就是要把组织结构的问题解决。摩托罗拉中国软件中心的总经理陈玲生谈到程序员发展问题时告诉记者,在摩托罗拉并没有“30岁问题”的出现,因为公司为技术人员的发展提供了两条路,一条是技术、一条是管理。而且两方面是同级的。做技术层次也可以做很高,具体到多高,陈玲生说:“从技术角度最高可以做资深副总裁(VP)。”另外友立软件公司也给软件开发人员提供了异曲同工的发展规划——采用技术级别。友立公司的开发人员的发展方向:
中国的传统是,如果我做老板,那我的工资比下面的员工要高,技术要比下面的员工好,才能管理下面的员工。但在国外不是这样的。陈 玲生强调说,在摩托罗拉,很多技术人员的技术级别可能要比他的上司还要高,但是他仍然要受自己老板的管理,这是一种文化,国外软件公司普遍接受这种文化。在摩托罗拉,不一定非要做老板,有些人做了一年的小老板,发现自己并不适合管理工作,反而希望能够回过头来在技术领域进行发展。但是在国内,接受这种文化还需要一定的
时间。
在程序员的发展过程中,个人意愿非常重要。陈玲生说:“摩托罗拉公司中技术人员的发展方向不是公司规定的,而是个人的要求。每年摩托罗拉的员工都必须和自己的老板谈4次,主题是个人的表现、发展规划和发展要求。在符合公司整体利益的前提下,公司会提供更多的机会促进个人的成长,包括各种培训和相应的支持。”笔者个人感觉,程序员这个团体在交流和表达方面有所欠缺,所以在这里也要提醒我们的读者,发展是在自己的手中的,一定要提出自己的要求和发展规划。个人的职业发展规划应该是自己的事情,决不是公司的责任,公司□是在符合公司的整体利益的情况帮助你实现个人的职业发展
规划。
那么向什么方向发展呢?实际上,软件的开发包括了很多方面的内容,是一个系统工程,编码□是其中很小的一部分,各个层次的开发者包括底层编码、系统设计等等。打个比方:就象工地一样,一个小工做时间久了之后,他就有可能看懂图纸,然后逐渐的可以设计了,这就是说他的技术层次提高了。另外也象在服装厂,有设计师,有裁剪师,也有最终缝制的女工。对于设计师来说,他也能够缝制衣服,但是他的主要精力在设计上,这就是层次的问题。程序员本身需要对此有充分的理解,这样才能对自己的发展有清醒的认识。
陈玲生还说,“在一个比较完善的公司中,应该是公司营造了一个可供发展的环境,个人也充分提出了自己的要求。无论是技术、管理、产品,向哪个方向发展,程序员都需要能够认识到自身存在的缺陷, 要克制浮躁的情绪,不要让一些外界的事物迷失了自己。”
最终解决问题的方法:职业化的程序员和程序员的职业化从更深的层次看,所有这些问题的核心集中到一点就是程序员职业化的不成熟。软件公司和开发人员并没有将程序员视为职业(career),而是工作。目前国内程序员考虑的通常是技术能力,而 不是综合的职业素质。这同国内的软件业起步晚、缺乏产业化的环境和条件,身处其中的软件企业本身就在艰难的生存有关。而在这种状况下,程序员的职业化无从谈起,正所谓皮之不存,毛将焉附。但是近年来,软件业的大环境和外部条件发生了很大改观,并且越来越充满希望,软件企业的高速发展和持续发展也成为可能。这样,程序员的职业化就成为来自外部的要求和压力,也成为程序员本身追求自身发展的需求和动力。
从程序员发展自身来说,对程序员职业性的要求有哪些呢?摩托罗拉软件中心的陈玲生提到几点:首先,最根本的就是炼好自己的基本功,编写程序少出错误,学习上要扎实,不能浮躁(这个不想做,那个不愿做),在最初的几年将软件工程学习好。第二点就是要不断地学习,在自己希望发展的技术领域中要从初级的了解变为相应的专家,从整体上了解技术领域的发展。第三点就是要学会创新,因为如果你□是在固守在自己的领域而没有创新的话,便有可能被淘汰。对整个软件产业,程序员的职业化也是当务之急,因为□有从产业的高度培养出一批高质量的职业化的程序员,才能够真正带动软件产业的发展。
基于此我们认为需要在以下的几个方面加强:一、程序员的职业化教育培训和再教育培训:结合中国软件开发的现状,从实际出发,传递给软件开发人员思想和技术。另外需要结合我们的国情,推广自己取得的经验,比如一个公司对某个工具的使用有了自己的经验,那就应该拿出来,培训其他人了解和使用这些工具,来带动整个产业的积累。二、加强面向程序员的出版业:这也是程序员产业化的必要条件和发展趋势,因为通过报纸、杂志、网络等媒体可以带动业界的交流和思想技术的传播,这样才能更快的满足中国软件产业和适应国际软件产业的飞速发展。三、专业的顾问咨询:不断升级的开发平台和语言让很多的程序员在追随中不知不觉的迷失了方向,DOS平台的开发人员在Windows平台的开发中找不到了自己的位置,而Windows开发高手又无法适应网络开发的技术发展。其实并不是由于这些人不能接受新的技术,而是因为在小公司、小作坊、小团队的局限下,技术人员无法充分地同更多的高手交流,面对新技术时□能通过独自的钻研来缓慢的取得进展。一方面,很多的程序员在摸索中前进,仍然在重复前人的问题,而另一方面,一些专家有了自己的经验和教训却找不到适当的途径去告诉后来者。基于此有必要鼓励专业的顾问咨询,而且顾问咨询产业的兴起也会对程序员的发展提供另一条不错的方向。实际上,看看国外的发展,由于他们有一套系统的咨询机构,当出现新技术时,□要他能够从专家那里领会到新技术的精髓,然后通过强大的交流服务支持,便能够快速地适应新技术的发展。
白玲认为,对于一个30岁的程序员而言,更重要的是要具有“能和别人一起干”的团队合作精神,以及在某一领域所积累的经验。她认为,以下五个途径都是不错的“保养之道”:首先是从技术领域转向管理岗位,利用自己所积累的经验管理和带领团队,从而实现顺利转型;二是在技术岗位上不断上升,从一般的程序员向技术专家靠拢;三是寻找行业依托,技术本身的变化虽然日新月异,但行业对技术应用的要求却是相对稳定的,变化周期不是很快,一个既懂技术又对某个行业有所了解的软件人才还是有很大的拓展空间的;四是跨地区发展,北京、上海可能是技术创新的前沿,但一些二线城市的技术应用,相对而言,可能会有一个时间差,跨地区发展可以充分利用原有技术的比较优势;五是凭借多年积累的技术经验和客户资源出去“单干”,做个小业主未尝不是一种好的出路。
“三十而立”不是不适用于程序员,反而30岁应该成为程序员脱胎换骨的一个分水岭,当然要跨越这样的转变也需要我们有思想、有准备、有目标。伴随著中国软件产业和程序员职业化的成熟,“30岁问题”也就不再称之为一个问题了。