1968年汪拥,有人在美國加州搞了一次編程比賽牛哺。參賽選手都是剛?cè)胄械囊娏?xí)程序員陋气。他們每人得到一個小信封,里面裝著一系列編程和糾錯任務(wù)引润,他們有兩個小時的工作時間巩趁。這個比賽其實(shí)是一個實(shí)驗(yàn),研究者想知道最厲害的程序員到底能有多厲害淳附。
人們之前設(shè)想议慰,優(yōu)秀程序員的工作效率大概是普通程序員的兩到三倍。比賽結(jié)果不是這樣的奴曙。
結(jié)果是最好程序員的編寫代碼速度是最差程序員的 20 倍别凹,他排除錯誤(debug)的速度是 25 倍,他寫出來的程序的運(yùn)行速度是 10 倍洽糟。
這里的“最差”可不是偶爾遇到一位這么差的:是除了最好的炉菲,一般人都很差堕战。硅谷的業(yè)內(nèi)一般認(rèn)識是 10 倍:如果你有幸能請到一位最厲害的程序員,他一個人能干的事兒相當(dāng)于 10 個普通程序員颁督。這個效應(yīng)叫“搖滾明星原則( rock-star principle)”践啄,程序員跟程序員之間的差距,就如同明星搖滾歌手和普通搖滾歌手之間的差距沉御。
里德最近專門寫文章 談?wù)摿诉@個事兒屿讽,他是這么說的 ——
以前我認(rèn)為,給定一個項目和固定的工資預(yù)算吠裆,我與其雇傭 10 到 25 個普通工程師伐谈,寧可請一位明星。這么多年過去试疙,我認(rèn)識到我錯了诵棵。最好的程序員的價值不是 10 倍。而是 100 倍祝旷。
其實(shí)里德說的還算是保守的履澳,比爾·蓋茨的說法是 10000 倍。當(dāng)然他們說的不是做同樣工作的程序員怀跛,高級程序員要負(fù)責(zé)像系統(tǒng)架構(gòu)設(shè)計這樣更重要的任務(wù)距贷,他跟普通程序員的差距是難以量化的。
這不是二八定律吻谋。這是 1 個人干 19 個人的活兒忠蝗,剩下 19 個人干一個人的活。明星就是這么好使漓拾!
雖然大家都是工程師阁最,但是一個普通的工程師和一個高級工程師。它們的差別是指數(shù)級的骇两。我還記得速种,當(dāng)初我進(jìn)入公司的時候,老板跟我說低千,這個活我安排了三個工程師配阵,他們一定做的比你一個人好,你一定要放心的讓他們?nèi)プ龆安佟J聦?shí)的結(jié)果是什么呢?三個工程師做了半年也沒有什么成績饱亮。后來我這個主管實(shí)在看不下去了矾芙。用了一個禮拜,把它們給做出來了近上。老板也不相信剔宪,反復(fù)驗(yàn)證,我又重新做了一遍,給他們看葱绒。確實(shí)能夠重復(fù)感帅,能夠?qū)崿F(xiàn)。到現(xiàn)在地淀,15年以后失球,依然是公司非常掙錢的一個產(chǎn)品。我不想說自己有多厲害帮毁,只是通過這件事情实苞,我證明了一點(diǎn),一個厲害的人和一個普通的人烈疚,它們的差別是指數(shù)級的黔牵。不是簡單的二八原則,是一比100或者1:1萬的區(qū)別爷肝。
這是為什么中國有句古話猾浦,"千金易得,一將難求"灯抛。錢學(xué)森為什么能抵上幾個師金赦?真是他的體力比幾個師好嗎?我想沒有一個人會認(rèn)同他的體力會超過幾個師牧愁,而是他的高級工程師的思維素邪,幾個師,有可能幾個軍也創(chuàng)造不出來爸戆搿兔朦!
人與人之間,差別是很大的磨确。不要驚詫這個差距沽甥。我們要驚詫的是,我們?yōu)槭裁春蛣e人有那么大的差距乏奥?1 個人干 19 個人的活摆舟,不是說,他真的干超過19個人的活邓了。而是說恨诱,他能夠干的活,19個人骗炉,甚至100個10000個人也干不了照宝。