程序员作为企业开发力量的最核心资产,无疑得到公司从上至下的一致关注。开发是个智力密集型产业,程序开发的特点是,付出相同时间的情况下,两个开发者之间的产能会相差十几甚至几十倍。软件开发人员向来以“不容易考核、工作不容易被量化”而著称。本期,我们重点分析程序员考核的“死因”及对策。

典型的程序员考核的产生

分析考核死因之前,我们先看下它是如何出生的。某天,公司老板突然想到件事——我不懂研发,而研发对我公司这么重要,怎么办?念一及此,老板不禁有些紧张,马上叫来HR开会,安排本月人力资源部分的工作重点,那就是“研发人员考核”,务必贯彻到位、立即执行。深谙老板意图的HR,回工位立刻上网卖书,从如何考核、KPI实务到平稳计分卡策略一应俱全,书到手之后连夜“抄书”赶制考核体系,整理出“研发人员考核方法”。第二天,HR把此考核方法交给研发总监并告知“老板要考核你们,这是考核办法。具体指标和KPI请部门自己制定,本周未之前报给人力资源部。我们会汇报给总裁。”研发总监拿着连撰写制度的人都没明白的“办法”找到项目经理:“老板要考核我们,这是考核办法。你团队成员具体指标和KPI你自己定,明天下班之前汇总给我。”项目经理找到了程序员:“老板要考核你,这是考核办法。你自己的指标和KPI你自己定,今天中午之前给我。”程序员迷惑地问:“目标不是公司制定的吗?”

很多考核就这么荒唐的开始了……

很快考核变成了每月项目经理给组里的程序员打次分。

于是,老板很满意:“我终于可以放松了,以后我们靠考核制度管理研发人员。我们从此摆脱了‘人治’时代!”

HR也很满意:“我不用明白研发是什么,更不必了解程序。我只要他们知道,我可以扣他们的钱就行了,还是用他们自己制定的指标。”

其他人都不太满意……

不久之后,公司就会发生程序员离职率升高的现象。被考核者,诸如:程序员、项目经理、研发总监都走光之后,考核就这么死了!

接下来,谈谈程序员考核的五种死因及对策。

考核只以事件为核心

公司没有利润就不能生存,研发项目的进度很多时候决定着公司的利润。所以很多考核是把项目无限拆分到程序员层面,这样的考核只以事件为中心,关注事件是否做成,而不关注人和人的发展。只以事为中心的考核把程序员当成了生产线上的机器,有投入(高工资)就要有产出(高质量的代码),程序员被当成了标准件,即没必要有太多成长(因为做的都是相对重复的工作),也不能时常发生故障(经常加班也不能请假)。

有些程序员自号“IT民工”与这种考核体系的存在有很大关系。

这种考核体系可以维持短期内的高效率,长期执行会导致整个系统的崩溃。很多公司人员不断更替,根本无稳定可言,一部分原因是执行了或者实质上执行了只以事件为核心的考核。

专家支招:

张大志(Leo):承认程序员也是人,尊重人的个性是考核的基础。注重培训,在项目压力大时侧重结果,在有Buffer的情况下关注程序员技能的提高和个人的发展是解决此类似问题的核心方法。在项目周期的不同阶段对考核方法进行调整的复合式考核方式,更能让企业向目标前进,也能保持程序员的热情。

胡争辉:换个角度从结果考虑,举一个最常见的例子,四个人合作种树,A挖坑,B种树,C填土,D浇水。如果考核只以事件为核心的话,那么当B没有种树时,C依旧填土,D依旧浇水。从考核来说A、C、D三个人都得了满分,就算B得了0分,平均分也该有75%,超过60%及格线了,但是种树这个任务却没有完成。所以对于只以事件为核心的考核来说,不仅让程序员感觉不到团队,而且程序员也不会为团队考虑。在这种情况下,考核就要调整为既包含个人要完成的事件,也要体现个人对团队全局的理解。

(本文刊登于2009年9月号《程序员》杂志)

程序员考核的五大死因(上)相关推荐

  1. 程序员考核的五大死因

    程序员考核的五大死因(上) 程序员作为企业开发力量的最核心资产,无疑得到公司从上至下的一致关注.开发是个智力密集型产业,程序开发的特点是,付出相同时间的情况下,两个开发者之间的产能会相差十几甚至几十倍 ...

  2. 程序员的自我进化——补上最短的那块情商木板

    程序员的自我进化--补上最短的那块情商木板 也许当微软的工程师们还在思考如何让聊天机器人快速进化的时候,万万没想到,刚刚上线一天,Tay就因在Twitter上言论不当而被强制下线.据说她不但辱骂用户, ...

  3. 快速找到由程序员到CTO发展道路上的问路石

    快速找到由程序员到CTO发展道路上的问路石 本文选自<我也能做CTO之程序员职业规划 >一书 高阳兄发过来本书前六章样章时,我正在上班,任务比较紧,精神高度集中,却还是止不住地走神要翻来看 ...

  4. 作为程序员,我在电脑上都装过哪些 Chrome 插件?

    作者 | GitHubDaily 本文经授权转载自 GitHubDaily 相信在座大部分从事软件开发的同学都与我一样,每天在 PC 端上使用最多的几类产品,无疑是浏览器.编辑器和命令行终端. 而一旦 ...

  5. 程序员面试金典——9.1上楼梯

    程序员面试金典--9.1上楼梯 Solution1:我的破答案,复杂度太高未能AC 递归的毛病就是复杂度太高!!! class GoUpstairs { public:int countWays(in ...

  6. python程序员自我介绍范文_程序员的自我介绍|史上最有趣的版本

    原标题:程序员的自我介绍|史上最有趣的版本 这篇文章的原文来自:A Little Printf Story,作者仿照<小王子>中的情节,通过小printf遇见的不同类型的程序员,最后悟出什 ...

  7. 老公月入五万的程序员夫人,都过上贵妇的生活了么?

    原文地址:https://blog.csdn.net/csdnsevenn/article/details/78308289 这两天被一篇文章刷屏<月入五万的西二旗人教你如何活得像月薪五千> ...

  8. 程序员和架构师的区别在哪里?Android程序员如何才能实现技术上的进阶?

    Android开发这么多年,但是还是经常会有人分不清程序员和架构师,在招聘的时候,明明招聘信息写的是"招架构师",但是,来的人更多的人说着要当架构师,其实能力也只是普通" ...

  9. 程序员交流平台_Java虚拟机所管理的内存到底有哪些?Java程序员必看栏目(上)...

    Java虚拟机所管理的内存将会包括以下几个运行时数据区域: 1,程序计数器Program Counter Register 一块较小的内存空间,非所有线程共享的区域,每个程序计数器,都会记录当前线程执 ...

最新文章

  1. Codeforces Gym 100513G G. FacePalm Accounting 暴力
  2. AI开发者大会:2020年7月3日09:50--10:10唐杰《人工智能的下一个十年》
  3. Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……)...
  4. mfc 监控文件操作_mfc是什么
  5. 线程基本编程——线程函数大全
  6. 兰华峰:商业模式驱动企业参与MSU评测
  7. 20145326蔡馨熠《信息安全系统设计》第2周学习总结
  8. 1.5 编程基础之循环控制 45 金币 方法二(python3实现)
  9. RTX5 | 消息队列01 - 创建消息队列
  10. Java二叉搜索树转循环链表,关于java:二叉搜索树转换为单向链表interview1712
  11. 一文教你如何解决TXC晶振工作不正常的问题
  12. 电脑编程软件都有哪些
  13. mapbox-gl:创建Marker
  14. 文件的元数据信息的含义及查看和修改
  15. VS2022为什么会出现找不到指定文件?
  16. 3.15曝光智能骚扰产业链,连你月收入也知道!网易专家支招用户如何避免被“鱼肉”
  17. 教你一起来做一下SpringBoot蓝天幼儿园管理系统
  18. Linux内核模块-初识LKM(一)
  19. 二维数组去重,数组对象去重
  20. 单元测试整理(一)——单元测试是什么,有什么好处

热门文章

  1. [你必须知道的.NET]第十九回:对象创建始末(下)
  2. 我们可以用SharePoint做什么
  3. 在IIS中启用父路径,不被黑客利用
  4. android 倒计时封装,react native中的聊天气泡及timer封装成的发送验证码倒计时
  5. python爬取文件归类_python爬取各类文档方法归类汇总
  6. 【Python学习】 - 如何在Spyder中弹出plot绘图窗口而不是在Console中绘图
  7. (精)DEVC++的几个实用小技巧
  8. java 内部类 菜鸟编程,java中的匿名内部类
  9. vue mysql webapp_基于Laravel+VueJS实战开发WebAPP
  10. multi source replication mysql_MySQL 5.7多源复制(Multi-Source Replication)