- 該如何解釋軟體業者與其他腦力密集的工作者願意投入這麼多額外的工作時間呢?其中一個令人感到不安的可能原因,就是與其說加班是為了增加工作時間的量 (quality),不如說那是為了改善它的質 (quality)。
- 更令人洩氣的是,對於拿不出辦法來改善環境,管理者竟毫無愧疚。
- 改變環境絕對沒有踰越人類的能力範圍。
編程競賽 (Coding War Games)
個人差異
- 對任何個人績效差異進行抽樣調查,似乎總能運用以下三個經驗法則:
- 表現最佳與表現最差的差異達 10:1
- 表現最佳與表現中等的差異為 2.5:1
- 表現較佳的一半與另一半的差異為 2:1
與生產力無關的因素
- 語言:使用 COBOL 和 Fortran 這類老語言的人,工作表現基本上跟使用 Pascal 和 C 的人沒什麼差別
- 經驗年資:具有十年經驗的人,其表現並未優於只有兩年經驗的人。參賽者對自身使用的語言,若經驗不足六個月,則表現將不如其他人,除此之外,經驗與表現之間沒有任何關聯。
- 瑕疵數量:整體而言,零瑕疵參賽者並未因追求正確性而影響整體表現。
- 薪資:薪資與工作表現僅有薄弱的關聯,表現較好的那一半參賽者的薪資,只比另一半多不到一成,然其表現卻好到將近兩倍。
你也許不會想讓老闆看到這一點
- 跟你配對的夥伴有很大的關係:同一組兩人表現的差異平均只有21%,這意味來自同一家公司的兩人往往有類似的表現。
- 程式設計師之間存在這種 [10:1] 生產力差異是可以理解的,同樣,軟體公司也存在著10比1的生產力差異。
- 多年來,經理人對員工的個人差異抱持著某種宿命論,認為這種差異是天生的,所以也不能改變什麼,但是,很難對這種物以類聚的現象抱持宿命的態度,有些公司的表現就是差其他公司一大截,與環境和企業文化有關的某些因素使得無法吸引並留住人才,或者就算有好的人才,他們也無法有效率地工作。
Hi Rman,
回覆刪除This is, I believe, a better solution to 8.4.4:
=> R = 1 => A = πR^2. Can split along R, k ring segments for a uniform point distribution and best bucket-sort performance.
DISTANCE(p)
return sqrt(p.x*p.x + p.y*p.y)
BUCKET-SORT(P)
struct {
tuple p;
distance d;
} *point
let B[0...9], C[0...n] be a new array of *point
for i=0 to 9
B[i] = 0
for i=1 to n
C[i]->p = P[i]
c[i]->distance = DISTANCE(C[i]->p)
for i=1 to n
B[10*C[i]->distance]->p = C[i]->p
B[10*C[i]->distance]->distance = C[i]->distance
for i = 0 to 9
INSERT-sORT(B[i]->distance)
concatenate lists B[i]
Take care,
Nikos