程式設計師持續學習之道

edithfang發表於2014-06-18

JustinNotes

我其實是一個悲觀主義者,從開始成為一名程式設計師的那一天開始,我就對自己的職業充滿著擔憂。早期,我擔憂的是我剛進入這一行,落後身邊從事這一行多年的人太多,跟他們比,我一開始就處於“不公平“的起跑線上;二是當我稍微深入這行後,發現技術的道路充滿了歧路和死衚衕,稍不留神,就將落入再也跟不上技術進步的節奏,身邊也充斥著類似的示例。

好在在這條路上,我找到了一個克服擔憂的良方:學習,堅持不懈的學習!

人類最大的恐懼莫過於對未知的恐懼,而學習,是克服未知的一個最有效途徑。那作為一個程式設計師,該如何才能做到堅持不懈的學習呢?我想主要有以下幾點:

1. 不抗拒變化,跟蹤變化

這裡說的變化,更多指的是技術的變化。新技術永遠層出不窮,如果你抗拒變化,或懼怕變化,在心裡優勢上就落後了一大截。很多程式設計師的技術道路越走越窄,當一門新技術來臨時,他們從不去了解或研究,他們要麼認為這是”換湯不換藥“的”技術幌子“,不值得去研究,要麼等著別人去研究,自己被動的接受別人的結論與成果。誠然,等待別人的研究結果也可行,但是,當身邊沒有人去研究呢?當研究的人不願意提供給你他的研究結果呢?當別人的結論和結果是錯誤的呢?

當然,業界的新技術層出不窮,要去跟蹤每一項新技術的變化也是不可能的,我的建議是儘量掌握基礎的技術,越是基礎的技術越是恆定。如計算機的體系架構,TCP,HTTP,各類程式設計正規化,OOP,MVC 架構等,都是好多年來沒有發生過變化的技術了。許多新技術也是建立在他們上面,當你瞭解了這些基礎的技術,建立在他們之上的新技術也就能很快掌握了,並能迅速而準確地對這些新技術作出“價值判斷”。

技術的變化,其實也並不全是指業界的新技術來臨,更多指的是,超出自己當前技術能力外,主動研究和選擇的“新技術” ,主動丟棄老的套路和技術,不固步自封。見過很多的程式設計師,他們寫了很多年的程式碼了,技術能力還停留在資料庫層寫一個 Sql (儲存過程)+前端呼叫上。為什麼如此呢?因為自開始寫程式碼起,這樣簡單粗暴的方式就可以解決他們面對的問題了。所以,當碰到新的問題,他們就繼續沿用著這種方式,而從不去看看業界是不是有更合適的方案來解決。長此以往,他們的技術能力也就不會有任何的變化,工作十年,只是將第一年所學的技術重複十年而已。

2. 書宜雜讀,業宜精鑽

建築學家樑思成赴美留學,其父梁啟超告誡說:你該擠出一部分時間學些常識性東西,特別是文學或人文科學,稍稍多用點工夫就能有大的收穫。我深怕你因所學太專一,把多彩的生活弄得平平淡淡,生活過於單調,則生厭倦心理,厭倦一生即成苦惱之事……書宜雜讀,業宜精鑽。

學習本身應該是一件很快樂的事情,但如果只是一味地沉浸於專業學習之中,難免會將本來快樂的事情弄成平淡和單調,更可怕的是,由此產生厭倦心理,放棄學習。

所以,可以儘量跟隨自己的興趣,去更廣泛地讀書。歷史,文學,心理學,哲學等等各方面的書都可以嘗試去讀,它們不僅豐富你的知識,更能讓你在閱讀中受到感動、教育和啟迪。書讀的更多更廣泛,知道的事也就多,思路更加開闊,解決問題的能力也就能高於常人,從而反過來幫助到你專業能力的提升。

3. 投資團隊,積極打造學習型團隊

現代社會,難免的一點就是個人必須置身於群體之中,程式設計師更是如此。從群體心理學的角度來看,在群體裡,個人的才智被削弱,異質性被同質性所吞沒。由此,如果一個團隊不愛學習,那麼,其中的成員也很難堅持學習(個性和意志力特別強的人除外)。

如果你愛學習,請想辦法讓你的團隊也變得愛學習,這樣,你對學習的堅持將變得更加容易。或許你認為建立學習氛圍,是團隊領導的事情,跟自己無關。領導當然可以來做也需要來做這樣的事情,但要明白的一點,學習這事,如果變成從上向下,就難免“政治化”了,容易失去它本身的意義。而從下往上,更能建立輕鬆和諧的學習環境。

本文轉載自: mp.weixin.qq.com

相關閱讀
評論(0)

相關文章