15年畢業,算上實習經歷差不多有四年半的工作經驗。沒想到時間過得這么快,有時候還覺得跟剛畢業一樣。之前在創業公司呆過兩年半,目前在阿里做大數據/算法相關的工作。這四年來收獲過成功的喜悅也嘗過失敗的苦果。面對正在跑步進入大齡程序員隊列的我,對過去有一些思考總結,同時對未來也有一些想法。這是我的第一篇非技術類博客。
大學
11年上的大學,學校並不是很好,普通二本。錄取專業為教育類,由於對計算機感興趣,所以升大二的時候轉到了軟件工程專業。大二、大三這兩年一方面學習新課,另一方面補大一的課。大三結束的時候計算機相關的課程都已經學完。
大學期間我也考慮過畢業以后要從事什么崗位,最后選擇了嵌入式開發。選這個方向有兩個原因,一是這門技術比較底層,研究起來比較牛逼;二是當時有一些培訓課程鼓吹物聯網時代到來了,就業前景如何如何好,薪資如何如何高。后來就買了開發板和一整套課程開始學。實際上我畢業后並沒有從事嵌入式開發。因為大四上學期有同學找我一起創業,我負責網站建設。折騰了半年決定不做了,之后我開始投嵌入式的工作,結果根本沒有面試機會,更慘的是再看自己當時寫的代碼發現看不懂並且調不通。於是果斷選擇放棄,當時候大部分同學都做安卓、iOS 或者 Java web 開發。但我覺得這么多人學不見得是好事,未來幾年很可能飽和,我想學一個當前剛起步未來前景不錯的方向。於是選了大數據方向,當時大數據應用不多,並且主要集中在大公司,我也擔心過自己學了會不會找不到工作。但因為堅信它的前景,所以還是果斷學了。最后證明我的選擇是正確的。現在想來大學時候最錯誤的決定就是學嵌入式,從后來找工作來看它的熱度根本不如應用軟件開發,並且物聯網也並沒有大熱,或許 5G 時代會真正迎來。
所以正在處於大學階段的朋友,尤其是學校一般,沒有太多的社會資源,一定不要閉門造車,不要一味追求技術牛逼,不要偏信培訓機構的一面之詞。平時多了解工業界的產品,以及應用的技術,關注未來的發展方向。
初入職場
第一份工作如願以償,在一家創業公司做大數據開發。由於團隊不大,有機會做面試官,帶團隊。技術上剛開始用 Hadoop 開發,后來用 Spark。16年的時候線上業務直接用 Spark 來做算是比較早的嘗試了。由於當時各種資料不多,踩了很多坑,那時候剛畢業也比較拼,有一段時間基本上天天在公司。遇到實在搞不定的問題會給開源的作者或者培訓機構講師發郵件,也會搜集大公司在分享會上的資料。最終經過團隊的努力順利上線,並且穩定性還不錯。
雖然做出了一點成就,但也有很多遺憾。比如:不注意代碼風格、技術上沒有總結和輸出、沒有從架構的高度學習技術以及沒有個人職業規划。這幾個問題由小及大應該是每個初入職場的程序員應該注意的。規范的代碼風格反映了一個程序員的基本素養;技術上總結輸出不但可能幫到別人也可以慢慢建立起自己的技術影響力;從架構上的高度學習技術可以促使自己從更高維度思考問題,而不只糾結於某門語言或某個框架;個人職業規划可以讓我們有一個清晰的目標,促使自己去思考要成為一個什么樣的人,以及未來需要什么樣的人。
對於上面這幾個問題我當時的 leader 都跟我提過,只不過當時自己沒有重視,雖然現在才意識到,還要不算晚。所以對於初入職場的朋友,要多聽前輩有用的建議,自己多思考,眼光放長遠,提升自己的思維高度,這波不會虧。
現狀
離開創業公司后,終於如自己所願進了阿里這樣的大公司。做着跟自己之前類似的工作,不同的是更加注重的自己的基本功、在技術上進行輸出、關注架構設計以及有了自己的職業規划。
關於技術輸出這事,我是 18 年底才開始寫技術博客。以前看別人寫總覺得沒那么麻煩,好像一兩個小時就能搞定一樣。但自己寫的時候才發現其實挺難得,一方面你自己要徹底理解你所寫的東西,另一方面你要把他清楚的表達出來。記得我寫的時間最長的一篇博客是《條件隨機場之CRF++源碼詳解-訓練》,從早上9點開始寫晚上11點,當然那篇博客內容本來就比較晦澀。從那以后總結經驗,慢慢的寫的就快一些了。當然現在也遇到一些問題,比如寫一個系列的博客,戰線拉得比較長,並且得不到有效的反饋,這個過程也會懷疑這樣做是不是有價值。有了問題就會不斷的思考、調整自己的方向,做任何事不可能上來就順風順水,都是在不斷的調整,找到風向才能乘風破浪。
最近除了關注編程方便的東西外,還關注產品、運營、經濟和投資等方面的東西。雖然這些對我的職業發展不一定有實際的作用,但我希望自己能接觸不同圈子的知識,增加自己的眼界,提升自己的思維高度。有些機會是需要提前准備的,有些滿足是需要延遲的。現在自己也發現其實閱讀對於程序員很重要,因為我們程序員大部分都比較宅,平時很少跟程序員群體以外的人打交道,長期以來對我們了解行業的未來發展是不利的,既然我們比較宅,不願社交,那么了解其他圈子最好的方式就是看書,當然現在學習的形式很多,除了紙質書還有電子書、音頻以及視頻。總之就是要不斷學習。
未來
這里並不想說太多假大空的夢想。 對於未來首先干好本職工作,這是做其他任何事兒的基礎。有額外的時間可以寫寫博客,慢慢積累自己的影響力。
最近除了寫博客,還在醞釀寫一本書,與 RPC 相關,但會涉及多線程、並發、設計模式等內容。預計會比較久才能完成,希望是一本有價值的書。
很喜歡喬布斯的一句話:Stay Hungry, Stay Foolish--求知若渴,虛懷若愚。
歡迎關注公眾號「渡碼」