說的還真準:高效程式設計師的5種角色

51cto發表於2015-05-29

  我認為一名高效程式設計師可以扮演5種基本角色來高效地完成他/她的工作,這些角色以某種方式組合後更符合開發團隊中的某些“人物”。你是其中的哪個(或哪些)角色?

  編碼者

說的還真準:高效程式設計師的5種角色

  當我們在低層次積極參與編寫程式碼並解決問題時,我們所擔任的就是這樣一種角色。編碼者在程式設計同時致力於其他小問題,但通常專注於某一項特定任務而非整體架構。如果一個非IT人員詢問你工作,你告訴他們你是一名程式設計師,這就是他們想象中你整天所做的事。

  調查者

說的還真準:高效程式設計師的5種角色

  我們想要理解一個系統需要如何工作時,我們就會擔負起這種角色。調查者不會讓事情有任何不明之處;她/他對事物的工作原理以及事物固定的行為方式的理解有著與生俱來的渴望。這種對程式碼工作原理理解的內在意願使得調研者成為優秀的捉蟲者。

  理論家

說的還真準:高效程式設計師的5種角色

  在思考並解決抽象問題時,我們扮演這種角色。理論家善於將抽象問題分解成具體方案,並且善於構建系統架構,即使她/他不是非常善於實際用程式碼來實現這些方案和架構。

  邏輯者

說的還真準:高效程式設計師的5種角色

  該角色允許我們有批判性和邏輯性地思考問題。邏輯者是這些角色中最善於分析的,他們會思考這段程式碼為何以某種方式執行,而不僅僅是程式碼如何執行。她/他能夠以同等權重來考慮所有可能的情況,並做出無偏見的決定,而不允許他/她的未經證實的觀點來影響他們的判斷。

  溝通者

說的還真準:高效程式設計師的5種角色

  該角色允許我們與其他人交流並解釋複雜問題。溝通者能夠理解深奧的技術思想和策略,並向技術和非技術人員解釋清楚。她/他善於以多種方式溝通,無論是書寫(例如評論或文件),還是口頭表達(例如他/她的經理提出“這個按鈕是幹什麼的?”)。

  在任何特定時間,所有的程式設計師都擔任過這五種角色,並且能夠按照意願在這些角色之間轉換。然而,在我看來能夠最大程度利用這五種角色的人非常少,實際上我們中大多數人會發現只有一種或兩種固有角色最適合我們。

  例如,你可能是一位優秀的邏輯者但卻不善溝通,正因為如此你也許能夠確定一段程式碼如何進行優化卻可能無法向你的老闆解釋為何這樣做很重要。同樣地,你也許是 一位一流的編碼者但是一位糟糕的理論家,因此你在開始編寫程式碼解決問題前需要獲取該問題的詳細解釋。這裡有許多可能的組合,其中一些更為高效。

相關文章