入行三到五年的經歷對程式師以後的職業生涯有非常重要的作用。 互聯網時代學習環境開放, 資料浩如煙海, 很多大學生在走出學校大門的時候,
很多人喜歡制定學習計畫, 但這些計畫大都無法執行下去。 不是計畫出了問題, 而是人學習和提升的方式很難按部就班, 很多時候我們都是在摸索前行。 就像你今天按計劃要耕完一畝田, 作業進行到一半的時候, 你發現一塊土質的異常, 於是深挖下去, 用鐮刀割去雜草, 用鐵鍬剷除泥土, 用鑽頭鑽出深洞, 最後發現了一口油井。 如果你按照計畫耕完這一畝田, 可能永遠發現不了那口井。
相信每個人身體裡都有某種特質, 這種特質讓你在某個領域取得成就的可能性遠遠大於其他, 這種特質也能讓你異於他人。
需要五年這麼久的時間嗎?恐怕更長也說不定。 無論程式師也好, 軟體工程師也罷, 叫著簡單, 領域知識卻很浩大。 進入現代互聯網階段, 程式師的領域細分到了令人髮指的程度, 比如:前端工程師, 後端工程師, 架構師, 大資料工程師, 安全工程師, 運維工程師, 移動開發工程師等等, 叫法繁複, 甚至職能重疊, 這些角色最初都叫做程式師。
比如程式設計語言, 常用的程式設計語言就有幾十種, 靜態語言, 動態語言, 指令碼語言, 函數式程式設計, 物件導向程式設計,
即便我們把目光聚焦在一門語言或技術上, Java, 你也不可能僅僅掌握它的語法特性和函式程式庫, 然後寫寫業務表單和增刪改查就完了。 Java 的虛擬機器、性能、併發程式設計、Jit 技術、垃圾收集、集群、分散式、異常、日誌服務, 還有大量的 Java 平臺開源專案, 都需要深入瞭解。 除此之外, 一些資料結構和演算法也是程式師們應該掌握的內容, 比如棧、佇列、鏈表, 二叉樹、紅黑樹、B 樹, 散清單, 排序演算法, 查找演算法, 最小路徑, 最小生成樹等等……
這麼看來, 五年的時間並不長是不是?
當然, 還有一種可能, 你花費了五年的時間, 發現自己並不適合做程式師, 雖然這聽起來有點悲哀, 但也不失為一件好事,