1. 程式人生 > >老兵的十年職場之路(一)

老兵的十年職場之路(一)

關系型數據庫 離職 底層 進行 規則 移動互 形式 移動 掌握

不知不覺已經到了工作的第十個年頭,很難想象時間會消逝得這麽的快,真是印證了那句成語叫“白駒過隙"。
白駒在不停的向前跑,我也從一個職場菜鳥變成了一名老兵,每當回想起以前的一段段經歷時,總覺得自己應該要寫點什麽回顧一下。

技術分享圖片

初出茅廬

2009年是不平凡的一年,那會兒 sun 公司被甲骨文收購了。當大家都在津津樂道的討論著 Java 的未來的時候,我才剛開始我的第一份工作。
那時去的是一家做電信業務的小公司,主要做數據分析管理方面的軟件。那會公司在生存方面還沒有什麽問題,由於老板跟客戶高層的關系比較鐵,基本上產品都能賣的出去,團隊不容易餓死。
但也因為是這樣,公司的整個研發氛圍比較"浮誇",也就是形式主義上的東西很多,一個開發部差不多四五十來人,幾乎每個月都要考一次試,內容就是編碼規範、算法題雲雲。

老員工們對這些是不齒的,所以基本都是一些校招的小兵們會拿個好成績..其中也包括我。但是大家心裏也明白,出了校園就不能再是"高分低能"一族了。何況這種事情根本算不得什麽。
所幸是同事都很熱情,基本也不會跟我們計較什麽。除了工作上的熱心幫助之外,時不時也會經常聚餐。而且那時候由於公司還有加班餐券的福利,導致我們晚上個個成了樓下真功夫的常客,就連店裏的服務員都愛跟我們調侃:
"你們公司福利那麽好阿,收轉行的服務員嗎?“

在技術方面,由於剛開始什麽都不會(學校裏真的什麽都不會教,或者說自己除了混完學歷什麽都沒學到..),做什麽也缺乏自信。於是我偷偷下載了12G的 Java 教學視頻,每天晚上看1-2小時...就這樣從一個最簡單的“鼠標畫圖” 小程序開始了我的程序開發之旅。同事老張知道了這事,給我推薦了不少好書,其中就包括《Effective Java》、《Java編程思想》

這些,也就是後來,這些書讓我對開發語言有了更加深入的掌握。
尤其是Effective 系列,到十年後的今天仍然是Java領域的經典必讀之作

團隊裏一直都喜歡貫徹學習、改進方面的事情,這跟老板的做事風格也有很大關系。我最有印象的是有一次做代碼Review時,一哥們的代碼被拿出來當典型了,一個if/else 嵌套了十層... 後來這哥們幾個月後也離職了。老張感慨說,"其實寫代碼也就是 if、else這些東西"..
那會想想也差不多如此,偶爾代碼寫得糟糕也是常事,只要不傷天害理不就行了。

我所在的小組負責一個了數據抽取軟件,就是會將很多異構的數據源進行整合,按一些業務規則做轉換處理,然後寫入目標數據庫。技術上采用的C/S架構,客戶端是基於 Eclipse RCP 框架做的界面,後端用 SpringFramework +Jetty 定制了一套RPC服務。

那會憑著自己的興趣深入學了下Swing、JWT/JFace,也做了很多小工具,只是到後來 Java 在小程序、客戶端UI方面根本沒發展起來,對於這塊技術的積累也沒有產生更大的意義。
就從 web 前端技術在後來大肆流行的態勢來看,當時的技術選擇還是"任性“了點。

SpringFramework 是團隊裏主要用的框架,在那兩年主要用的版本還是 2.5,但是關於這塊並沒有做過多的深入了解,而只是應付一些普通的項目上的使用。為什麽?我認為大多數人可能跟我一樣,被 SpringFramework 的概念繞的有點玄乎,什麽控制反轉、依賴註入,這種概念化的東西最終在解釋上又好像很簡單,甚至都懷疑是不是我根本就理解錯了。到後來發現也就是如此,Spring 框架只是實現了一層簡單的對象裝載能力,相比那些難懂的 EJB、Web容器來說輕量得多,很容易就被用到項目裏頭,跟各種開源組件做"膠水式"的整合。所以當時流行的SSH(Struts/Spring/Hibernate)三大框架裏頭,Spring 更像是一個"拉皮條"的角色:

Struts 做了表示層,搞定了MVC,Hibernate 做了持久層,搞定了ORM,然後 Spring 是..整合你們兩個!

這裏扯的有點遠,只是想表達的一點是:技術框架本身就是為了解決復雜度而生的,往往並不如想象中那麽可怕

在這個階段,曾借助框架完成的一件有印象的事情是:

把一個 4000 行的充滿 if/else 的類進行了重構,硬生生拆成了20個毫不相幹的子模塊。最後還受到了領導的表揚..

經歷變動

技術分享圖片

盡管這家公司不大,但我所在的三年裏也經歷了許多令人意外的變動。

  • 第一件事是高層的政治鬥爭,那會公司的研發副總是新上任的,其性格和做事方式上都非常強勢,尤其是對於老員工一些混日子的態度特別看不慣,這點跟他非技術出身應該有很大的關系。於是在任職期間,他在公司裏大搞特搞軍事化管理,嚴查考勤,搞野外軍訓拓展。許多老員工都是敢怒不敢言,但由於老板從態度上更信任這位副總,很多人最終就選擇了離職。

  • 第二件事是研發總監的出軌,前面那件事裏頭,因為政治鬥爭的原因,公司裏原來的總監也被離職了。這一位是後補的管理者,我對這個人的印象不深,只記得比較愛開玩笑,喜歡搞搞小團體。在公司裏頭推廣了自研的一套web框架,一些核心項目的底層也給換成了這個框架。然後就是突然某一天人就沒來上班了,才知道是這破事讓許多人給知道了,然後是他帶來的核心團隊也一並走掉了,留下了一堆爛攤子。

  • 第三件事跟管理層就沒有什麽關系,主要是公司業務的發展遇到了瓶頸,由於互聯網的沖擊,那會傳統的軟件廠商都是不好受的。
    在2010年底,當時華為想搞雲計算大範圍開放了社招,公司裏頭能幹的人基本都跳槽過去了。
    而我呢,就在一次次的送別後自然而然的成為了項目組的骨幹。當然除了人員離職的原因之外,我自身的成長也還是比較明顯的。

這裏提到了成長,一方面是對於企業而言,我的崗位能力提升了,對於公司的許多項目、流程機制都非常了解,已經具備帶新人的條件。
另一方面,在個人技能上,對於Java開發的能力有了相對全面的掌握,包括不限於多線程並發、網絡編程、JVM結構這些東西;
而在 Web 開發方面,基本上用SSH 做出一個網站項目也不是什麽難事。得益於數據處理軟件開發的特點,因此對各種關系型數據庫都有涉獵。
關於這些點,我都給寫到了我後來求職的簡歷裏面。

那麽之所以後來離開,也是因為覺得在那裏的成長已經停滯了。當時有個說法叫 "程序員,三年跳一跳,越來越美妙"

“當我在談論 jvm結構和 rmi 技術時,身邊的同事只會聊起八卦和體育彩票的事情,而我壓根也不喜歡博彩類的東西。”
當然另外一個原因是覺得薪資太低,覺得自己應該出去看一看新機會了。

接下來,在移動互聯網的大潮中,我選擇了一家處於上升期的企業,開始了另一段職業上的旅程。

技術分享圖片

(未完待續)

老兵的十年職場之路(一)