“作为一个以盈利和发展为目的的企业,软件公司需要有相应劳动能力的人进行生产和经营;作为一个有工作需要和发展需求的人,软件从业者期望在企业里得到长足的发展并有一个好的前途。但现实是,软件企业往往并不能得到让自己满意的人,软件从业者也往往并没有产生让自己欣慰的归宿感。这样,软件企业唉叹为人才所困,软件从业者抱怨怀才不遇,其结果是企业也焦虑、从业者也恐慌,以至于软件业似乎要陷入“人才危机”的怪圈了。
  在此,我仅以一个一般软件从业者的身份,从个人发展的角度,向与“软件企从业者”有关的一些人说一些话,希望以此作为一个“过来人”提示性建议或者忠告。如果由此让哪怕一个人在数年以后能够活得轻松一点,那我的目的就已经达到了,如果能让一个软件企业由此得到一点点有益的启示,那将是一件令人欣喜的事了。
  首先,我想对即将选择软件专业的人说
  IT作为高新产业其前景被广泛地看好,软件开发本身对于聪明的学子们是极具挑战意义的,成为一个软件工程师是那么伟大的一个理想。而且,软件企业中的人收入高,这一点似乎被公认,这在一定程度上刺激着人们入行的欲望。
  有报道称,我国“软件人才严重缺乏。据权威部门调查,我国软件企业每年的软件人才需求量超过10万人,其中大部分是基础软件编程人员。不论是在国内还是在国外,软件产业的从业人员的收入水平在IT行业中名列前茅,远远高于传统各行业的收入水平。据统计,我国软件人才的平均年薪超过6万元人民币,据北京市有关部门调查,普通程序员入门月工资一般在2000元以上。”以此,我们有足够的理由让自己跻身于这一“紧俏”的行业,且不管将来如何,至少可以在相当长的时期内好好地捞一把。
  但事实上,不论探究哪一行业,其境况并不是靠简单的统计数字能真实说明的,何况那数字本身的“水份”也不知能有多少。如果一定要探讨统计数字,在“IT热”的今天,你可以在任何一所学校中找到“计算机应用”或“信息工程”等专业,那全国每年相关专业毕业生,包括从中专到本科、从硕士到博士,这数字应该远远超过10万,而每年加入软件业队伍的“计算机相近专业”甚至其它非“计算机相近专业”的毕业生也占有相当的比例。我们可以粗略地估计一下,如果一个大中型城市以40所学校、每校平均200名计算机及相近专业毕业生将可从业计算机软件行业,就25个这样的城市每年就会输出软件从业的“生力军”20万人以上,这应该不是什么危言耸听吧。那么,在不轻信不负责任的、有“炒作”之嫌的统计数字的心态下,你应该冷静地问一下,如果每年要10万人,那另外10万该做什么?
  据我所知,相比之下北京的软件从业者收入是最高的,月薪起码比2000元要高,年薪平均6万元人民币绝对可信,但如果你是一个软件专业刚毕业的学生、甚至是来自“名校”,那你到北京去看看软件企业到底是不是渴望你的“加盟”。全中国就一个北京,而其它大部分地区软件从业者的收入并不令人羡慕。一般情况下,一般软件企业对于一个刚毕业的学生来说,甚至于给予一个不领薪水的“实习”机会都难。
  那么,每年人才需求10万人以外的“那10万”做什么去了呢?
  在我的周围,除一部分软件“科班出身”的人入了行以外,有“生物”专业毕业的本科生做软件项目经理的,也有“应用软件”专业毕业的研究生做市场业务的。软件公司在“常年招聘”开发人员,但对应届毕业生很少考虑,对前来应聘的“人才”们是“百般挑剔”,被“留”下来的寥寥无几。公司笃信“人才是流动的”,不忌讳“大进大出”进行技术队伍优化,但总数却相对保持着稳定或只是略有增加。公司以盈利为基本目的,没有义务培养或养活滚滚而来的“生力军”,那些没有机会的或被“淘汰”的人在四处碰壁之后,只得自己想法养活自己了,所以,在任何非计算机相关行业你可以见到许多计算机专业的毕业生。可怜天下望子成龙的父母花费大量的心血,到头来却让自己的宝贝为生计犯愁;可怜心怀报效祖国、回报社会之志的学子们,苦读多年之后却没有了出路。
  那么,“留”下来的“那10万”又是怎样的境遇呢?他们在不断地艰苦地学习,在不断地辛勤地耕耘!软件业在飞速地发展,新技术、新工具层出不穷,得不断学习,否则会被淘汰;项目的效益要求在不断提高,新理论、新方法在不断涌现,得想方设法付诸实践,公司以经济效益衡量你的价值,除此之处你做多少工作都没有说服力;项目成果由代码组成,在一个项目中你敲了30000行代码,只不过是简单劳动,想让它“跑”起来不知得费多少周折,但老板只要结果!加班也好劳累也罢,只不过被以“辛苦”二字苍白地一抹,而“能够承受精神压力”却被明确地归于从业素质要求的范畴。所以在软件企业里,所有精神学科的常见病症都可以在员工身上找得到,任何有变态倾向性格的人也都可以遇得着。在软件企业里做事的倍加小心,稍有不慎就会招致上司的呵斥,那怕他只是可能就比你“高”那么一点点的同行;发表任何言论得先深思熟虑,一但触及他人敏感神经便会惹来群情激愤的责难,那怕你是在网上匿名发表一点心得体会也不行。
  也许还应该看到从事软件业的收入的确高于其它行业,但如果你认为这与你所付出的身心憔悴的代价来比也许还是值得的话,那我还又要提请注意一点:软件业是吃青春饭的,软件企业绝对不养老。那么在你40岁或者更大一些时,你除了会敲计算机键盘以外一无所长,你何以谋生?你认为在此之前赚到的钱够为你养老吗?更不要说养家糊口了。
  实在一些讲,软件业要求从业人员不仅掌握相应的基础知识,更注重学习和接受能力,讲求实践动手能力,崇尚团结协作精神。这不是靠“努力”两个字就能实现的,这需要许多基础素质的支撑才有可能实现。所以,在选择软件业这一行之前,你得想好了,你是不是很明智地对该行业有足够清醒的认识,是不是从自身天性上、智商上来说能够征服那种挑战,从身体条件和心理素质上来说是不是能适应其从业的艰巨性要求?
  从事软件业是一种极具风险的选择。三百六十行,行行出状元。何必一定要让自己将来“撑得那么狼狈”?
  第二,我想对已经进入软件行业的人说
  也许你是靠自己出道前的努力学习和积极实践跻身于此,也许你因为本身学历高而被“诚聘”,也许你是因为毕业于名牌学校得到青睐,也许你是通过熟人介绍屈就,也许你是因为长相出众或者手相上乘被挑中……不管怎么样,你入行了,可喜可贺。但你很快会发现“学海无涯、回头无岸”了,以前那点可怜的学识,上不能以出色的工作赢得赞赏,下不够以必要的技术解决问题。你需要不懈努力地学习、工作、学习、工作……忘记时间、忘记寝食、忘记自我……这样身心摧残式的上进什么时候是个头呢?可能没有个头!
  终有一天,也许你是靠自己的艰苦努力掌握了足够的技能,也许你是靠雕虫小技赢得上司的错爱,也许你是以广泛有效的“社会活动”让“高”于你的人物纷纷落马……不管怎么样,你终于跻身于被称之为“高手”的行列了,那可是一件了不起的大喜事,可喜可贺。但你很快会就会感到“高处不胜寒”了,要做一个高手是如此之难,上须有出色的工作业绩得到肯定,下能以高超的技术赢得尊重。你需要不懈努力地学习、工作、学习、工作……忘记时间、忘记寝食、忘记自我……这样的身心摧残式的提高什么时候是个头呢?可能没有个头!
  这真是一个令人困苦的怪圈!
  IT是一个崇尚技术的行业,这是不言而喻的。初入行业企业,往往单纯地认为必需要成为一个“高手”才能立足,而成为一个高手就是要掌握自己独有的技术,能做别人做不了的事。在这样的意识下,“新手”往往是抓住一些个操作系统的、开发工具的或是数据库的次要的、个体的或特性的问题,下苦功夫“钻研”。这也的确不是一朝一夕之功的,得承认其努力了,可是就算有一天真成为“一个技术方面的问题专家”了,可能还没来及享受“成就”,一夜间人家的系统升级后,自己所掌握的“技术”被当作系统BUG给处理掉了,专家不专了。应明确,讲技术虽不是指所谓的“核心技术”,但也不应是什么“技巧”。软件开发是针对项目、产品的实现展开的,系统软件是其支持基础,开发工具仅仅就是个工具,真正需要的是对支持系统的认识和对工具使用的掌握,更要求对目标结果的正确理解。这些综合技术的获得是需有一个踏实的学习、实践和积累过程,而技术掌握的最终目的还是为项目和产品服务的。由于项目和产品的广泛性,软件开发范畴的技术的内涵广泛得很,对于一个人来说生理上是有极限的,可能一生一世也学不完、学不清。同时,项目和产品的实现不可能以一人之力可一蹴而就的,软件开发是一个群体的、过程性的活动,讲求合理分工、协同配合、计划和组织,一个人的知识、精力有限,竭泽而渔也不会有多少收获。所以,量力而行,学会规划自己的事业。
你首先应根据自己的爱好或者说是长处,选择适合自己的方向。一方面,软件企业本身已分化为多个方向,总有一个方向适合你一些,你可以选择;另一方面,一个应用方向的软件企业所使用的工具、所需要的架构知识等等各有不同,你也可以根据自己的理解和技术本身的前景进行选择。