从业近8年,从最开始的coding到teamleader,一路走来,见识了各种绩效考核,也经历了很多没有对技术团队进行考核的公司,一直在思考技术开发这种很难量化的工种如何客观、可执行有激励的进行绩效考核,也做了一些尝试,可谓各种辛酸冷暖自知。

        下面将之前一个技术团队在工作中只为业务开发服务,只关注功能而忽略业务功能之外的性能,项目任务紧成了代码潦草结构随意和混乱的借口等诸多问题,从而制定了更具有针对性的考核办法,以考核促改变,针对考核结果出台相应的奖罚措施。

首先对良好的代码结构和规范进行培训,让大家了解什么样的代码才是优秀的,工作中应该怎么改良等。为此将程序性能指标写进考核办法,主要包括:

1、按照请求响应的耗时制定规则要求,要求执行耗时在3秒以上的请求扣分处理;

2、线上程序的严重bug导致宕机崩溃扣分处理;

3、代码结构严谨、条理清晰等加分处理(先培训,给出范例);

4、主动进行技术分享加分处理;

5、程序算法优化性能改良加分处理,反之则扣分;


并且在制度上将codeReview写进去,定期组织大家进行review自己的代码。

      当然出现此等问题,除了在制度考核上做更要针对性的要求之外,在公司层面上要对技术更加重视,不能只关注业务需求而忽略性能要求,在项目进度紧张的时候也要严格要求自己。同时结合OKR的思想,给大家指出努力和改进的方向。

      当然这样的考核是针对特定时期特定的团队而进行的,试行4个月有改进,但也存在明显的不足,如对创新的鼓励不足,因为限制的太具体而显死板,大家只关注了这些显性的约束和要求,而对其他更有利于团队和个人发展的东西关注度不够,经过一段时间之后局限性也显现了出来。所以经过反复思考,    没有完全完美无缺的考核机制,任何一种机制都是针对特定时期特定的团队来灵活制定,吸纳优秀的思想,如OKR,但是也不能照搬一模一样的去做,能引导团队往前走、激励和引导为主,适合自己团队的考核机制才是好机制。