程序人生:優秀程序員是如何思考的?又是怎麼學習新技術的?


 

前言:程序員們辛苦地學習,有的沒有好的效果,有的過程充滿痛苦,有的更是不知道我學它的目的是什麼。程序員

國內的教育體制,培養了這樣一批人:面試

他們努力、奮進,熱愛技術,願意投身軟件行業,願意寫出高質量的代碼,他們對業界的東西很感興趣,他們願意學習紮實的基礎知識,他們渴求火熱的新技術……編程

幾年之後,他們擁有普遍的視野,閱歷寬闊、經驗老到、言辭犀利,對行業動態瞭如指掌,顯然,他們是行業的博學者。網絡

然而……架構

他們卻缺少這樣一種能力——思考。框架

欠缺思考容易致使這樣的現象:學習

不會作設計編碼

遇到了問題,拿見到過的、學到了的熟悉的框架、方案、模式往上套,而不仔細分析其中的利弊,只是儘量地尋找最接近當前問題的解決途徑。spa

不能堅持本身的觀點操作系統

這一點在面試中最容易觀察到。應聘者有剛畢業的學生,也有工做超過10年的有豐富經驗的從業者。

他給出一個粗略的方案之後,在方案沒有細化到必定程度之前,很難給出優劣的評論,可是,若是你輕輕地challenge一下,他就迅速放棄原本的構思,跑到你的思路上來。

例如,SNS系統中,服務端有消息要怎樣通知到客戶端,這樣的一個問題,解決方案有不少種,好比客戶端輪詢、服務端hold住鏈接推送等,各有利弊。應聘者應當有本身的觀點。

 


 

不能細化一個問題解決方案

怎樣區分一個空談家和一個實幹家?給他一個具體的問題是最好的辦法。在我剛工做的時候,我曾經很欽佩那些在活動中、討論中高談闊論的人,我以爲他們很能說。

但是後來我逐漸發現,能說的人實在是太多太多了。細化設計、甚至落到編碼,纔是對一個程序員真實的檢驗。

固然,若是你以爲作軟件設計的人能夠不熟悉編碼、架構師能夠不首先是一名高級程序員,那咱們也沒有什麼可談了:)。

若是你會學習,你能夠成長得很快;若是你不會思考,你永遠只能跟在別人後面。

新技術學習的方式呢,我想說這麼幾點:

尋找切入點

最好是要落到動手實踐上去的,可是假若習慣從那些原理介紹的文字入手,何嘗不是一種很差的選擇。

並且,現實狀況會有一些約束,例如在瞭解幾家互聯網公司的雲平臺的時候(Amazon的EC2,M$的Azure等等),除非你是這幾家公司的員工,不然是很難深刻其中的。

尋找本身的興趣點

學習應當是一件有意思的事情,當你的大腦排斥它的時候,我不相信能夠很容易地掌握這門新技術。

若是你找不到興趣點,那麼,不妨回到我前文對於新技術是否值得你學習的觀點上去,既然你沒有什麼興趣,你學它幹嗎?

善於比較

比較是一種很是容易上手的思考方式,和什麼比較?和類似技術比較,和操做系統、網絡這些基礎設施上面的例子比較,最後,和生活中的例子比較。

不斷得到回饋

回饋是什麼?作出一個HelloWorld的例子,就是一個極好的回饋;理解某一項實現原理,聯想到其它相似的實現,產生一種恍然大悟的感受,也是一種回饋。

 


 

在學習的過程當中,不斷產生回饋,意味着你不斷地收穫成就感,這是繼續下去的動力之一。

 


 

另外若是你想更好的提高你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裏或許能夠幫到你~

分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)

歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!

免費學習書籍:


 

免費學習資料:

相關文章
相關標籤/搜索