程序員考核的五大死因(上)

程序員作為企業開發力量的最核心資產,無疑得到公司從上至下的一致關注。開發是個智力密集型產業,程序開發的特點是,付出相同時間的情況下,兩個開發者之間的產能會相差十幾甚至幾十倍。軟件開發人員向來以“不容易考核、工作不容易被量化”而著稱。本期,我們重點分析程序員考核的“死因”及對策。

典型的程序員考核的產生

分析考核死因之前,我們先看下它是如何出生的。某天,公司老板突然想到件事——我不懂研發,而研發對我公司這么重要,怎么辦?念一及此,老板不禁有些緊張,馬上叫來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月號《程序員》雜志)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454287.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454287.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454287.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

du -sh 如何找到最大的文件夾_小白必看!手把手教你如何在linux上安裝redis數據庫...

首先我們要清楚redis是什么?redis是一種非關系型數據庫,它與MySQL的這種關系型數據庫不同,MySQL是將數據存儲在磁盤中,而redis是儲存在內存中。一般很多公司都是使用MySQLredis兩種數據存儲方式,這樣可以提高性能&…

Linux刪除特殊字符文件

1.刪除帶“-”的文件名的方法使用-- (2個橫杠)#touch -- -%F-%T#rm -- -%F-%Trm: remove regular empty file -%F-%T?使用絕對路徑并TAB特殊文件名#rm /root/-%F-%Trm: remove regular empty file /root/-%F-%T?2. 刪除包含其它特殊字符的文件對于含有…

機器學習之線性回歸 損失函數、代價函數、目標函數

損失函數(Loss Function)定義在單個樣本上,算的是一個樣本的誤差。比如: 其中0-1損失函數: 感知器損失函數: 平方和損失函數: 絕對損失函數: 對數損失函數: 代價函數(Cos…

bzoj4950(二分圖最大匹配)

[Wf2017]Mission Improbable Time Limit: 1 Sec Memory Limit: 1024 MBSubmit: 105 Solved: 49[Submit][Status][Discuss]Description 那是春日里一個天氣晴朗的好日子,你準備去見見你的老朋友Patrick,也是你之前的犯罪同伙。Patrick在編程競賽上豪賭輸掉了一大筆錢,所以他需…

git 遠程倉庫管理 分支創建、管理、查看、切換

作用: 區分生產環境代碼以及開發環境代碼研究新的功能或者攻關難題解決線上bug 特點: 項目開發中公用分支包括master、dev分支master是默認分支,用于發布,當需要發布時將dev分支合并到master分支分支dev是用于開發的分支&#…

大學生活應該這樣度過之參加一個社團讓自己溶入團隊——《程序員羊皮卷》連載(11)

《程序員羊皮卷》當當購買地址:http://product.dangdang.com/product.aspx?product_id20691986 互動購買地址:http://www.china-pub.com/196049 1.3參加一個社團讓自己溶入團隊 有人曾經問我“學校里的什么活動和工作中的項目管理比較類似&#xff1f…

Hadoop Hive概念學習系列之hive的數據壓縮(七)

Hive文件存儲格式包括以下幾類: 1、TEXTFILE 2、SEQUENCEFILE 3、RCFILE 4、ORCFILE 其中TEXTFILE為默認格式,建表時不指定默認為這個格式,導入數據時會直接把數據文件拷貝到hdfs上不進行處理。 SEQUENCEFILE,RCFILE,O…

java 加鎖_Java并發之synchronized深入

一句話總結synchronized:JVM會自動通過使用monitor來加鎖和解鎖,保證了同時只有一個線程可以執行指定代碼,從而保證了線程安全,同時具有可重入和不可中斷的性質。一.synchronized的作用使用synchronized修飾方法或者代碼塊時&…

激活函數之 Sigmoid、tanh、ReLU、ReLU變形和Maxout

Sigmoid函數 Sigmoid函數計算公式 sigmoid:x取值范圍(-∞,∞),值域是(0, 1)。 sigmoid函數求導 這是sigmoid函數的一個重要性質。 圖像 代碼 # -*- coding: utf-8 -*- """ author: tom """import numpy im…

Python查看、修改pip install 默認使用的pip庫

一、更改 Python 的 pip install 默認使用的pip庫 【方法】只需要將對應python腳本的路徑添加到系統環境變量Path中較前的位置即可,這樣就可以獲得優先級。 1、打開終端,可以通過指令 pip show pip 查看默認使用的pip包: 2、現在&#xff…

cmd 找到8080對應進程_多進程概括

多進程圖像操作系統記錄進程,并按照合理的次序交替推進(分配資源,不斷調度),提高CPU利用率和程序執行速度,這就是操作系統的多進程圖像。當操作系統啟動時,多進程圖像就出現了。 在linux內核源碼main.c文件中&#xff…

機器學習接口和代碼之 KNN

官網地址:https://scikit-learn.org/stable/modules/classes.html#module-sklearn.neighbors class sklearn.neighbors.KNeighborsClassifier(n_neighbors5, weights’uniform’, algorithm’auto’, leaf_size30, p2, metric’minkowski’, metric_paramsNone, n…

Eclipse中安裝Ext插件(Spket IDE)

在網上找了很多資料,這里重新整理一下。 Spket IDE是目前支持Ext 2.0最為出色的IDE。 它采用.jsb project file 文件并將繼承于基類和所有文檔的內容嵌入到生成代碼提示的. doc中。由于Spket只是一個單純的編輯器,沒有其它格式的支持(如CSS&a…

職業程序員培養之道

作者:粘新育 任甲林 來源:希賽網  http://www.csai.cn 2004年06月28日軟件開發是以人為核心的過程,對人的依賴性遠高于傳統的硬件生產企業,為了保持開發能力的穩定性,一方面需要定義軟件過程,以過程為樞紐…

MongoDB啟動

詳細見大神鏈接 鏈接: https://blog.csdn.net/chenpuzhen/article/details/90642147.

Go 語言編程規范

1. gofmt 命令 大部分的格式問題可以通過 gofmt 來解決,gofmt 自動格式化代碼,保證所有的 go 代碼與官方推薦的格式保持一致,所有格式有關問題,都以gofmt的結果為準。所以,建議在提交代碼庫之前先運行一下這個命令。 2…

python去噪音_python中的噪聲是什么意思

你的序列均值為零嗎? 方差隨時間變化嗎? 值與延遲值相關嗎? 你可以用一些工具來檢查你的時間序列是否為白噪音: 創建一個折線圖。檢查總體特征,如變化的平均值,方差或延遲變量之間的明顯關系。 計算匯總統計。對照序列中有意義的連續塊的均值和方差&a…

pycharm 離線安裝插件

插件離線下載地址: http://plugins.jetbrains.com/ 1、下載插件:http://plugins.jetbrains.com/ 2、安裝插件: settings -> plugins -> install plugin from disk,然后重啟IDEA即可。

為機器學習占地16

是將若干個學習器(分類器&回歸器)組合之后產生一個新學習器。弱分類器(weak learner)指那些分類準確率只稍微好于隨機猜測的分類器(errorrate < 0.5)。 集成算法的成功在于保證弱分類器的多樣性(Diversity)。而且集成不穩定的算法也能夠得到一個比較明顯的性能提升。 …

VC DLL學習

1 用VC創建DLL動態鏈接庫1.1 創建dll項目1.2 為dll項目編寫源文件頭文件dllDemo.hextern"C"_declspec(dllexport) intSum(inta,intb);//加法函數。extern"C"_declspec(dllexport) intMax(inta, intb);//取較大值函數extern"C"_declspec(dllexpor…