從從參加工作到現在,已經接近三年了。在這不長不短的時間裡,我的職業規劃猶如正餘弦函式一樣變化,一直遊離在前端和後端之間。
第一年入職,被安排維護和擴充一套基於JAVA實現的地圖瓦片生產工藝程式,不算複雜,基本上也涉及到了一些JAVA的特性,例如檔案IO、多執行緒處理檔案、Servlet實現、RPC等等。這些也是以前在學校裡自己做小專案沒有涉及到的內容,還算有所收穫。當慢慢熟悉這些業務程式碼,開始雄心勃勃的想要做一些擴充優化的時候,突然一紙調令讓我投入到前端向量地圖渲染中去。還在做著成為服務端大佬的白日夢的我一下子被推到了前端WebGL領域。
第二年,從Mapboxgl開始,以前的我對於javascript僅僅停留在jquery和一些簡單的ui庫上,並沒有太深入的瞭解,這會一開始就要深度介入前端和基於計算機圖形學的WebGL中去,著實是令人苦手。不過好在我被WebGL實現的地圖渲染具有的前瞻性所吸引,內心覺得,做一名前端工程師也不錯。於是硬生生的啃下了一套WebGL教程,把mapbox-gl-js的原始碼從頭到尾擼了一遍,最終推出了一套基於Mapbox實現的向量地圖渲染方案,然而這套向量地圖的安全性和客戶端效能上無法達到領導的要求,也沒有給我們太多資源和時間去優化,辛苦一年的WebGL旅程也開始虎頭蛇尾的不了了之了。
這個時候風雲變幻,組織架構出現了調整,我也被調整到了資料部門,開始為生產人員開發資料生產平臺,大概花了兩三個月的功夫,和一位python同事共同開發了一套資料生產平臺,這個平臺最有意思的一點在於,前後端都是由我一個人完成的,前端是基於vue和Element UI,後臺是基於Spring Boot實現。這個時候,我的職業生涯出現了迷霧,為什麼跌跌撞撞又回到了研究生時代,我咋又前後端一起挑了,說好的前端圖形渲染工程師呢?算了,既然又開始做後臺了,不如趁此機會擴充一下技術棧,多找一些後臺的框架用一用,什麼Quartz處理定時任務啊,什麼訊息佇列快取請求呀,什麼資料庫入庫SQL優化啊,儘量都摸了一下。做完這個之後,我想,這下我可以安安心心的做一個資料平臺的後臺開發工程師,著重於大資料的管理和處理效率,也可以關注一下平臺大規模應用瓶頸的研究。然而,生活總是充滿意外。不過這個時候我已經習慣了,我並不意外,隨著平臺開發的進行,一些新的工作出現了,比如說基於前端d3框架的渲染和互動式響應,開發實現一個富客戶端的前端資料編輯應用。好吧,擼起袖子幹吧。框架學的很快,功能實現的很多,處理bug也愈發熟練了,可是,我已經完全迷失方向了,我最終會成為一個什麼樣的程式設計師呢?服務端?WebGL?前端?
真的很迷茫,靠著僅剩的一點對於職業規劃的自律要求,我從未停止過思索:我現在乾的這些事,我能收穫什麼?我還想幹什麼?我有沒有機會去幹?
屈原有一句話怎麼說來著,“路漫漫其修遠兮,吾將上下而求索”。三年時光如白駒過隙,我沒有在我理想的職業生涯上有所前進,這是我自己的問題,如果我不能解決這個問題,那可能我的職業生涯也就這樣了。今天寫下這亂七八糟的回顧,也是對我的一種激勵,希望我能以此文為誡,早日走上正途。