属于程序员的黄金五年,把握这 5 年,或将迎来美好的职场生活!
在這個信息像奔騰的大河一樣流淌的時代,人們總是期待速成,當我告訴用戶需要五年時間來尋找方向、夯實基礎和打磨技能的時候,他們往往會露出夸張的表情:不是只爭朝夕么,五年太久了。
所以,我干脆把這五年叫做:黃金五年。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
以我不算精彩的程序員閱歷來看,入行三到五年的經歷對程序員以后的職業生涯有非常重要的作用,可以說是黃金五年?;ヂ摼W時代學習環境開放,資料浩如煙海,很多大學生在走出學校大門的時候,很可能在某項專業技能上已經達到了很高的水準,但是這三到五年的探索,依然是不可或缺的。
很多人喜歡制定學習計劃,但這些計劃大都無法執行下去。不是計劃出了問題,而是人學習和提升的方式很難按部就班,很多時候我們都是在摸索前行。就像你今天按計劃要耕完一畝田,作業進行到一半的時候,你發現一塊土質的異常,于是深挖下去,用鐮刀割去雜草,用鐵鍬鏟除泥土,用鉆頭鉆出深洞,最后發現了一口油井。如果你按照計劃耕完這一畝田,可能永遠發現不了那口井。
就好像每個人都希望做好職業規劃,贏在起點,然后按部就班的往前走,一步一步,邁向人生巔峰。其實根本沒這回事,世界上不存在完美的職業規劃。我自工作以來,經歷過不少重大選擇,大部分則是被時代的浪潮和機遇推著往前走。從結果來看,很難說清楚好壞。因為不夠強大,更多時候,我都無法和命運抗衡,只是因為喜歡計算機和編程,就留在了互聯網這個行業里默默努力。當然現在看起來,也并沒有比別人努力的更多。然后遇到一些機會,就迎了上去,僅此而已。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
我相信每個人身體里都有某種特質,這種特質讓你在某個領域取得成就的可能性遠遠大于其他,這種特質也能讓你異于他人。但是,人們并不是生來就知道自己擅長干什么的,需要花時間去尋找,找到它,然后去做自己最擅長的事情,這對你漫長的職業生涯是一筆巨大的財富。
那需要五年這么久的時間嗎?依我個人的經歷,恐怕更長也說不定。無論程序員也好,軟件工程師也罷,叫著簡單,領域知識卻是浩如煙海。
進入現代互聯網階段,程序員的領域細分到了令人發指的程度,比如 XX 語言工程師、前端工程師、后端工程師、架構師、大數據工程師、安全工程師、運維工程師、移動開發工程師、DBA 等等,叫法繁復,甚至職能重疊。這些角色最初都叫做程序員,最終他們像一棵大樹,枝條粗壯,蜿蜒生長,然后在樹冠分開,并結出了各種各樣的果實。同時,每個細分的領域又會衍生出浩瀚的領域知識。
比如編程語言,常用的編程語言就有幾十種,靜態語言、動態語言、腳本語言、函數式編程、面向對象編程、過程式編程等等。而從平臺角度,Java VM 上有 Java、Scala、Groovy、Clojure、Jython 等;.Net 平臺上有 C#、J#、F#、VB.Net、VC、ASP.Net……
即便我們把目光聚焦在一門語言或技術上,如 Java,你也不可能僅僅掌握它的語法特性和函數庫,然后寫寫業務表單和增刪改查就完了。Java 的虛擬機、性能、并發編程、Jit 技術、垃圾收集、集群、分布式、異常、日志服務,還有大量的 Java 平臺開源項目,都需要你深入了解。
除此之外,一些數據結構和算法也是程序員們應該掌握的內容,比如棧、隊列、鏈表,二叉樹、紅黑樹、B 樹,散列表,排序算法,查找算法,最小路徑,最小生成樹等等……
可以說,各個領域的技術用浩如煙海來形容毫不為過,我們窮盡一生也無法掌握其中一小部分。這么看來,五年的時間并不長是不是?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
那我們該怎么做呢?簡單分享幾個建議:
1、由點及面建立知識體系。選一門編程語言、一個技術框架,買書也好,跟著極客時間學習也罷,先做到可以寫線上生產程序的程度。這說明你至少可以通過編程養活自己了。然后再確定方向,尋找自己的學習和成長路徑,補足基礎知識,形成完整的生態體系,然后再去選擇深入技術,或者是技術+產品的發展方向。一旦形成加速度,飛輪就開始轉動了。
2、優先打磨專業技能。人們常說先做專才,再做通才,也就是所謂的 T 字型人才,既有某個領域的專業知識,同時知識技能廣泛,為人處世,大開大合。古代開國皇帝大抵都是這種,雄才大略又武藝高強,上馬砍人,下馬治國,一通百通。所以程序員必須首先具備專業技能,才能在這個殘酷的領域里存活下來,不要沒干兩年就想著去管理,拋棄專業知識。翻一翻互聯網招聘職位列表就知道了,一百條里面99條是各種各樣的工程師,好不容易有一條是管理性質的,一看是總經理,您能勝任嗎?所以,專業技能是需要優先考慮的,等你真正成了技術大拿,自然知道怎么去擴展橫向知識。
3、養成持續學習的習慣。彼得·德魯克曾說過,“我們必須時常改進、挑戰,以及增加我們的知識,否則它將不復存在?!币乐R是有半衰期的,我們擁有的知識每天都在變得過時。數據、信息、技術每天不斷產生,創造和分享自己想法的人也在不停增長。而且,我們還在不斷忘掉自己知道的東西。事實上,“全世界的專業人士都在增加他們花在學習上的時間,我們需要和他們一樣不斷學習才能保持自己不退步”。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
當然,說了這么多,其實還有一種可能,就是你花費了五年的時間,發現自己并不適合做程序員,比如二爺。雖然這聽起來有點悲哀,但也不失為一件好事,因為你還有時間轉型成產品經理啊。正如我在昨天文章中提到的,程序員幾乎可以轉型為其他任何角色,反過來卻很難。我們聽說過很多優秀的產品經理、創業者、管理者最初都是程序員,卻很少聽說哪個頂尖的程序員是從產品經理轉過來的,有嗎?反正我不知道。
日拱一卒,不期速成。
想要在程序員生涯內有更高的成就的話,C/C++就是一個既可以強化思維能力,又可以打好編程基礎的編程語言,你想要做軟件開發,成為核心程序員的話,可以選擇學好C/C++。如果感覺自學C/C++編程有困難的話可以湫湫掃下方二維碼。這里是編程愛好者的聚集地,歡迎初學和進階中的小伙伴。希望你也能憑自己的努力,成為下一個優秀的程序員。
?
總結
以上是生活随笔為你收集整理的属于程序员的黄金五年,把握这 5 年,或将迎来美好的职场生活!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迁移文档中心的数据
- 下一篇: 关于我,十九线程序员小 UP