1. 程式人生 > >程式設計師如何擴充套件技術廣度?

程式設計師如何擴充套件技術廣度?

最近有人主動私信問我“想利用業餘時間學習第二種語言提升競爭力,沒有方向能不能推薦?”,這個問題其實牽扯到如何擴充套件技術廣度的問題,我個人建議是以深度為主以廣度為輔,時間分配80%放在自己第一技術上面,20%可以選擇擴充套件技術廣度。之前我在《如何在移動開發者的寒冬中破冰而出?》中講過了如何提升自己的深度,今天來講講如何利用業餘提升技術廣度。

你掉進了這個學習誤區嗎?

技術廣度很好理解,就是多學習一門或多門程式語言,橫向擴充套件技術,不侷限於目前所會的這一種。那這個時候有人肯定會想“技多不壓身”,那就多學點,下班後有1.5個小時用來學習,半小時學習前端語言,半小時學習服務端語言,半小時學習指令碼語言。這種學習方法最終會導致每天會很累,並且學習效果還不好。建議一段時間專注一種技術,這樣學習起來會更加高效,要記住一句話“貪多嚼不爛”。

如何選擇語言?

如何定技術方向?
選擇對了合適的技術方向在打造競爭力這件事情上能夠做到事半功倍。無論學習什麼都是需要時間成本的,所以在這件事上我們需要慎重考慮。我說說自己的經歷:3年前在公司我擔任Android主管,在管理好自己的團隊前提下,我選擇了學習iOS開發,自掏腰包購買學習必需品Mac電腦,也是因為學習了iOS開發,協助了iOS團隊開發了3個企業級專案之後,最終我升職為移動端主管。我說這件事情並不是讓大家都去學習iOS開發,而是想說明一個道理就是你要找到學習的目標,我當時想法是公司缺什麼樣的技術人才,就利用工作之餘的時間去學習相關技能,快速學習,加入實戰幫助公司,從而提升個人價值。

如果你是想自己想做一個產品,你是前端開發,你就可以選擇一門伺服器的語言來學習,學習的方向其實都是根據自己的目標需求進行選擇的。

如何精確選擇程式語言?
我們知道了自己的技術方向後,有人肯定這個時候會問了“我找到自己的學習方向了,比如學習服務端技術,但是很多語言都可以做服務端。這個該怎麼辦?”我的做法是根據GitHub的資料來判斷。

這一張圖是2017 GitHub 上最受歡迎的語言排行榜,GitHub是一個全球最大原始碼託管平臺,它的資料具有一定的權威性,越是受歡迎也就證明解決方案和就業機會越多。如果你需要選擇服務端技術,根據上面的資料來看選擇Java是非常合適的。當然要是你有一些特殊要求,你還可以再參考一下語言的特徵。

如何學習?

通過以上方法選擇一門語言之後,我們開始正式學習了,我認為學好一門新的程式語言需要以下幾點

1.學者心態
2.優秀導師
3.學習氛圍  

學者心態
雖然你已經會了一門語言,並且找到了一份還不錯的工作,但是就算是這樣,學習一門新的語言的時候也不要礙於面子,不懂也不問,怕人笑話,要像一個初學者一樣具有探索,研究的學習精神。羅曼·文森特·皮爾說過“態度決定一切!”。

優秀導師
找到在這個領域比較資深的人做為學習物件,可以看他們的部落格,書籍,視訊。雖然在現在這個資訊爆炸的時代,不缺學習資料,但是不要忘記了資訊爆炸除了意味著找學習資料很好找了,同時有個弊端就是太多垃圾資訊了。我喜歡付費學習,因為優秀的導師產出的高質量內容,能讓我更快的更好的學習,畢竟名師出高徒。

學習氛圍
一個人學習總是很枯燥的,一旦枯燥無味時間長了,就很容易放棄學習,所以最好的方式就是加入一些高質量的同主題的學習社群,一起學習,互相成長,互相討論,互相幫助,做到比學趕超。《荀子·勸學》中也提到了一點:“蓬生麻中,不扶而直”。

總結

通過本篇文章我們知道了

  1. 不要同時學習多種技術,要專注學習一種,切記“貪多嚼不爛”。

  2. 從需求出發選擇技術方向,根據權威資料判斷具體語言。

  3. 學習應該端正態度,選擇優秀導師,加入學習社群。

古語云不積跬步,無以至千里;不積小流,無以成江海。

最終達到在擴充套件技術廣度,提升職場競爭力!

更多優秀文章盡在公眾號:碼個蛋