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

說(shuō)的還真準(zhǔn):高效程序員的5種角色

開發(fā) 后端 前端
我認(rèn)為一名高效程序員可以扮演5種基本角色來(lái)高效地完成他/她的工作,這些角色以某種方式組合后更符合開發(fā)團(tuán)隊(duì)中的某些“人物”。你是其中的哪個(gè)(或哪些)角色?

我認(rèn)為一名高效程序員可以扮演5種基本角色來(lái)高效地完成他/她的工作,這些角色以某種方式組合后更符合開發(fā)團(tuán)隊(duì)中的某些“人物”。你是其中的哪個(gè)(或哪些)角色?

編碼者

 

[[135213]]

當(dāng)我們?cè)诘蛯哟畏e極參與編寫代碼并解決問題時(shí),我們所擔(dān)任的就是這樣一種角色。編碼者在編程同時(shí)致力于其他小問題,但通常專注于某一項(xiàng)特定任務(wù)而非整體架構(gòu)。如果一個(gè)非IT人員詢問你工作,你告訴他們你是一名程序員,這就是他們想象中你整天所做的事。

調(diào)查者

[[135214]]

我們想要理解一個(gè)系統(tǒng)需要如何工作時(shí),我們就會(huì)擔(dān)負(fù)起這種角色。調(diào)查者不會(huì)讓事情有任何不明之處;她/他對(duì)事物的工作原理以及事物固定的行為方式的理解有著與生俱來(lái)的渴望。這種對(duì)代碼工作原理理解的內(nèi)在意愿使得調(diào)研者成為優(yōu)秀的捉蟲者。

理論家

[[135215]]

在思考并解決抽象問題時(shí),我們扮演這種角色。理論家善于將抽象問題分解成具體方案,并且善于構(gòu)建系統(tǒng)架構(gòu),即使她/他不是非常善于實(shí)際用代碼來(lái)實(shí)現(xiàn)這些方案和架構(gòu)。

邏輯者

[[135216]]

該角色允許我們有批判性和邏輯性地思考問題。邏輯者是這些角色中最善于分析的,他們會(huì)思考這段代碼為何以某種方式運(yùn)行,而不僅僅是代碼如何運(yùn)行。她/他能夠以同等權(quán)重來(lái)考慮所有可能的情況,并做出無(wú)偏見的決定,而不允許他/她的未經(jīng)證實(shí)的觀點(diǎn)來(lái)影響他們的判斷。

溝通者

[[135217]]

該角色允許我們與其他人交流并解釋復(fù)雜問題。溝通者能夠理解深?yuàn)W的技術(shù)思想和策略,并向技術(shù)和非技術(shù)人員解釋清楚。她/他善于以多種方式溝通,無(wú)論是書寫(例如評(píng)論或文檔),還是口頭表達(dá)(例如他/她的經(jīng)理提出“這個(gè)按鈕是干什么的?”)。

在任何特定時(shí)間,所有的程序員都擔(dān)任過這五種角色,并且能夠按照意愿在這些角色之間轉(zhuǎn)換。然而,在我看來(lái)能夠最大程度利用這五種角色的人非常少,實(shí)際上我們中大多數(shù)人會(huì)發(fā)現(xiàn)只有一種或兩種固有角色最適合我們。

例如,你可能是一位優(yōu)秀的邏輯者但卻不善溝通,正因?yàn)槿绱四阋苍S能夠確定一段代碼如何進(jìn)行優(yōu)化卻可能無(wú)法向你的老板解釋為何這樣做很重要。同樣地,你也許是 一位一流的編碼者但是一位糟糕的理論家,因此你在開始編寫代碼解決問題前需要獲取該問題的詳細(xì)解釋。這里有許多可能的組合,其中一些更為高效。

#p#

角色組合

何時(shí)可將這些基本角色組和成更加復(fù)雜的角色。也許你在職業(yè)生涯中已經(jīng)遇到一個(gè)或多個(gè)扮演這些角色的人。在你的團(tuán)隊(duì)中,有沒有一些這樣的人?你是這些人中的一員嗎?

編碼者 + 邏輯者 + 理論家 = 優(yōu)化者

優(yōu)化者是能夠快速有效提高代碼質(zhì)量的人,無(wú)論她/他是否編寫了最初的代碼。他們是查找哪里存在或可能引起性能問題的專家,因?yàn)樗麄兪且涣骶幋a者,可能已經(jīng)在一個(gè)框架或者另一個(gè)框架中實(shí)現(xiàn)過類似解決方案。當(dāng)出現(xiàn)性能問題時(shí),我們可以讓優(yōu)化者來(lái)幫我們修復(fù)問題。

編碼者 + 調(diào)查者 + 溝通者 = 問題解決者

問題解決者是你在特定問題上需要幫助時(shí)可以求 助的人。她擅長(zhǎng)獲取一個(gè)給定問題并將其細(xì)分成許多組成部分使它們更易于獨(dú)立研究。問題解決者是專門幫助你修復(fù)bug和重構(gòu)代碼的人。

理論家 + 邏輯者 + 溝通者 = 架構(gòu)師

架構(gòu)師負(fù)責(zé)系統(tǒng)設(shè)計(jì)以滿足規(guī)定的要求。為完成系統(tǒng)設(shè)計(jì),她能夠抽象思考并對(duì)比許多彼此不同的方案以尋得最優(yōu)方案。她還要能夠向?qū)嶋H實(shí)現(xiàn)設(shè)計(jì)的程序員解釋她的架構(gòu)。

上述角色源于一些角色的組合。我們可能還會(huì)發(fā)現(xiàn)一些效率低下的組合,通常是由于一個(gè)人忘記擔(dān)任一種或多種角色而導(dǎo)致。

理論家 + 編碼者 + 溝通者 – 邏輯者 = 空想架構(gòu)師

空想架構(gòu)師為解決方案設(shè)計(jì)了架構(gòu),但卻忽視了他的團(tuán)隊(duì)要用代碼來(lái)實(shí)際實(shí)現(xiàn)描述方案。他不能從長(zhǎng)遠(yuǎn)角度考慮或公正分析他的設(shè)計(jì),他所謂的“完美”設(shè)計(jì),一旦編寫后,往往最終陷入不可維護(hù)的混亂。

編碼者 + 邏輯者 – 溝通者 = 象牙塔開發(fā)者

象牙塔開發(fā)者善于依據(jù)自己的理解編寫代碼。他得到一個(gè)問題后將自己鎖在象牙塔內(nèi),直到他“完善”了自己的方案時(shí)才出現(xiàn),并且從為他的代碼編寫文檔。他也許很聰明,但他不能(或不愿)將自己的才華與任何人分享,所以他的代碼艱澀難懂,難以維護(hù)。

編碼者 + 理論家 – 調(diào)查者 – 邏輯者 = “我永遠(yuǎn)沒錯(cuò)”的開發(fā)者

“我永遠(yuǎn)沒錯(cuò)”的開發(fā)者不能或不愿批判性地分析她自己的代碼,因?yàn)樗麍?jiān)信代碼是完美的,不需進(jìn)行測(cè)試或研究。他的代碼永遠(yuǎn)不會(huì)出現(xiàn)bug,因此總是其他人的錯(cuò)誤。

這些僅僅是一些我在職業(yè)生涯中遇到的組合。我見過各種不同水平的五種角色,這些角色組合深深吸引了我。你遇到哪些角色的組合?除這些外,是不是還有其他角色我遺漏了,可以加入到列表中?請(qǐng)?jiān)谠u(píng)論中告知!

責(zé)任編輯:王雪燕 來(lái)源: ITeye
相關(guān)推薦

2012-01-10 14:43:48

程序員

2015-08-20 09:06:48

程序員

2021-08-10 14:21:02

開發(fā)程序員工具

2009-11-04 11:41:01

程序員職業(yè)感悟軟件開發(fā)

2014-06-05 09:23:47

程序員高效

2017-11-20 22:28:43

程序員源代碼編程

2011-04-27 09:17:30

程序員

2013-04-18 09:55:05

程序員

2017-03-06 09:06:13

2013-04-28 11:03:41

編程語(yǔ)言程序員私有云

2013-05-07 09:11:26

程序員程序員特征

2015-08-13 08:56:40

高效程序員共同特征

2011-06-03 09:58:03

結(jié)對(duì)編程程序員

2018-01-15 10:38:04

2013-08-20 09:33:59

程序員

2019-04-16 14:03:47

編程程序員代碼

2021-04-20 16:51:07

程序員技術(shù)開發(fā)

2013-06-28 10:17:04

2011-03-30 15:14:31

對(duì)日外包程序員

2019-06-14 15:28:13

程序員文本編輯器
點(diǎn)贊
收藏

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