|
當(dāng)你瀏覽這篇文章的時(shí)候請(qǐng)記住:成為一個(gè)真正的專家和被當(dāng)成是一個(gè)專家之間是有區(qū)別的。許多人都被晉升為專家,但是他們真的不是。但是,如果有人相信他們是,他們就會(huì)一直賺很多錢,雖然他們很平庸。另外,有許多專家,沒有人知道他們是專家。如果你真的是一個(gè)專家,你的下一步行動(dòng)就是要被大家當(dāng)成是一個(gè)專家。如何做到這一點(diǎn)已經(jīng)超過了這篇文章的討論范圍。這是一個(gè)的不同主題——關(guān)于個(gè)人品牌等。
什么是“專家”,要花多長(zhǎng)時(shí)間才能成為一個(gè)專家?
在開始討論如何成為一個(gè)專家之前,我們先來花30秒的時(shí)間來說明專家是什么,和要花多長(zhǎng)時(shí)間才能成為一個(gè)專家。
在你使用一項(xiàng)技能3個(gè)月以后,你不是一個(gè)專家,使用3年以后也不是一個(gè)專家。根據(jù)Malcom Gladwell的圖書《局外人》所說,要成為一個(gè)真正的專家需要平均花費(fèi)10000個(gè)小時(shí)。如果你喜歡自命不凡。10000個(gè)小時(shí)!如果一天花費(fèi)10個(gè)小時(shí),然后每天都努力,需要3年。或者,更加自命不凡一些,一天花費(fèi)5個(gè)小時(shí),一年只有200天在努力,需要10年。整整10年!
根據(jù)這個(gè)斷言,我發(fā)現(xiàn)在我有3年經(jīng)驗(yàn)的時(shí)候我曾認(rèn)為我自己是一個(gè)專家或一個(gè)資深開發(fā)者。現(xiàn)在,在2010年的時(shí)候我已經(jīng)有10年的經(jīng)驗(yàn)了,我已經(jīng)學(xué)習(xí)了很多需要了解的知識(shí),但是我一直不知道還有多少知識(shí)需要學(xué)習(xí),現(xiàn)在我不再感覺自己是一個(gè)專家了。
另外,在最近這10年里,行業(yè)(Java企業(yè)級(jí)開發(fā))已經(jīng)發(fā)生了很大的改變,所以我過去掌握的技能,都不那么“酷”了。即使你是一個(gè)專家,你也會(huì)發(fā)現(xiàn)你自己變得過時(shí)了,必須要重新開始學(xué)習(xí)。
還有一件事:你不可能是各個(gè)領(lǐng)域的專家,這意味著在某種技能上你也許比某人更優(yōu)秀,但是在另外一種技能上比某人可能就比你更優(yōu)秀了。你在每一種技能上都比別人優(yōu)秀或比別人更差,這是不可能的。你總是能從其他人身上學(xué)到一些東西的。我過去曾經(jīng)遇到過幾個(gè)開發(fā)者,他們總是表現(xiàn)的好像他們?cè)谒蟹矫娑己軆?yōu)秀似的,即使在事實(shí)并非如此的情況下,他們也還是這樣做。
實(shí)際上,這通常是鑒別新手的一種方法:相信他們自己知道所有的事情,在線或離線的情況下一直不停的爭(zhēng)論。他們的爭(zhēng)論帶有絕對(duì)傾向,比如“這個(gè)總是比那個(gè)更好”,或“這是做這件事的唯一方法”等等。專家從來不這樣。他們知道,一切都取決于具體情況,你的開發(fā)者掌握的技能,你的公司選擇的工具,公司策略,個(gè)人喜好等等。缺乏經(jīng)驗(yàn)的開發(fā)者(和一般人)都傾向于相信世界是非黑即白的。而專家知道,世界充滿了灰色地帶,甚至還有許多額外的顏色和色調(diào)。
如何成為一個(gè)專家
對(duì)于你需要學(xué)習(xí)的大多數(shù)技能,有四個(gè)步驟可以幫助你成為一個(gè)專家。大多數(shù)情況下你可以按順序進(jìn)行這些步驟,也可以按從上到下的方式迭代這些步驟。這些步驟是:
1,學(xué)習(xí)它
2,實(shí)踐它
3,討論它
4,傳授它
學(xué)習(xí)它
在你掌握一項(xiàng)技能以前,你必須首先學(xué)習(xí)它的理論。你可以通過圖書,手冊(cè),培訓(xùn)來學(xué)習(xí)理論知識(shí),或綜合運(yùn)用這些途徑來學(xué)習(xí)理論知識(shí)。
實(shí)踐它
一旦你已經(jīng)學(xué)會(huì)了這項(xiàng)技能的理論知識(shí),你需要實(shí)踐這項(xiàng)技能,通過實(shí)踐你的技能,你可以認(rèn)識(shí)到你學(xué)到理論知識(shí)哪些是正確的,哪些是錯(cuò)誤的。是的,往往大學(xué)教給你的理論在現(xiàn)實(shí)中并不起作用,或者并不能在你現(xiàn)在的情況下使用。
討論它
一旦你已經(jīng)使用這項(xiàng)技能很長(zhǎng)時(shí)間了,并且你發(fā)現(xiàn)你能夠解決很多需要這項(xiàng)技能的問題,那么該是和其他有經(jīng)驗(yàn)的人討論這項(xiàng)技能的時(shí)候了。可以討論一下應(yīng)用這項(xiàng)技能的最佳方式是什么,理論的限制在哪里,可以補(bǔ)充些什么等等。簡(jiǎn)而言之,就是討論如何進(jìn)一步推動(dòng)這項(xiàng)技能(比如一個(gè)API,如何使它更好/與眾不同等)。
傳授它
把你的技能教給其他人,真的是一個(gè)彌補(bǔ)你的技術(shù)上的不足的好方法。可能許多事情只是做做而已,但是并沒有思考為什么要這樣做。如果必須要解釋你的方式和方法,可以強(qiáng)迫你思考這樣做的原因。
另外,可能有一些你技術(shù)上的空白點(diǎn),你從來都不需要掌握它們(比如說,Web服務(wù)的規(guī)范)。如果必須要傳授你的技能,將可以強(qiáng)迫你掌握這些空白點(diǎn),讓你有更大的進(jìn)步。
如何成為一個(gè)專家級(jí)的開發(fā)者
現(xiàn)在,我已經(jīng)談了如何成為一個(gè)普遍意義上的專家,下面我來談一談如何成為一個(gè)專家級(jí)的開發(fā)者。作為一個(gè)開發(fā)者,你很可能正在使用一個(gè)特定的平臺(tái),為一個(gè)特定的行業(yè)開發(fā)軟件。如果不是這樣,如果你經(jīng)常要選擇工具和行業(yè),就像一些Web開發(fā)者那樣,那么你很可能從來都沒有成為一個(gè)真正的專家。你只會(huì)成為一個(gè)雜而不精的人。你需要集中你的精力。
我從1998年開始了我作為Web應(yīng)用程序開發(fā)者的職業(yè)生涯,然后我發(fā)現(xiàn)我自己經(jīng)常要更換工具,這意味著我無法真正的熟練使用其中任何一個(gè)工具。我只是一直在努力學(xué)習(xí)新的工具的使用方法。然后我決定把注意力集中一門面向?qū)ο蟮恼Z言和一個(gè)平臺(tái)上,于是我選擇了Java。那時(shí).NET還沒有出現(xiàn)。自從1999年,我一直只使用Java。
在你的專家之路上,你必須選擇一個(gè)平臺(tái),可能還要選擇一個(gè)行業(yè)。行業(yè)并不是特別重要,但是業(yè)務(wù)領(lǐng)域的知識(shí)可以增強(qiáng)你的簡(jiǎn)歷。
當(dāng)你學(xué)習(xí)一個(gè)平臺(tái)的時(shí)候,你可以從一門語言來入手。例如:Java語言。在你學(xué)習(xí)了那門語言以后,你需要學(xué)習(xí)這個(gè)平臺(tái)(包括所有的API和工具)。在Java中,平臺(tái)被劃分成了兩個(gè):標(biāo)準(zhǔn)版和企業(yè)版。
一旦你開始掌握你的平臺(tái),你應(yīng)該開始學(xué)習(xí)一些獨(dú)立于平臺(tái)的技能,像設(shè)計(jì)模式,分布式系統(tǒng)設(shè)計(jì),架構(gòu),可用性等等。當(dāng)你取得進(jìn)步的時(shí)候,你會(huì)花更多的時(shí)間來學(xué)習(xí)這些技能。這是一件好事情。這些技能可以更容易的遷移到一個(gè)新的技術(shù)平臺(tái)上。
最后,你可能會(huì)完全脫離軟件開發(fā)工作,進(jìn)入到像項(xiàng)目管理,架構(gòu)師那樣的完全不同的業(yè)務(wù)領(lǐng)域。請(qǐng)記住,一旦你停止使用你的開發(fā)技能,那么你也就在專家之路上駐足不前了。
這是一張圖表,表示你的“專家級(jí)開發(fā)者之路”。你從底下開始,一直向上面一層前進(jìn)。藍(lán)色的層是獨(dú)立于平臺(tái)的層。其他顏色的層是特定于平臺(tái)的層。即使你的平臺(tái)不在這里面,你也可以自己把它添加上。
從語言上升到平臺(tái),再到平臺(tái)獨(dú)立的技能,用這種方式來成為一個(gè)專家級(jí)的開發(fā)者
你不得不針對(duì)你的行業(yè),你的公司和你的平臺(tái)添加具體的工具。我無法一次性的為每一個(gè)人做這件事情。
找出你應(yīng)該學(xué)習(xí)什么的一個(gè)好方法是看招聘廣告。看看他們通常需要什么工具和技術(shù)?讀一下在線的軟件雜志。看看他們談?wù)摰淖疃嗟氖鞘裁醇夹g(shù)?瀏覽一下論壇,看看人們問的最多的問題是什么?還有,人們討論的最多的是什么技術(shù)?換句話說,什么會(huì)成為將來的熱點(diǎn)?
關(guān)于作者
作者Jakob Jenkov是一名資深的獨(dú)立軟件開發(fā)者,同時(shí)也是部分學(xué)科的科學(xué)家、哲學(xué)家以及企業(yè)家。
原文作者:Jakob Jenkov 周雪峰譯
原文地址:http://tutorials.jenkov.com/software-as-career/how-to-become-an-expert-developer.html
it知識(shí)庫:如何成為一個(gè)專家級(jí)的開發(fā)者,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。