幾乎每個(gè)軟件開發(fā)人員或程序員都見過其他人編寫的代碼,說明了“任何人都可以編碼”。但你有沒有遇到過所謂的神話般的“10倍效率的開發(fā)人員”?作為一個(gè)10倍效率的開發(fā)人員,在編寫代碼方面做得很少, 更多的是知道要寫什么代碼。
要成為一名10倍效率的開發(fā)人員,你必須學(xué)會(huì)在這種環(huán)境中脫穎而出,甚至創(chuàng)立自己的公司來領(lǐng)導(dǎo)這項(xiàng)工作。任何人都可以是一個(gè)10倍效率的開發(fā)人員,至少在每一天的某個(gè)時(shí)刻。我相信所有開發(fā)人員都應(yīng)該專注于提高生產(chǎn)力和團(tuán)隊(duì)合作的三件事。
來說說這三件事
要成為一名10倍效率的開發(fā)人員,你需要幾年的工作經(jīng)驗(yàn),無論使用哪種編程語言和工具集。你必須善于解決問題和編寫代碼;這是必須的。
重要的是你要明白,如何編寫代碼并不能讓你成為10倍效率的開發(fā)人員,10倍效率的工程師,10倍效率的程序員,或其他任何你想要的名字。
你知道5W:“誰(Who),什么(What),在哪里(Where),為什么(Why),什么時(shí)候(When)”。雖然這些都適用于軟件開發(fā),我想關(guān)注那三個(gè)定義了10倍效率的開發(fā)人員的特點(diǎn)。這三項(xiàng)把普通開發(fā)人員與10倍效率的開發(fā)人員區(qū)別開來:
是什么(What)
為什么(Why)
什么時(shí)候(When)
知道做什么(What)
在企業(yè)界,開發(fā)人員經(jīng)常從事他們不太感興趣和不理解的項(xiàng)目。對(duì)于大多數(shù)開發(fā)人員來說,這不是一個(gè)大問題,只要他們收到了很好的指令,并且也得到了明確的輸出定義。
問題是開發(fā)人員通常沒有得到足夠的指令。相反,我們使用一種叫做 “敏捷開發(fā)” 的東西。我們收到一個(gè)記事帖,上面有幾個(gè)字,并指望我們知道到底需要做什么。
軟件開發(fā)就是溝通。開發(fā)人員需要知道我們?cè)谧鍪裁矗覀冊(cè)噲D解決什么問題,以及到底需要什么樣的結(jié)果。我們知道的越多,就可以更快的完成。最重要的是,知道工作的目的和什么會(huì)使工作成功是很關(guān)鍵的。
水平差的開發(fā)者會(huì)在一個(gè)項(xiàng)目的錯(cuò)誤方向上花幾個(gè)小時(shí)而不問任何問題。他們就是我所說的 負(fù)10倍效率的開發(fā)人員,因?yàn)樗麄円皇聼o成,浪費(fèi)了所有同事的時(shí)間。幾乎每個(gè)人都遇到過這些開發(fā)人員,與他們一起工作會(huì)讓人感到沮喪。你一定要小心,不要養(yǎng)成他們的習(xí)慣!
有些開發(fā)人員即使沒有很多細(xì)節(jié)也能很好地工作。他們有大量的創(chuàng)造力,并提出正確的問題。這些獨(dú)角獸可能是10倍效率的開發(fā)人員。他們知道如何解決問題,并經(jīng)常提升整個(gè)團(tuán)隊(duì)的水平。
最重要的是,10倍效率的開發(fā)人員真的很擅長(zhǎng)快速地確定需要完成什么和問什么問題。
從為什么(Why)開始
成為10倍效率的開發(fā)人員的第一步是對(duì)你要解決的軟件和問題變得充滿熱情。你需要從里到外完全理解它。這首先是要對(duì)你工作的公司及其使命充滿激情。
不要因?yàn)閯e人告訴你要寫一個(gè)按鈕(button),然后你就只寫一個(gè)按鈕。努力在更高層次上去理解為什么(Why)。如果你持續(xù)關(guān)注為什么,你對(duì)你的團(tuán)隊(duì)和公司會(huì)有更大的價(jià)值。
做一個(gè)好的開發(fā)者和優(yōu)秀的問題解決者,而不是最好的程序員。
我會(huì)把自己描述成一個(gè)黑客開發(fā)者。我是那種能很快把一些丑陋的代碼拼湊起來并解決幾乎任何問題的人。我的代碼很少是美麗的,但它能解決問題。這才是最重要的。
你不必編寫完美的代碼與單元測(cè)試來成為一個(gè)10倍效率的開發(fā)人員。你需要知道什么時(shí)候要做和什么時(shí)候不做這些事情。
一個(gè)10倍效率的開發(fā)人員擅長(zhǎng)解決特定的問題,并通過代碼滿足業(yè)務(wù)需求。你能做的最聰明的事情就是在你把項(xiàng)目交給其他人(他們更善于最后敲定一些架構(gòu)和其他一些細(xì)節(jié))之前就知道它能走多遠(yuǎn)。
什么時(shí)候(When)在你的內(nèi)心,or not
知道什么時(shí)候要建立一個(gè)復(fù)雜的架構(gòu),而不是拼湊一些東西,需要經(jīng)驗(yàn)和你蜘蛛俠般的感官。你要么有這種感覺,要么你根本不知道。
我曾與一些最聰明的開發(fā)者共事過,他們總是很糟糕的優(yōu)先考慮模式和架構(gòu),而不是功能和排期。他們總是過度實(shí)現(xiàn)或者一遍遍重構(gòu),爭(zhēng)取 “完美的代碼”,而不是 “可交付的代碼”。
10倍效率的開發(fā)人員必須利用他們的經(jīng)驗(yàn)和本能來知道什么時(shí)候要專注于架構(gòu)和完美,什么時(shí)候把事情搞定。
知道——
該做什么(What to Do)
該問什么(What to Ask)
許多軟件開發(fā)歸結(jié)于溝通技巧。可惜的是,在我們要工作的項(xiàng)目上許多注釋和要求都不是很詳細(xì)。一個(gè)10倍效率的開發(fā)人員知道如何閱讀這些,應(yīng)用他們知道的業(yè)務(wù)里的 “為什么”,并提出相關(guān)的問題。
最好的開發(fā)者知道在尋求幫助之前要在某件事情上花多少時(shí)間。他們也知道要問什么問題,以闡明需求來推進(jìn)項(xiàng)目。
我已經(jīng)寫了超過15年的代碼。可以說我是一個(gè)10倍效率的開發(fā)人員,或者至少我能。我知道我擅長(zhǎng)什么,當(dāng)我做我擅長(zhǎng)的事情時(shí),我可以很快地完成大量的工作。
如果你想做一個(gè)新產(chǎn)品的原型,我就是你要找的人。如果你需要尋求Angular,React或其他一些 前端的幫助,我絕對(duì)不是你要找的家伙。在這些任務(wù)上我將是一個(gè)負(fù)10倍效率的開發(fā)人員。
10倍效率的開發(fā)人員不是一個(gè)神話。他們確實(shí)存在。他們很可能是開發(fā)經(jīng)理、架構(gòu)師、首席開發(fā)人員或公司創(chuàng)始人。如果他們不是的話,他們應(yīng)該轉(zhuǎn)變。我后來成為了公司的創(chuàng)始人,到現(xiàn)在為止都兩次了。
當(dāng)然,沒有人能在每一天的每個(gè)時(shí)候都是一個(gè)10倍效率的開發(fā)人員。我們沒有精力或?qū)W⒘γ刻煲赃@樣的速度工作。我們不是機(jī)器人。
如果你理解軟件開發(fā)的 “是什么(What),為什么(Why),什么時(shí)候(When)”,你就可以是一個(gè)更有效率和更好的團(tuán)隊(duì)成員–甚至是一個(gè)每天幾個(gè)小時(shí)內(nèi)的10倍效率的開發(fā)人員。這會(huì)有很大的不同。
-
編程語言
+關(guān)注
關(guān)注
10文章
1949瀏覽量
34850 -
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29825
原文標(biāo)題:一個(gè)10倍效率的開發(fā)人員,有三件事必做不可!
文章出處:【微信號(hào):elecfans,微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論