自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

以一當(dāng)十的程序員不是傳說

開發(fā) 后端
我收到了大量的回復(fù)和問題,但微博不適合討論問題,所以我寫了這篇博格來進(jìn)一步討論。

昨晚,我發(fā)了下面的微博:

有些人議論所謂“10x”或者“超級(jí)”的程序員都是傳說??赡切┲\(yùn)動(dòng)員,藝術(shù)家,作家,呃,還有搖滾明星的都是神話嗎?

— Yevgeniy Brikman (@brikis98) September 29, 2013

我收到了大量的回復(fù)和問題,但微博不適合討論問題,所以我寫了這篇博格來進(jìn)一步討論。

已經(jīng)有   文章號(hào)稱10x的程序員根本不存在。反對(duì)觀點(diǎn)一般分為以下三種:

  1. 最初10x這個(gè)數(shù)字來自一個(gè)研究(Sackman,Erikson, and Grant (1968)),不是很有說服力。
  2. 生產(chǎn)力是個(gè)很難測(cè)量的模糊概念,所以我們不應(yīng)該聲稱諸如10x之類的度量。
  3. 個(gè)人才華確有高低不同,但一個(gè)程序員不可能比另一個(gè)程序員高出10倍的工作能力。

我不同意以上的這些觀點(diǎn),我來逐條看一下這些論點(diǎn)。

[譯者注]:10x程序員(10x效應(yīng)來自一個(gè)有趣的觀察:偉大的程序員相比普通程序員的生產(chǎn)力不僅是15-20%的差距,很可能會(huì)10倍甚至更多)的說法最初來自于www.forbes.comwww.tempobook.com

對(duì)10x程序員的研究不只有一個(gè)

盡管微博和Hacker News里那些坐在搖椅里的學(xué)術(shù)專家喜歡駁斥同行的研究結(jié)果,然而10x程序員的證據(jù)相當(dāng)令人信服而且并不限于單個(gè)研究。請(qǐng)?jiān)试S我引用來自StackOverflow里得票最多的回復(fù)

Sackman, Erikson, and Grant在1968年進(jìn)行的最初研究發(fā)現(xiàn)程序員的編程效率有巨大的差異。他們研究了平均有7年經(jīng)驗(yàn)的專業(yè)編程人員,發(fā)現(xiàn)***和最差的編程人員初次寫代碼所用的時(shí)間比率大概是20比1;調(diào)試時(shí)間大概是25比1;程序大小大概是5比1;程序執(zhí)行速度大概是10比1。他們還發(fā)現(xiàn),編程者的經(jīng)驗(yàn)和代碼質(zhì)量的好壞并沒有關(guān)系。

對(duì)他們的發(fā)現(xiàn)進(jìn)行詳細(xì)的考證,可以看出一些方法論上的缺陷。。。然而,即使考慮了這些缺陷,他們的數(shù)據(jù)依然可以呈現(xiàn)出***和最差的程序員之間不止10倍的差距。

在***研究之后的幾年里,“程序員之間倍數(shù)級(jí)的差距”這一發(fā)現(xiàn)被其他許多專業(yè)程序員的研究所驗(yàn)證(Curtis 1981, Mills 1983, DeMarco and Lister 1985, Curtis etal. 1986, Card 1987, Boehm and Papaccio 1988, Valett and McGarry 1989, Boehm etal 2000)…

這里 and 這里你可以讀到更多。

即使不能測(cè)量,依然可以推理

即使你無視上面的研究,聲稱“編程效率”很難測(cè)量-那也表示我們依然可以討論下10倍效率程序員。僅僅是因?yàn)橐粋€(gè)東西很難測(cè)量并不代表我們不能測(cè)量。

比如,你是如何為你最近的項(xiàng)目挑選編程語言的?你有去搜索證明這種語言比其他更有效率的研究嗎?個(gè)人來講,我不需要經(jīng)驗(yàn)就可以證明Ruby在構(gòu)建網(wǎng)站方面比C高效了好多倍。你可以拋出一些粗略的準(zhǔn)則(程序庫的可利用性,社區(qū)支持,文檔等),但現(xiàn)實(shí)是大多數(shù)人會(huì)基于直觀推理來選擇語言,并不是什么雙盲研究。盡管缺少數(shù)據(jù)資料,我打賭選Ruby而不是C去做網(wǎng)站開發(fā)大多數(shù)時(shí)候都會(huì)被證明是一個(gè)正確的決定。

當(dāng)然,編程并不是個(gè)例:什么樣的度量標(biāo)準(zhǔn)可以判斷某個(gè)作家,藝術(shù)家,教師或者哲學(xué)家比另外一個(gè)好?僅通過觀察,我不能給你一個(gè)“生產(chǎn)力度量標(biāo)準(zhǔn)”說莎士比亞,納博科夫,或者奧威爾比一般的作家好了好幾倍,但是大多數(shù)人會(huì)同意他們是的。

編程不是體力勞動(dòng)

針對(duì)10倍效率程序員的***問題是有些人認(rèn)為編程不過是體力勞動(dòng),程序員也不過是流水線上的工人。一些程序員可能會(huì)比其他人好一些,但是,一個(gè)程序員必定不可能持續(xù)地比其他人解決10倍多的問題。10個(gè)人的團(tuán)隊(duì)總是會(huì)勝過一個(gè)程序員!9個(gè)女人一起也不可能在一個(gè)月內(nèi)就生出一個(gè)孩子??!

上面的邏輯聽起來就像編程效率就是打字速度;好像10x程序員只是簡(jiǎn)單地比普通程序員多產(chǎn)了10倍的代碼。這種推理無視了編程其實(shí)是一個(gè)創(chuàng)造性的專業(yè),并不是體力勞動(dòng)。解決同一個(gè)問題有許多許多種方式。更多地考慮刑偵級(jí)推理而不是簡(jiǎn)單的嬰兒式推理:10個(gè)普通的偵探對(duì)一個(gè)夏洛克。誰可以更快地破案?

一個(gè)10x程序員有普通程序員無法企及的解決問題的能力和洞察力;他們將會(huì)避開耗費(fèi)普通程序員大量時(shí)間的所有問題。10個(gè)寫錯(cuò)誤代碼的工程師肯定不如一個(gè)寫正確代碼的程序員。

編程是選擇

想一想一個(gè)軟件的構(gòu)建需要做多少?zèng)Q定,比如一個(gè)網(wǎng)站:你要采用什么語言?采用什么樣的架構(gòu)?用什么存儲(chǔ)數(shù)據(jù)?用什么來高速緩存?在哪里托管站點(diǎn)?如何監(jiān)測(cè)?如何推動(dòng)新的改變?怎么存儲(chǔ)代碼?需要設(shè)置什么樣的自動(dòng)化測(cè)試?

10個(gè)普通程序員在每個(gè)階段都可以做出“平均”水平的決定,這些決定的成本或者收益會(huì)累乘。設(shè)想流量呈指數(shù)增長,但是這個(gè)普通的團(tuán)隊(duì)構(gòu)建了一個(gè)普通的網(wǎng)站,難以分區(qū)的數(shù)據(jù)存儲(chǔ),缺少足夠冗余的托管,沒有合適備份的版本控制,沒有持續(xù)集成環(huán)境,以及沒有監(jiān)測(cè)。如果他們的時(shí)間全在忙于到處滅火,這10個(gè)程序員能有多高效?

如果一個(gè)程序員可以以倍數(shù)級(jí)降低的工作量的方式來建模這個(gè)問題,那么這一個(gè)程序員就勝過一個(gè)10個(gè)人的團(tuán)隊(duì)。從我多年的經(jīng)驗(yàn)來看,一個(gè)偉大的程序員知道那些事后修補(bǔ)更為昂貴的錯(cuò)誤。預(yù)先做出一個(gè)好的決定,一個(gè)10x程序員可以避免數(shù)月的工作。

編程不是寫更多的代碼;是要寫正確的代碼。成為一個(gè)10x程序員并不是因?yàn)槟阕隽藥妆抖嗟墓ぷ鳎?wbr>而是因?yàn)槟愀鼮榻?jīng)常地做出更好的決定。

這不是說10x程序員就完全不會(huì)犯錯(cuò);而是程序員每天都要做出許多選擇,偉大的程序員會(huì)比普通的程序員更為經(jīng)常地做出正確的選擇。

而且這并不只是說編程。你是更想要10個(gè)普通科學(xué)家呢還是牛頓?10個(gè)普通科學(xué)家可不會(huì)提出運(yùn)動(dòng)三定律,萬有引力,二項(xiàng)式序列,微積分等;一個(gè)牛頓就做到了。在你的團(tuán)隊(duì)里你是更想要一個(gè)邁克爾喬丹呢還是10個(gè)普通球員?(注意:?jiǎn)痰つ弥?0倍于NBA球員的平均薪資)?你是更想讓史蒂夫喬布斯或者艾倫馬斯克運(yùn)作公司或者把鑰匙交給10個(gè)普通的企業(yè)家?

10x程序員非常稀有

把目光放長遠(yuǎn)一點(diǎn)很重要。明星程序員,運(yùn)動(dòng)員,作家以及科學(xué)家是極為稀有的。我并不推薦僅雇傭這些“搖滾明星”的招聘體系;這只會(huì)看起來愚蠢又孤獨(dú)。不要讓***成為不錯(cuò)的敵人:雇傭能找到的***的的工程師,給他們變得越來越好的機(jī)會(huì)。

然而,不要掉入所有的程序員生來平等的謬論。在任何一個(gè)創(chuàng)造性的專業(yè)都存在一個(gè)巨大的能力譜圖。一端是可以毀掉一個(gè)組織的雇員類型,每行他們寫下的代碼都增加了技術(shù)負(fù)債。另一端,則是那些可以寫出任何可能的代碼,而且數(shù)倍地優(yōu)秀于普通人的人。

責(zé)任編輯:李英杰 來源: 外刊IT評(píng)論
相關(guān)推薦

2015-03-17 10:36:36

程序員

2017-04-24 15:40:42

戴爾

2019-09-25 15:29:41

阿里云芯片

2019-07-15 09:06:08

程序員技能開發(fā)者

2014-09-23 10:12:38

程序員

2012-06-27 09:29:49

程序員

2025-01-10 12:00:00

JavaScript前端開發(fā)

2024-01-12 08:03:28

安裝軟件電腦Mac

2013-04-28 11:03:41

編程語言程序員私有云

2015-11-10 09:28:23

程序員需求

2013-04-23 09:34:44

程序員

2019-12-19 16:22:38

程序員征文

2011-04-15 10:51:47

程序員

2012-09-28 10:09:35

程序員碼農(nóng)謊言

2014-09-19 09:27:46

程序員

2021-08-28 23:26:14

程序員編碼電腦

2013-05-30 09:55:51

程序員分歧程序員失業(yè)的程序員

2016-11-29 09:56:37

Linux

2012-05-11 09:13:28

程序員開發(fā)者

2013-08-20 09:33:59

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)