普通程式設計師成爲專家的艱難六部曲!

首先,別抱怨程序員這個行業,準備好漫長的征程,或者晾在一邊賞鳥去吧。

普通程序員成為專家的艱難六部曲!

對於真正希望成為一名優秀的程序員的人,希望成為專家,如果真的值得去做,那麼投入十年進去,並不算什麼,對嗎?

第一步就是吞下這顆子彈。接受這個過程將不止花去十年,而是一生的追求。只因為你想去做它,才去做它。如果一個人不情願做某事,他是不會成為它的專家的。

Step 2 寫很多很多的代碼

同時寫許多許多的代碼。不一定是好的代碼。很長時間內,你寫的代碼都不是好的代碼。好的代碼,好的taste,是需要大量的實踐培養的。對什麼新的工具、新的算法、新的問題感興趣,或者遇到了什麼問題,就去儘可能地寫代碼實踐,嘗試使用它。

普通程序員成為專家的艱難六部曲!

學習的過程永不停止。如果你懷著在每一天中儘自己最大的可能去學習,取得你所能得的最大的“里程數”的態度去學習,你將會走很遠。進入這樣一種狀態:任何的一天/一週/一月中沒有學到有趣的東西的話就是失敗。每天都有足夠多的酷的、有趣的東西等待你去學習。即使你已經學習了15年,雖然找到它們更困難了,但仍然可能找到。沒有一個人能夠掌握編程世界中所有的知識,所以如果你覺得沒有東西可學了,就去找到一個新的項目,寫更多的代碼。

在你做這些東西的時候,注意了,你要尋找中間的模式,如那些可以自動化執行有用的東西,或者你寫了許多的代碼可以分離出來作為共享的庫的東西,或者其他集中的位置。去尋找對於特定任務簡單的編程語言。找出來那些對於同樣的任務不擅長的編程語言,並思考為什麼一些語言對於這些任務相比其他的更加具有生產力。

但最重要的,就是寫許多許多代碼。但記住了,如果做的事情不再有趣,就沒必要做下去了,如果你不能在此期間享受過程。

Step 3

讀更多的代碼

當你積累了一些項目的時候,開始讀其他人的代碼。剛開始的時候,這樣做很困難。他們做了許多你從沒有做過的事,或者使用了你不習慣的風格,甚至使用了你沒有學習過的編程語言。如果你覺得它有趣的話,儘可能地去讀這些代碼。不要擔心深入地分析任何給定的項目的代碼,至少剛開始時不要擔心。

讀一些新的代碼可以展示給你新的思維方式,這有利於擴展你的思維。擴展思維對於保持進步是很重要的事。它幫助你確保當你前進時能夠持續發現新的東西去學。

一定要與其他的程序員交流。問他們如何和為什麼做那些特定的事,是否採取了不同的角度做事情,問他們對自己的代碼是否有建議。一定要禮貌,因為高級的程序員非常地忙。尊重會帶你走很遠,這是個緊密聯繫的行業,名聲很重要。

普通程序員成為專家的艱難六部曲!

Step 4 學習許多編程語言。在一些中成為專家

你實際上不會有很多盈餘的時間,至少不足夠同時學習許多的語言,除非你異常地幸運。所以可以在一個較淺的層面上學習許多的編程語言,足夠了解什麼使他們流行,什麼使它們擅長於它常用的領域,它們的缺陷是什麼。擴展很重要。不要侷限於一種類型的語言,如命令式的語言,擴展學習一些函數式語言或者聲明式語言。

Step 5 Create a Language

它不需要很複雜,或者高級,甚至不需要特別優雅。甚至不需要是原生的想法。

這是你學習基礎知識的一個很好的方式。實際上,你可以對計算機編程設計的基礎有很好的感覺:詞法分析,語法分析,編譯,解釋,虛擬機,還有基本的設計抉擇對一門語言在各個領域的實用程度如何影響。

你將會在此過程中得到以下3樣東西:

1)你將會對你選擇的工具如何工作有更加深刻的認識,這樣你就可以寫出更加高效的代碼。

2)你將會開始意識到主流語言和工具背後的設計抉擇的原因。這將會使你更有效地選擇你要用的工具。

3)你將瞥見一些仍然存在於工具和語言中的未發現的可能性,這樣使你開闊了眼界,可以發現新的可以學習和實驗的有趣的酷的東西。

Step 6 學習其他人從沒有學習過的東西

這是最困難的也是最後的步驟。又是另一個十年。保持興趣和做有趣的事情,離開那些不讓你享受的事情。

【喜歡小編的給小編點個訂閱吧!如果大家對程序員,web前端感興趣,私信我:學習。小編是一個有五年工作經驗的前端工程師,如今互聯網是最有前景的行業,你還在等什麼?對於前端,我有做資料的整合,一個完整學習前端的路線,學習資料和工具。可以免費送給大家,權當是福利了。希望你也能憑自己的努力,成為下一個優秀的前端工程師,互聯網的發展也需要更多人才!】


分享到:


相關文章: