你覺得你自己算是一名優(yōu)秀的開發(fā)者嗎?如果是的話,你有沒有考慮過,作為一名優(yōu)秀的開發(fā)者,你具備哪些優(yōu)秀的品質(zhì)?好的開發(fā)者和差的開發(fā)者區(qū)別在哪里?經(jīng)驗(yàn)?技能?還是天賦?如何才能成為一名優(yōu)秀的開發(fā)者?
1. 具有很強(qiáng)的分析思維
作為一名優(yōu)秀的開發(fā)者,你需要思考,觀察數(shù)據(jù),記憶并且分析這些現(xiàn)象和內(nèi)容,并解決問題。雖然這一點(diǎn)有些抽象,但很不幸的是這是非常重要的一點(diǎn)。為什么很不幸呢?因?yàn)檫@一點(diǎn)意味著不是每一個(gè)人都能成為優(yōu)秀的開發(fā)者,即使他們很努力。這種分析思維有點(diǎn)像是天生的。如果你沒有這個(gè)能力的話,還是盡早改行。
分析性思維是可以鍛煉的,例如解決算法和邏輯問題會(huì)讓你在這方面有所提高。但是每個(gè)人都有一個(gè)上限,難以超越。
2. 對(duì)軟件有一個(gè)宏觀的理解
開發(fā)一個(gè)軟件有點(diǎn)像是下棋 - 你要贏得比賽就要預(yù)測(cè)后面幾步。在編程的時(shí)候,你不光要看到眼前的代碼,你還要想到將來要寫的代碼。作為一名優(yōu)秀的開發(fā)者,你不應(yīng)該只盯著軟件的一小部分,你應(yīng)該看到軟件的整體結(jié)構(gòu)。你需要知道如何實(shí)現(xiàn)一項(xiàng)功能,也需要知道為什么實(shí)現(xiàn)一項(xiàng)功能。
3. 從業(yè)務(wù)的角度理解軟件開發(fā)
在我的概念中,一名優(yōu)秀的開發(fā)者不僅是面向技術(shù)的。你同時(shí)需要面向業(yè)務(wù),理解客戶的需求。如果你做不到這一點(diǎn)的話,有很多潛在的問題:誤解業(yè)務(wù)需求,軟件可用性差等等。
那么如何做一個(gè)面向業(yè)務(wù)的開發(fā)者呢?
- 從業(yè)務(wù)的角度理解軟件
- 尊重客戶的需求
- 能將業(yè)務(wù)問題轉(zhuǎn)化成技術(shù)問題
- 能和非技術(shù)領(lǐng)域的人溝通
4. 善于協(xié)作
一名優(yōu)秀的開發(fā)者不是只會(huì)單打獨(dú)斗的。一個(gè)項(xiàng)目要成功的話,團(tuán)隊(duì)內(nèi)部的溝通和協(xié)作是至關(guān)重要的。不善于協(xié)作的開發(fā)者是無法融入團(tuán)隊(duì)的。我知道有很多牛逼的開發(fā)者都很內(nèi)向,但是在現(xiàn)代開發(fā)過程中,光寫代碼是不夠的。
敏捷的世界需要好的開發(fā)者
我上面說的幾點(diǎn)也許在多年前是不成立的。如果我們沒有進(jìn)入敏捷的時(shí)代,任何合格的“碼農(nóng)”都可以被稱作合格的“開發(fā)者”。但事實(shí)是我們已經(jīng)進(jìn)入敏捷的時(shí)代,我們需要敏捷的開發(fā)者,能夠分析問題,從業(yè)務(wù)的角度考慮問題,對(duì)軟件有全局觀,并且善于協(xié)作。
原文鏈接,OSChina.NET 原創(chuàng)編譯
------- 譯者總結(jié) -------
隨著時(shí)代的發(fā)展,純粹的coding,碼農(nóng)(programmer)已經(jīng)不能滿足需求。時(shí)代需要的是開發(fā)者(developer)。作為開發(fā)者你需要“善于分析問題,對(duì)軟件開發(fā)有大局觀,懂得業(yè)務(wù)需求,善于溝通協(xié)作”。
我個(gè)人越來越感覺到,隨著移動(dòng)互聯(lián)網(wǎng)的興起,“開發(fā)者”這個(gè)概念被提的越來越多。IT界的大勢(shì)正在推動(dòng)著對(duì)開發(fā)者這個(gè)角色的需求。開發(fā)者是程序員,但程序員不一定是開發(fā)者。
該文章在 2012/3/20 15:46:57 編輯過