我们的程序员素质难道真的不如以前?
Posted: February 17th, 2009 | Author: kingfish | Filed under: 絮絮叨叨 | No Comments »当和一些朋友聊天的时候,经常会谈起现在的程序员的素质。朋友感叹道现在的程序员做完程序测试都不测试,发现一堆错误;做一个功能不动脑子想想到底有没有更佳的解决方案;对新技术跟进的主动性太差,诸如此类。又说道想当年的程序员是多么的细致、善于思考而且专业。感叹啊……感叹啊……。当然我的这些朋友大都已经不在开发工作岗位上,而是在管理工作岗位上。每次说到这些内容的时候我一般比较沉默。我在想难道程序员的素质真不如以前的前辈吗?
我不否认程序员个人能力的不同会影响最终的工作效果。但对于这个问题我们需要再认真的分析一下:
我们先回到对程序员评价的标准上,对程序员的要求到底是什么?我认为上面提到的种种程序员的问题是传递商业价值的过程中暴露出来的。也就是说用户在使用或配合建造软件的过程中发现问题才会间接反应程序员的问题。这里把测试部门的测试也当成用户的使用,因为在测试过程中发现的问题一样要拿到程序员的手中返工或改正,这也是浪费金钱的一种方式。总之我们考核程序员是传递商业价值效果的考核。我们列表对比现在和过去的细节情况:
|
|
过去 |
现在 |
|
素质考核 |
传递商业价值的效果 |
传递商业价值的效果 |
|
工资考核 |
个人对于整个IT部门的绩效考核 |
个人对于IT部门中某个业务单元的绩效考核 |
这里需要说明一下的是,在过去IT部门的人员很少所以人员的考核是在整个IT部门的范围内考核程序员的绩效情况。现在的情况是由于职责划分,原来的开发部门分解为若干业务单元。比如专门负责需求的需求业务单元、负责测试的测试业务单元、负责后期维护的运行维护业务单元等等。试想一下,如果传递商业价值已经不作为考核的一部分,取而代之的是你写了多少行代码或者是否听话的干活。反正换了我,我也会对本业务单元负责的,毕竟工资是这么来的。
我们再比较一下过去和现在在团队上的区别:
|
|
过去 |
现在 |
|
团队 |
因为IT需求不高,骨干一般全身心投入项目中。其他一般程序员数量不多,沟通没有问题。 |
因为骨干程序员的紧缺,他们被分配到若干项目中。分时多任务的进行中。其他一般程序员数量庞大,沟通有时出现问题。 |
对于团队上的区别和企业的IT信息化需求是紧密相联系的。在过去企业还处在努力实现人手一台计算机的阶段,精力大部分放在硬件或系统部分。但是现在随着软件系统需求的爆炸式增长,人员不可避免的增多。但在软件项目疯狂吸取人员资源的过程中,领导往往忙于应对人员的调配和各自业务单元利益当中。大家可能都没有发现:高质量的骨干人员出现断档,而且缺口越来越大……
技术也是非常关键的因素之一,我们来看看过去和现在的对比:
|
|
过去 |
现在 |
|
技术 |
基本上一种平台技术解决所有问题,比如所有应用都基于FoxBase或主机平台。好在企业信息化要求不高,所以基本够用。 |
基于多种技术平台,.net、java等等。新概念多多,Web2.0 、SOA等等。一边是厂商的不停忽悠,另一边是企业信息化项目需求的爆炸。 |
显而易见,我们现在面对的技术和过去面对的技术从信息来源、厂商数量、平台数量、需求层次都已经不能同日而语了。如果说原来客户吃稀饭加咸菜就算一顿好的早点的话,现在的客户你不给他做出,西式、广式、粤式、川式的早点就算你失职。
总结上面的内容,我认为考核方式是致命的。如果选择一种适当的考核方式会促进IT人员的努力。反之会抹杀IT人员的创造力。有一句话是:如果你期望得到一堆搬砖头的程序员,那么你就会得到一堆会搬砖头的程序员。

Leave a Reply