在互联网的社区中,关于程序员浮躁的讨论帖子很多。那么程序员真的浮躁吗?他们为什么会浮躁呢?其根源是什么呢?
程序员已经是一个没有门槛的职业
随着开发工具的可视性、易用性的增强,程序开发变得越来越简单。特别是随着软件工程方法的深入人心,开发过程管理变得愈加规范,使代码编写变得类似于机械性的动作。这样,程序员已经是一个没有门槛的职业,各培训机构都可以号称2-3个月内打造一个软件蓝领。加之各种渠道的宣传和炒作,让公众误以为只要攀上IT,一定前途无量。我们到处都可以看到这样的言论和宣传,“中国每年缺程序员XX万”,这是谁统计的数字?什么时候的数字?却无处可查。我个人认为这些数字是有问题的,是有很大的水分的。根据本人了解的情况,从2003年开始,中国各类大学所招的计算机相关专业的学生数量就已经超过了IT行业所需的实际数量!
培训机构给程序员职业蒙上了阴影
一些培训机构的“粗制滥造”,给程序员这个职业蒙上了许多阴影。给人的总体感觉是现在的程序员越来越多,但真正有水平的程序员却越来越少了。特别是有个别培训机构滥发证书,滥发到什么程度呢?给大家举个例子。
早些年,当我还在企业做经理的时候,有一次招聘程序员,但有一个号称是系统分析员的年轻后生来应聘。出于对“系统分析员”这个名字的好感,我要求亲自面试该应聘者。既然是面试系统分析员,当然要从软件工程的话题谈起,遗憾的是,此人对软件工程一无所知。在这种情况下,我才提出要看他的证件,大失所望啊,原来是国内某知名IT培训机构所颁发的所谓系统分析员证书。经过交流才知道,不管什么基础的人(大部分是高中毕业生或中专毕业生),在该培训机构,只要学习一年,就可以颁发系统分析员证书的。既然不懂软件工程,那咱们就谈数据库和算法吧,结果也是一问三不知。我急啊,就直问,“你究竟会什么?”,答复是“我会一点asp”。无语,走人。
不久后,我给国家软考办提交了一份请示,以“有损系统分析员的名誉”为理由,要求取缔该培训机构颁发的系统分析员证书。得到的答复是“这个问题我们管不着,就好象中国有个著名的清华大学,北京却有人搞个华清大学。用人单位要注意识别李魁和李鬼”。“系统分析员”尚且如此之差,更别说他们的“高级程序员”和“程序员”了!这样,导致业界感觉整个程序员的水平在下降,特别是使一些老程序员对新程序员“不屑一顾”。
相当一部分程序员是浮躁的
现在的很多程序员真的是浮躁的,包括在校的大学生。主要表现在于:
(1)不扎扎实实地钻研理论,打好基础,而是成天浮在表面上。程序员不是不想上进,他们很多人也在读书。但读的大多是一些比较热门的所谓“技术”书,业界炒什么“单词”,他就读什么。但由于理论基础不牢,功底太浅,始终只是一些花拳绣腿而已。例如,我就发现一些程序员和一些大学生,成天在读.NET,J2EE,Ajax之类的书籍,但关于数据库原理、数据结构与算法等基础理论,却一窍不通。有些学生不好好学习学校规定的课程,却很有兴趣地到外面的培训机构去参加培训,似乎感觉这样更实在一些。
(3)程序漏洞百出,敬业精神比较差。晚上泡酒吧、搓麻将、玩游戏,白天工作带身不带脑,把工作只是当作为晚上玩而养好身体的一种手段。边写代码边网上聊天,程序漏洞百出。很少考虑程序问题给用户造成的损失,给公司带来的负面影响。很少去研究自己写的代码,看能否进一步优化,自以为是,认为代码只要通过编译就万事大吉了。
(4)过于频繁的跳槽,没有长期规划。为了三五块工资的增长而频繁跳槽,找工作时只看眼前的工资数量,而不考虑自身的长远发展和职业规划。尽管辞职信中都会写“由于自身发展”,但其实根本就没有认真去考虑过,只是作为一个借口而已。
(5)刚踏入社会,就成天想着房子和车子。由此而抱怨工资太低、待遇太差、老板太小气、房价太高,等等,感觉都是满腹牢骚,一肚子愤懑。很少结合自己的实际能力和水平去衡量自己的“价值”。只想轻松赚钱,不愿意付出,不想承担责任。成天喊工资太低,却从来不去想自己为公司带来了多少效益。
浮躁不是程序员的错
导致程序员浮躁的根源在于整个社会的浮躁,在于IT企业的浮躁。
(1)中国的IT企业绝大多数是作坊式或半作坊式的,招聘人员的要求就是“能做事”,很少有企业想过要真正培养一个程序员,使之成长。这样,企业在招聘过程中,面试时很少涉及到对基础理论的考查,而是看应聘者“明天来上班,能否写好这个代码”。这样,就会在业界传开,“IT企业需要什么什么样的人才”。如今高校扩招,学生就业压力大。为了就业,学生只得适应这个被扭曲的IT环境,学习一些表面性的技能而不是深层次的技术,拣了芝麻丢了西瓜。
(2)IT企业管理和运作不规范。例如,没有一套成形的管理制度,没有一个合理的软件过程。在对待程序员方面,希望“呼之即来,挥之即去”,往往为了一个项目就大量招聘,项目结束后就立即遣散。没有给程序员交纳社会保险,导致程序员心情浮躁,没有安稳感。
(3)很多老程序员一旦有点技术,就想单干。往往因为一个单就成立一个公司,单做完了,公司也就完了。这样,一个晚上就可以冒出数百个公司,第二天早上又倒闭了数百个公司。导致程序员被动地频繁跳槽,被动地浮躁。
(4)同样是由于企业规模太小,基本上以生存为惟一目的。没有研发投入,导致程序员没有进步,在工作中没有成就感,往往感觉很迷茫和无助。
(5)部分企业老板及管理人员信誉极差,招聘的时候承诺得很好,但从来就不会兑现。不停地要求程序员加班,却从来就不发加班工资。只知道“挤奶”,却装作不知道“牛要吃草”。只给员工讲奉献,却从来不给员工讲回报。这种企业如何叫程序员去敬业呢?
(6)IT培训机构不负责任的宣传和误导,导致很多人花高代价往IT行业挤。以为只要IT了,就房子、车子不愁了。工作后才发现并非如此,于是就总觉得自己的待遇太差(培训机构往往会说学员的工资会很高很高!),投入产出比太低。从而浮躁起来。
(7)我们高校的计算机教育确实存在很多弊病。例如,学生扩招,老师却没有增多,实习的机房却没有增多。教科书的内容十分陈旧,等等。诸如此类,问题很多。关键的是,老师的教学严重脱离实践,教授们大多是以学术著称,自身缺乏项目实践。例如,本人曾在某软件学院客座,就发现该院主讲软件工程的教授除做了一些科研型的项目外,就从来没有在企业呆过,从来没有做过一个称得上是“工程”的项目。主讲CMM的教授竟然拿着书问我“CMM在企业中究竟是如何实施的呢?”。
因此,我个人认为,浮躁不是程序员的错,而是我们整个IT环境的错!