新聞中心
很多人問(wèn)我如何才能成為一名專家級(jí)別的程序員,現(xiàn)在我們對(duì)此還沒有一種統(tǒng)一的模式,但是我還是想把我總結(jié)的一些經(jīng)驗(yàn)分享給大家。如何成為一名專家級(jí)別的程序員,在很大程度上取決于你開發(fā)的軟件和你所處的行業(yè),以及你所在公司使用的工具等等。對(duì)于本文講的一些方法,你可以選擇適合自己的情況。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),陽(yáng)東企業(yè)網(wǎng)站建設(shè),陽(yáng)東品牌網(wǎng)站建設(shè),網(wǎng)站定制,陽(yáng)東網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,陽(yáng)東網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
本文僅為個(gè)人觀點(diǎn),如果各位有任何補(bǔ)充或建議,歡迎不吝賜教。
還有一點(diǎn)要著重說(shuō)明的是,成為專家與被認(rèn)為是專家是不一樣的。很多人雖然榮譽(yù)是專家,但其實(shí)他們并不是。但是如果人們相信他是專家的話,他就能因此賺錢。此外,也有的專家雖然不被認(rèn)可,但是如果你真的是專家的話,你完全可以通過(guò)自己的行動(dòng)去證實(shí)這一點(diǎn):是金子總會(huì)發(fā)光。不過(guò)關(guān)于這方面顯然超出了本文的主旨。這是另一個(gè)關(guān)于個(gè)人品牌的故事了。
何為“專家”,需要多長(zhǎng)時(shí)間?
在我討論如何成為一名專家之前,給我 30 秒的時(shí)間,讓我解釋一下什么是專家,以及需要多長(zhǎng)時(shí)間才能成為一個(gè)專家。
3 個(gè)月?3 年?都不是!根據(jù) Malcom Gladwell 寫的《Outliers》一書中所說(shuō),我們平均需要 10000 個(gè)小時(shí)才能成為一名真正的專家。下巴有沒有掉下來(lái)?沒錯(cuò),你沒看錯(cuò),就是 10000 小時(shí)!也就是說(shuō)每天 10 小時(shí)的話,需要 3 年;每天 5 小時(shí),一年算 200 天的話,則需要 10 年。哇哦,10 年哪!!!
按照此種說(shuō)法,擁有 3 年經(jīng)驗(yàn)的我或許就夠得上專家或者至少高級(jí)開發(fā)人員的稱號(hào)了。但是當(dāng)我擁有了 10 年經(jīng)驗(yàn)的時(shí)候,我卻不敢認(rèn)為自己是專家了——因?yàn)槲抑雷约哼€有很多很多是需要知道而還不知道的東西。
此外,這個(gè)行業(yè)(Java 企業(yè)開發(fā))也在這 10 年間發(fā)生了很大的變化,我慣于使用的技能也漸漸落伍了。所以,即使你已經(jīng)是一個(gè)專家的話也是會(huì)過(guò)時(shí)的,從而需要重新開始學(xué)習(xí)。
還有一點(diǎn):我們是不可能成為全面專家的,也就是說(shuō),可能你在某個(gè)技能上比人員B強(qiáng),但是人員B可能再另一個(gè)技能上面比你厲害。即,我們不可能所有的技能都比別人好,也不可能全部技不如人。三人行,必有我?guī)熝?。你總是可以從其他人那兒學(xué)到你不具備或欠缺的東西。我碰到過(guò)不少開發(fā)人員說(shuō)的好像他們所有事情都最了解一樣,但顯然事實(shí)并非如此。
這也是一種鑒別菜鳥的方法。只有菜鳥才會(huì)深信他們知道所有事情,會(huì)在網(wǎng)上或者辦公室里與人爭(zhēng)得聲嘶力竭。他們說(shuō)的通常非常絕對(duì)化,例如“這始終比那個(gè)更好”、“這問(wèn)題就應(yīng)該這么解決”等等。專家很少會(huì)這樣說(shuō)。因?yàn)樗麄兠靼?,凡事不能絕對(duì),很多事情往往取決于當(dāng)前的形式、開發(fā)人員具備的技能、公司選擇的工具、公司政策、以及個(gè)人愛好等等。只有那些經(jīng)驗(yàn)不足的開發(fā)人員才相信世界只有黑與白。專家們則明白除了黑白之外,還有灰色以及其他各種的顏色。
如何成為專家
對(duì)于你所需要學(xué)習(xí)的大部分技能,下面四個(gè)步驟(重復(fù)向上或向下),將有助于你成為一個(gè)專家:
- Learn it
- Do it
- Discuss it
- Teach it
Learn it
在你掌握某一門技術(shù)之前你必須先了解它的理論知識(shí)??梢酝ㄟ^(guò)書籍和教程,也可以課堂教育等方式學(xué)習(xí)。
Do it
一旦你學(xué)會(huì)了理論技能之后,那就可以將這些技術(shù)應(yīng)用到現(xiàn)實(shí)中。這樣做可以讓你知道你學(xué)的理論哪些是正確的,哪些是錯(cuò)誤的。大學(xué)中學(xué)到的理論很多并不能應(yīng)用到現(xiàn)實(shí)中,或者并不適合你現(xiàn)在的情況。
Discuss it
技術(shù)使用了一段時(shí)間以后,你會(huì)發(fā)現(xiàn)你已經(jīng)能夠靈活運(yùn)用它解決問(wèn)題了,那么這時(shí)你需要和其他經(jīng)驗(yàn)豐富的人討論該技術(shù)了??梢杂懻搼?yīng)用這些技術(shù)的最佳途徑,理論限制在哪里,以及還可以添加什么等等。總而言之,你需要討論如何更進(jìn)一步地開發(fā)該技術(shù)。
通過(guò)討論,你還可以從其他人身上學(xué)到很多東西,即使你先前以為你早就了如指掌。
Teach it
將自己的技能教給別人,也是查漏補(bǔ)缺的一個(gè)好方法。也許有很多事情你只是知道要這么做,但從沒考慮過(guò)你為什么要這么做。由于不得不解釋這些行為方法,迫使你去思考這些原因。
此外,也有可能某些技術(shù)要點(diǎn)由于你并不需要所以并沒有掌握的(例如,Web 服務(wù)規(guī)范的某一點(diǎn))。同樣的,教學(xué)使得你不得不掌握這些邊邊角角的內(nèi)容,越來(lái)越專業(yè)。
#p#
如何成為一個(gè)專家級(jí)別的程序員
上面講的是如何成為一名專家的方法,下面我將討論的是如何成為一個(gè)專家級(jí)別的開發(fā)人員。
作為一名開發(fā)人員,我們大多是就職于某一行業(yè),使用的是特定的平臺(tái)。如果你總是不斷地切換工具和行業(yè),那么你就永遠(yuǎn)成不了真正的專家?;蛟S你會(huì)成為某種意義上的“萬(wàn)金油”,當(dāng)然這在有些情況下確實(shí)非常有用。但是如果你一直都沒有專業(yè)的平臺(tái)和行業(yè),那么要用點(diǎn)心了。
我的職業(yè)生涯始于 1998 年,那個(gè)時(shí)候做的是 web 應(yīng)用,然后我發(fā)現(xiàn)我總是在不斷地?fù)Q工具,這意味著我并沒有一個(gè)趁手的工具。我所有的時(shí)間都用在了學(xué)習(xí)新工具上,讓我有一種疲于奔命的感覺。然后,我決定將重點(diǎn)放在一種面向?qū)ο蟮恼Z(yǔ)言上——Java。那時(shí)候 .NET 技術(shù)還沒有出來(lái)。自從 1999 年開始,我就只做 Java。
在你走向?qū)I(yè)化的道路上,你必須先選擇一個(gè)平臺(tái),也有可能是一個(gè)行業(yè)。行業(yè)不大重要點(diǎn),但是擁有業(yè)務(wù)領(lǐng)域方面的知識(shí)可以增強(qiáng)你簡(jiǎn)歷的賣點(diǎn)。
在學(xué)習(xí)平臺(tái)的時(shí)候,你需要先選擇編程語(yǔ)言,例如,Java。在 Java 中其平臺(tái)分為兩個(gè):標(biāo)準(zhǔn)版和企業(yè)版。
一旦你掌握平臺(tái)之后,你就可以開始學(xué)習(xí)平臺(tái)的獨(dú)立技術(shù),如設(shè)計(jì)模式、分布式系統(tǒng)設(shè)計(jì)、架構(gòu)等等。你應(yīng)該多花點(diǎn)時(shí)間去學(xué)習(xí)這些技能,因?yàn)樗鼈兏菀邹D(zhuǎn)移到其他新的技術(shù)平臺(tái)上。
以后,你可能會(huì)離開軟件開發(fā),轉(zhuǎn)而從事其他的業(yè)務(wù)領(lǐng)域,如項(xiàng)目管理或者架構(gòu)師等。但是你得知道的是,一旦你不再使用這一項(xiàng)技能,那么慢慢的你就不能再被稱為這方面的專家了。
下面是如何成為專家級(jí)開發(fā)人員的示意圖。從底部開始一步一步往上走。藍(lán)色層是平臺(tái)獨(dú)立層。其他顏色的是平臺(tái)特殊層。如果你沒有發(fā)現(xiàn)自己的平臺(tái),也可以自己添加。
具體到個(gè)人的信息,請(qǐng)恕我無(wú)法一一準(zhǔn)確描述。
那要是我不知道應(yīng)該學(xué)習(xí)什么技術(shù),怎么辦?也有辦法,可以去看招聘廣告。看看他們最常提到的工具和技術(shù)是什么?也可以閱讀在線軟件雜志。看看他們談?wù)撟疃嗟氖鞘裁醇夹g(shù)?別忘了論壇。什么技術(shù)大家提的問(wèn)題最多?以及,大家對(duì)什么技術(shù)津津樂道,一窩蜂地在學(xué)習(xí)?換句話說(shuō),這就是明天將炙手可熱的技術(shù)!
英文原文:How to Become an Expert Developer
標(biāo)題名稱:如何成為一名專家級(jí)的程序員
分享地址:http://m.fisionsoft.com.cn/article/dhgdcco.html


咨詢
建站咨詢
