首頁  >  文章  >  後端開發  >  如何成為專家級的程式設計師

如何成為專家級的程式設計師

WBOY
WBOY原創
2016-08-08 09:27:53952瀏覽

很多人問我如何才能成為專家級的程式設計師,現在我們對此還沒有一種統一的模式,但是我還是想把我總結的一些經驗分享給大家。如何成為專家級的程式設計師,在很大程度上取決於你開發的軟體和你所處的行業,以及你所在公司使用的工具等等。對於本文所講的一些方法,你可以選擇適合自己的情況。本文僅為個人觀點,若各位有任何補充或建議,歡迎不吝賜教。

還有一點要著重說明的是,成為專家與被認為是專家是不一樣的。很多人雖然榮譽是專家,但其實他們不是。但是如果人們相信他是專家的話,他就能因此賺錢。此外,也有的專家雖然不被認可,但是如果你真的是專家的話,你完全可以透過自己的行動去證實這一點:是金子總是會發光。不過關於這方面顯然超出了本文的主旨。這是另一個關於個人品牌的故事了。

何為“專家”,需要多長時間?

在我討論如何成為專家之前,給我30秒的時間,讓我解釋一下什麼是專家,以及需要多長時間才能成為一個專家。

3個月? 3年?都不是!根據Malcom Gladwell寫的《Outliers》一書中所說,我們平均需要10000個小時才能成為真正的專家。下巴有沒有掉下來?沒錯,你沒看錯,就是10000小時!也就是說每天10小時的話,需要3年;每天5小時,一年算200。哇哦,10年哪! ! ! 按照此種說法,擁有

3

年經驗的我或許就夠得上專家或者至少高級開發人員的稱號了。但是當我擁有了10年經驗的時候,我卻不敢認為自己是專家了——因為我知道自己還有很多很多是需要知道而還不知道的東西。 此外,這個行業(

Java

企業開發)也在這10年間發生了很大的變化,我慣於使用的技能也漸漸落伍了。所以,即使你已經是專家的話也是會過時的,從而需要重新開始學習。 還有一點:我們是不可能成為全面專家的,也就是說,可能你在某個技能上比人員

B

強,但是人員B可能再另一個技能上面比你厲害。即,我們不可能所有的技能都比別人好,也不可能全部技不如人。三人行,必有我師焉。你總是可以從其他人那裡學到你不具備或欠缺的東西。我碰到過不少開發人員說的好像他們所有事情都最了解一樣,但顯然事實並非如此。 這也是一種鑑別菜鳥的方法。只有菜鳥才會深信他們知道所有事情,會在網路上或辦公室裡與人爭得聲嘶力竭。他們說的通常非常絕對化,例如「這始終比那個更好」、「這問題就應該這麼解決」等等。專家很少會這樣說。因為他們明白,凡事不能絕對,很多事情往往取決於當前的形式、開發人員具備的技能、公司選擇的工具、公司政策、以及個人愛好等等。只有那些經驗不足的開發人員才相信世界只有黑與白。專家們則明白除了黑白之外,還有灰色以及其他各種的顏色。

如何成為專家

對於你所需要學習的大部分技能,以下四個步驟(重複向上或向下),將有助於你成為一個專家:

Learnit

Do it

Discuss it

Teach itDiscuss it

Teach it

Learnit

可以透過書籍和教程,也可以課堂教育等方式學習。

Do it

一旦你學會了理論技能之後,那就可以將這些技術應用到現實中。這樣做可以讓你知道你學的理論哪些是對的,哪些是錯的。大學學到的理論很多並不能應用在現實中,或不適合你現在的情況。

Discuss it

🎜

技術使用了一段時間以後,你會發現你已經能夠靈活運用它解決問題了,那麼這時你需要和其他經驗豐富的人討論該技術了。可以討論應用這些技術的最佳途徑,理論限制在哪裡,以及還可以添加什麼等等。總而言之,你需要討論如何更進一步地開發該技術。

透過討論,你還可以從其他人身上學到很多東西,即使你先前以為你早就瞭如指掌。

Teach it

將自己的技能教給別人,也是查漏補缺的一個好方法。也許有很多事情你只是知道要這麼做,但從來沒想過你為什麼要這麼做。由於不得不解釋這些行為方法,迫使你去思考這些原因。

此外,也有可能某些技術要點由於你並不需要所以並沒有掌握的(例如,Web服務規範的某一點)。同樣的,教學使得你不得不掌握這些邊邊角角的內容,越來越專業。

如何成為一個專家級的程式設計師

上面講的是如何成為一名專家的方法,以下我將討論的是如何成為一個專家級的開發人員。

身為開發人員,我們大多是就職於某一產業,使用的是特定的平台。如果你總是不斷地切換工具和產業,那麼你就永遠成不了真正的專家。或許你會成為某種意義上的“萬金油”,當然這在某些情況下確實非常有用。但是如果你一直都沒有專業的平台和產業,那就要用點心了。

我的職業生涯始於1998年,那個時候做的是web應用,然後我發現我總是在不斷地換工具,這意味著我並沒有一個趁手的工具。我所有的時間都用在了學習新工具上,讓我有種疲於奔命的感覺。然後,我決定將重點放在一種物件導向的語言上—Java。那時候.NET技術還沒出來。自從1999年開始,我就只做Java

在你走向專業化的道路上,你必須先選擇一個平台,也有可能是一個產業。業界不大重要點,但是擁有業務領域的知識可以增強你履歷的賣點。

在學習平台的時候,你需要先選擇程式語言,例如,Java。在Java中其平台分為兩個:標準版和企業版。

一旦你掌握平台之後,你就可以開始學習平台的獨立技術,如設計模式、分散式系統設計、架構等等。你應該多花點時間去學習這些技能,因為它們更容易轉移到其他新的科技平台。

以後,你可能會離開軟體開發,轉而從事其他的業務領域,如專案管理或架構師等。但你得知道的是,一旦你不再使用這項技能,那麼慢慢的你就不能再被稱為這方面的專家了。

下面是如何成為專家級開發人員的示意圖。從底部開始一步一步往上走。藍色層是平台獨立層。其他顏色的是平台特殊層。如果你沒有發現自己的平台,也可以自己加入。

how-to-become-an-expert-developer

具體到個人的信息,請恕我無法一一準確描述。

那要是我不知道該學什麼技術,怎麼辦?也有辦法,可以去看徵才廣告。看看他們最常提到的工具和技術是什麼?也可以閱讀線上軟體雜誌。看看他們談論最多的是什麼技術?別忘了論壇。什麼技術大家提的問題最多?以及,大家對什麼技術津津樂道,一窩蜂地在學習?換句話說,這就是明天將炙手可熱的技術!兄弟 .net

PHPCMS二次開發http://yun.itxdl.cn/online/phpcms/index.php?u=5:com //yun.itxdl.cn/online/weixin/index.php?u=5行動網路伺服器端開發

http://yun.itxdl.cn/online/server/index. php?u=5

Javascript課程

http://yun.itxdl.cn/online/js/index.php?u=5http://yun.itxdl.cn/online/js/index.php?u=5 http://yun.itxdl.cn/online/cto/index.php?u=5

以上就介紹如何成為專家級的程式設計師,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn