學習、學習、再學習
程式員是一種既具備藍領特質,常常又被人認為是白領,通過它還可以轉化成金領的職業。那如何從一個碼農到引領行業技術變革的領袖,關鍵是程式員要不斷的提升自己的核心競争力,要不斷的進行學習和自我更新,一萬小時的投入能夠讓人變成專家,而以下幾點會讓程式員更加高效的學習。
精通兩種語言
沒有錯,這裡明确指的就是兩門,是要有不同内涵的兩門,其中一門是要主流的,關鍵還要都精通。要求就這一些,原因如下所述:不同語言有不同的思想内涵,如java是靜态的、面向對象的, Python是動态的,C是面向過程的,R語言的向量化思想很重要。一個精通了java的程式員往往寫Python、R效率會很低,因為他寫出來的都是基于java思想的邏輯。是以一定要掌握語言的精髓,學習兩門不同内涵語言有助于你舉一反三,增強學習能力,其中一門主流語言會讓你更容易找工作而生存下來,另外主流語言通常是最經典、最完善、最嚴謹的語言。而人的精力是有限的,語言大多又是相通的,兩門足矣。
掌握計算機基礎原理
基礎包括計算機組成原理,不同平台的作業系統,資料庫内部機制等,要深刻了解一段程式在計算機内轉化成0和1是怎麼運作的。往往在程式開發和運作過程中出現的性能瓶頸,罕見的異常或是某些難以重制的bug,都是因為缺乏對于計算機整個體系的基礎知識而無法下手解決。是以不要忽視大學裡學過的一些知識,要與實際工作進行聯系。
經曆完整的項目或産品周期
年輕的程式員們在社會複雜的氛圍中容易浮躁而頻繁的跳槽換工作,這種行為是極度不可取的。這會讓你失去經曆完整項目或産品周期的機會,進而使你一直重複某些環節的工作。有些問題是無法在開發的初期遇到,有些問題甚至要到程式運作了幾年後才會暴露出來。事實上在職場中,一個在同一項目曆經幾年的程式員是受歡迎的,因為他知道所有做項目、做産品會碰到的任何困難與問題。
熟悉設計原理及思想
要寫出好的程式就要時刻遵循軟體設計思想,雖然這個是架構師和設計師的工作,但是一個優秀的程式員應該具備這樣的能力,不僅可以有助于你了解設計的思路,也可以在局部程式的編寫過程中發揮的淋漓精緻,進而使軟體變得擴充性強、維護性高。具體做法是多讀懂一些設計模式的書,多看懂一些架構巧妙精細的開源軟體,再聯系實際工作中的軟體程式,和你周圍的資深程式員、設計師、架構師多做讨論,這一系列的化學反應足以讓你迅速成長。
訓練思維邏輯
程式歸根到底展現的還是人的思維邏輯,是計算機按人的想法進行執行的指令集。是以程式員就好比是一個指揮官,寫程式就好比是作戰指揮,思路清晰、考慮周詳非常重要。程式員每周可以利用周末做一些幫助邏輯訓練的程式題、算法題,甚至可以是數學題。貴在堅持,長此以往,程式員對于具體需求模組化的敏感度、效率會大大加強,寫出的程式簡單而有效。
總結
上述提到的幾點隻是幫助程式員找到努力的方向,關鍵還是需要程式員去實踐、去學習。付出了多少汗水,終究會有多少回報,是以提升核心競争力的關鍵還是不斷去學習、學習、再學習。