六年程式生涯

純潔的微笑發表於2016-11-21

工作六年對一個程式設計師意味什麼?在職位上:高階開發工程師?架構師?技術經理?or ... ?在能力上:各種編碼無壓力?核心程式碼無壓力?平臺架構無壓力? or ... fuck?看著這些問號都心累。那麼,六年你迷惘了嗎?又走到了那個十字路口?

六對我來講總是一個特殊的數字,六年中一直想對自己的程式設計師生涯做一個回顧,總是有各種的藉口飄然而過就到了幾天。畢業六年,大學同學們基本上都走在了不同的路線,也走進了完全不同的生活,能在六年衝出來的現在也都小有了名氣,為什麼相同的學校相同的專業卻走向了不同的方向呢,且聽我慢慢道來。

每個人程式設計師的經歷都是一個故事

 

如何入坑

在XX的培訓班上有一次我對大家這樣介紹:我來自一個二流的本科院校中的一個三流專業,學校本來就是師範類的院校,自然不是特別受歡迎,我們是師範學校裡面的非師範專業,而且是學校剛開的專業掛在數學系更加非主流,專業就是:資訊與計算科學。我聽說有的學校這個專業是計算機系的,不知準確資訊。但基本上都是學數學的,帶著學習一點計算機,當初報考這個專業也是因為這個名字,看起來很有科技含量,多少農村孩子都是這樣報考專業的!!!

 

大學生活

一般大家回顧都要說說大學生活,我的大學一年一句話來總結,大一基本上都是在網咖度過的,大二基本上都是在籃球場度過的,大三基本上都和女朋友一起過的,大四基本上都在找工作中度過,導致我走向程式設計這條道路的經歷基本上都在大四了。放一張當時大學的圖片,當然現在都已經發生了很大的變化。

dx

有幾個原因導致了我最後選擇去培訓機構培訓Java編碼,第一、對計算機比較感興趣,大學數學課程基本沒聽過,都是考試應付,但對相關計算機課程很感興趣,但學的太淺了,我不討厭數學,但是讓我想到學這麼多微積分、線性代數...畢業後有個鳥用,就洩氣了,沒有一點動力。第二、真的不好找工作,專業幾乎沒有對口,同學幹啥都有,有的走向了培訓、當了教師,有的做了文員、公務員、銀行職員,有的做了交警、還有公安,但最讓我驚奇的是有一個當了律師,太驚訝了,我感覺比程式設計可困難多了,基本上都是各自找自己的出路。第三、大三暑假那會參加了數學建模競賽,在小組中我負責程式設計的部分,那時候用的MATLAB和C語言,隨著不斷的練習和使用更加驗證了對軟體的熱情和理解,也只是覺得軟體應該是一個朝陽行業,慢慢的去了解了入行的標準,找工作的過程中慢慢試著去接觸了一些培訓機構,但是看到1w左右的培訓費用,我猶豫了,那時候的1w對我來講太重了。

大四那年冬天,印象很深刻,跑遍了省會城市大小招聘會場,不是簡歷都過不了,就是麼訊息;最後到應聘上幾家公司,但是和自己想象中差距太遠,一個是培訓機構當老師,沒去;一個是做管培生,去了,我靠基本上跟傳銷一樣,什麼管培生就是賣軟體,記得應該叫“紅利軟體”,就是跑到各個交易所裡面去找大爺大媽,聊天要電話,讓聽講座最後引導買軟體,一套軟體大概是3000左右,可以提成10%;早上7點上班,各種活動遊戲,8:30出發,9點左右到交易所各種找人,看著眼睛發光的大媽大爺就是目標客戶。下午5點左右回來,各種培訓,然後開始根據話術打電話晚上10點回家,我們學校一共去了8個人吧,最後留下了一個我們都想到不到一個人,我們班一個文文弱弱的小女生,學習很好的那種,一干就是兩年,真是人不可貌相呀,堅持了兩週我就撤了。

 

南下深圳

為什麼了去了深圳?幾個原因,我老大(初中很好的朋友,初中畢業後當兵,然後南下深圳)在這裡,萬一不行還有一個投奔的地方。深圳應該是當時印象中南方比較發達的城市,希望可以見見世面,找找工作,對了那年還是非典,疫苗剛出來,只給大四的學生先用,那天還發著低燒,也沒管直接就打了。小馬是我們班的一個同學,關係比較好,聽我說要去深圳,特別激動說,強哥我們倆一起去闖天下去 :),因為小馬家境還不錯,沒有吃過太多的苦,從小都沒出過省,還是有點擔心,但是看著小馬這麼激動,恰好我也有一個伴,就欣然接受了。後來我先去的,看了情況還行,就打了電話叫了小馬一起過來。那時候從西安到深圳為了省錢買了硬座,應該是做了將近30個小時左右吧,吃了N多筒的泡麵終於到了深圳,南方人的普通話真是聽不懂呀。對了,小馬最終做了一名人民警察,這就是另外的故事了。

因為我先去的深圳,就先去了深圳人才大市場,當然了各種受挫。等小馬來了以後我們就先進了龍崗的比亞迪工廠,我們分在了不同的車間,小馬比較幸運去了電池車間,就是流水線,我分到了紙箱車間,大家可能平時覺得紙箱子沒有啥,但是在沒有成品之前,邊緣幾乎都跟刀子一樣,沒幾天從手到胳膊全部是傷,但最重要的是我和我們車間的老大搞不到一起,整天吵架,有一次差點幹了起來,那個車間老大後面瞬間站了兩個人,那次之後起我就出來了。

聽了老大的建議,我又去了龍華的富士康,有一個朋友接我,對我說那邊大學生應聘一人還發一個電腦而且是做辦公室的(車間裡面的人都羨慕做辦公室的,畢竟不用賣苦力;在廠裡面一般工服有三種顏色:藍領,就是普工或者技工身份進廠的;紅領,就是質檢,專門檢查質量的,大部分從藍領升上去;白領,一般就是大學生了做文職或者管理),我沒去,我還是以普工的身份進的富士康,我不信我幹不下去,最後又分到了觀瀾的一個小分廠裡面做物流,對了就是富士康當時有名的第一跳,就在那個廠區。廠裡面不像大家現在洋氣的說996什麼的,幾乎沒有假期,什麼週末更別提了,早8點晚8點,半月白班,半月夜班。富士康在深圳還是福利比較好的一個工廠,包吃住用藥等。

這個圖網上找的,有點像當初那個屌絲的年華 dx

在工廠的這段經歷讓我明白了,我必須要依靠一個技能來養活自己。這個技能就是搞軟體!

 

培訓班

根據之前的瞭解我大概選了兩家培訓機構,一家就是野馬XXX,另外一家就是XX內培訓機構,價格都差不多,但野馬有教師,X內是視訊教學,當時感覺不能接受,不太靠譜。本來都拿著錢去野馬那邊交錢了,在付款的時候,財務說可以減免了一百元,跟我一直溝通的那位說政策搞錯了,肯定不是這個。就因為這個原因,我感覺他們不夠嚴謹,我說那我就先不報名了,然後就去了隔壁的X內看看,結果他們正在上課就讓我試聽了一下,裡面全是大四的學生,我坐在後排聽了一上午,雖然感覺還是跟不上,但是有那種建模學習的那種氛圍,我就定了X內。後來我在X內都上課兩週了,野馬打電話說給我特殊減免3千元讓我過去,最後沒去,但是感覺水分真大。

其實X內當在西安的培訓還挺紮實的,還考了sun的證照,其實也麼啥用。開始從跟不上,到處請教別人,到慢慢的理解,寫各種小遊戲,到最後也有學員來問我問題。那時候週六、周天可以免費在培訓機構學習,我幾乎週末都在哪裡,畢業答辯的前兩天才回去,然後又過來,畢業典禮沒有去,畢業體檢舍友這個幫我測血壓,那個幫忙測體重,畢業證照、學位證照舍友幫忙領。我的大四幾乎和學校都沒有關係。在X內認識了好幾個朋友,工作到現在都聯絡著,有的去了華為,有的在外包,還有的搞了小公司。

培訓機構承諾免費介紹工作,那時候的培訓好像也沒有讓大家偽造什麼工作經驗,學校什麼的,一般情況下只要你不是很爛,基本上都能找到工作。X內推薦了幾家公司,自己也投了簡歷記得最後收到了2個或者3個offer,也記不得都有什麼公司了,最後選擇了去李嘉誠兒子的一家公司就是電訊盈科,這個公司那時候剛來西安,還算不錯的公司,主要是電信方面的研發,可惜我再這公司也才呆了不到一個月。

 

工作西安

剛入這行還是比較周折,也差點進去了另一個方向,所幸最後走向了正軌。程式設計師都是第一年的工作不是特別好找,過了第一年後,後面就比較輕鬆了。剛進電訊盈科的時候我的心裡狀態還是沒有調整過來,感覺還是在大學的那種狀態,進去之後是淘汰制,一個月內培訓oracle,兩週淘汰一次人。其實我感覺自己太不會表現了或者其它吧,最終一個月底的時候我也被淘汰了,打電話給我姐說的時候,我姐說,關鍵人家一共20多個人就淘汰了2個人!其中就有你!對了培訓的錢,借我姐夫的。我感覺很憋屈,但我還是不認可,我是最差的。但最終我還是需要面對再找工作的問題。

網上海投了N份簡歷,電話不多,面試了幾家公司後,也收到了幾份Offer一個小公司不交社保,1800;有一家外包華為2100正規繳納社保,我去了華為外包。關於薪資我給大家說兩個笑話:1、我當初培訓的時候一個學員給我說,有一個朋友從這裡出來後,第一份工作2000,跳槽後4000,再跳槽後6000,我們一群人心裡都默默的崇拜著,想著這肯定都是大牛級別的人物;2、我畢業第一份工作預期是2000左右,然後我就幻想著以後每年能漲1000元我就滿足了,到了30歲我就能拿快8000了,現在真到30了才發現現在的畢業生起步價也是這個數。

 

第一份工作

那時候我也在網上看了很多外包公司的種種不是,但我的選擇不是很多,不管怎麼樣畢業了就不能再往家裡要錢了,總得先掙錢吧。華為外包有一個變態的特點為了保密,不允許帶U盤、手機等各種儲存、通訊裝置,上班後基本就和外界失聯了。那時候是做無線上網路卡的客戶端,就是那時候往電腦一插就可以上網那種。每個人進來會分配一個師傅來帶,比較幸運我來的時候分給了一個比較好的師傅,性格、態度,以及他工作的方式其實最後也都影響了我。

我們應該在研發二部,大概分了三個部門,大巴組,小巴組和定製組。定製組:就是不用寫程式碼的那種,華為開發了一些工具通過工具可以改變客戶端軟體的logo,模組功能等,華為的軟體真是遍佈全球到處的客戶都有,阿拉伯、非洲各種語言大部分的需求都是基本可以工具搞定;小巴組,就是需要改一些程式碼,但是工作量又不是特別多的那種;大巴組就是需要改動需要1月以上的需求。我當時分在了小巴組,大概有十幾個人,其中也有很多碩士畢業的也被忽悠進來。最原始的程式碼都是印度阿三寫的,我們都是在上面做二次開發,剛進去看了一個類程式碼有上萬多行驚呆了,但是程式碼確實寫的非常正規。沒有什麼架構文件給我們,但改動基本都是外層的皮膚了或者小按鈕之類的。

加班非常多,但比較開心的是加班有工資,而且是按照國家標準來的,平時加班1.5倍,週六天2倍,假期三倍。這是我工作到現在最正規的加班制度了,工資只有2100,但通過加班可以拿到3000左右,加到2點都是很正常的事情,特別喜歡假期加班可以拿三倍工資,華為在西安包了N多大樓,當時在軟體園三期,班車上百輛開出去還是挺壯觀的。華為的中午休息文化,確實好,中午吃完飯熄燈大家都睡覺,中午趟在哪裡睡一個小時,下午工作質量明顯提高N倍。

我剛進去的時候客戶端有兩種一種是Java寫的,一種是QT(C++的封裝),慢慢的Java版本的都淘汰了,全部上線了QT。我從小巴慢慢開發了大巴需求,但到最後沒有Java版本的需求了,全部用QT。Java組的大家都各種轉型,有的去了另外一個js控制的專案組,我選擇了留下來搞QT,開始學習C++,因為有C語言的底子,倒也不難慢慢的可以開始搞QT版本的小巴需求,但是最後我就糾結了,我以後到底是往Java方向發展呢,還是C++呢。後來終於想通了,我花了那麼多錢培訓java這樣太虧了 ,於是選擇了離職。那時候華為方的領導其實對我也特別好,還專門給了我兩週時間不用上班去參加華為Java的培訓,大家都帶著華為的白牌子,我帶著外包的黃色牌子,培訓老師問了我好幾次我是那個部門的,但最後我還是撤了。

放一張我們小巴組出遊的照片
dx

第一份工作促成我從學生到職場的轉變。

 

第二份工作

當時面試有意向的公司大概是兩家,一家是做GIS系統關於地理資訊的公司,另外一家是XX系統,主要是做思科代理,給思科做各種軟體或者給思科的硬體去做整合方案的各種軟體。我選擇了後者,沒有別的原因,後面這家工資給的高,我就這麼實在。

剛進公司其實比較緊張,因為半年沒有做Java了,每天各種學習,各種加班最後發現其實還可以,雖然半年沒有搞了但問題也不大,公司用的是hibernate和Struts基本上都是以前用過的框架。第一個專案是,smart meeting智慧會議,就是大公司預定會議的一套系統,大部分的工作都在前端,那段時間讓我對js有很了很大的瞭解,因為預定會議的系統介面都是各種拖拽。第二個專案大概就是vozimate,就是給思科的IP話機上面做應用,就是通過電話可以查詢股票了、天氣預報了等等,我們的這些資訊都是通過爬蟲抓取第三方的,過一段時間就需要調整一下爬蟲策略。第一次讓我對硬體和軟體互動有了理解,思科的IP話機當時還是蠻先進的視訊通話,各種會議都是沒有問題。

最重要的一個專案也是我幾乎入職一直在搞的專案就是UC manager,就是通過思科的電話打完短途、長途、漫遊、國際漫遊、轉接、會議等等,凡是和打電話相關都會有,其實就是相當於聯通或者移動公司話費的計費系統,當然還有路線最優路由,統計等各種功能非常多,剛開始做一些小功能,到負責一個模組,到最後整個系統都是我來負責,直到我離職的最後一天,我都在做這個專案的最後一版計費優化。正因為這個專案到北京面試的時候得到了一個高薪的機會,這個下面再講。

其實在這個公司裡面,專案中規中矩,程式碼也是主流的框架和技術,一年多的時間穩紮穩打讓我對大項專案框架和設計有了很多的認識,特別是爬蟲什麼的讓我非常興奮。那時候中午我經常看部落格園的新聞,整天都是網際網路公司怎麼怎麼了,但是西安基本沒有一家正正經經的網際網路公司,於是就有了去北京想法,剛好jerry也有這樣的想法13年過年後,大家紛紛提離職,準備去帝都呼吸新鮮的霧霾。

記得是11年十一過後入職的,當天一起入職了四名同事,我什麼要強調這個呢,因為這四個同事到現在為止,都成了我職場後關係最好的四個好基友,其中有一個女孩,但我們仍然這樣認為。jerry、波仔和鴿子,我們四個各有特點,jerry就是那種極客精神,喜歡各種硬體、軟體,做了好幾個網站,創業幾次,目前創業中;波仔,天生搞笑天王,唱歌天王,在生活中帶來無限的樂趣,跟他在一起永遠是歡笑不斷;鴿子,是女漢子或者是逍遙著,天生喜歡流浪、喝酒,拉薩、雲南、日本、臺灣、英國各處流浪,永遠給人一種激情滿滿的感覺。

我們甚至建立了自己的戶外組織Flyever,有自己的官網,甚至印了自己的隊旗,logo和口號:自由 夢想!每月組織去排山,腐敗、各種活動。發工資了說今天活動一下吧,十幾個人就去吃飯喝酒,晚上通宵唱歌;世界末日了說去慶祝下吧,這兩天心情不好,去活動一下吧!找各種藉口去腐敗,爬了很多山,喝了數不清多少瓶的9度。這是曾經的官網www.flyever.cn

放一張我們當時一個活動策劃的截圖
fly

在放幾張我們去過的地方

青海湖的太陽
fly

蘆葦蕩
fly

 

北上帝都

來到北京的時候,我身上只剩了3000快錢,1000多在分鐘寺(現在已經拆遷)租了個公寓,買了些日常用品後就剩1千多了,我專門挑網際網路公司來投簡歷,大概頭了100份左右,找了10家去面試,一週內面試完拿到了5份offer,其中有一家給的特別高就是因為我以前做了UCmanager這個專案,他們公司剛好給愛立信做專案,缺少這樣專案經驗的人,我猶豫了很久,畢竟工資給的很高,但最後還是放棄了,進了一家第三方支付公司。

 

第三方支付公司

選擇第三方支付公司的時候,其實我還不是特別瞭解這個行業,只是覺得支付應該是比較不錯的。這家公司也是我現在公司的母公司,剛入職的時候感覺周圍一大片全都是大牛!公司還管飯,感覺特別好,沒過了幾天,就被同事拉進了一個XX山炮群,又開啟了胡吃海喝的時代,經常私下我們幾個組織著去AA聚餐,各種吹牛,各種燒烤啤酒也別有一番風味,混熟了之後,才發現和我一樣大家都是屌絲,有一次部門聚餐的時候,部門經理說,大家都舉下手看看大家都是那個省的,結果幾乎每個省都是一兩個這種,看著來自五湖四海的同事在一起工作,也是一番景象。

剛來公司做的是,第三方支付的前置接入系統,當時公司每天交易額剛剛上億,服務壓力非常大,每天各種報警,我們就輔助從前置開始跟蹤,慢慢的對業務有了瞭解,後來也寫了專門的壓測程式來跑。再後來開始負責公司官網的改版,收銀臺改版,到後來開始瞭解J8583,銀行接入平臺 慢慢的才對第三方支付有了一個整體的瞭解,13年底的時候慢慢的興起了很多p2p,很多公司在做對接平臺,那時候大家都不懂什麼是p2p,我們也不懂,也是一邊學習一邊搞,專案持續做了很久,我帶了兩三個人來做後端。最後這個專案也沒有做起來,因為我們還是不瞭解p2p公司到底需要什麼,自己琢磨的東西還是不太靠譜。

14初的時候總監,偷偷告訴我要封閉去做一個關於金融的專案,想讓我參加,沒想到正是這個專案對我的職場有如此大的影響,所以說關鍵時候的選擇非常的重要。緊接著沒過幾天,就開了幾個車拉著我們去了四星級酒店開始封閉開發,後來方案定了使用PHP開發之後,我又撤了回來做平臺介面層的開發。大約過了一個月專案基本完成了,大家回來後專案組因為一個老總出走,帶走了一個團隊,剩下的開發幾乎都走光了,那時候其實我也找好了工作,新的公司待遇和環境都不錯,領導找我談話,想讓我負責這個專案。我對領導說我先考慮一下,等我休假回來後給回覆。那段時間太累了加了很多班,請了好幾天假去了青海湖大玩了幾天,朋友都建議我去新的公司,後來我考慮一下還是選擇了留下。

hkrt

 

網際網路金融

那個封閉的專案就是網際網路金融,那時候網際網路金融已經慢慢熱了起來,14年我們上線的時候應該是最後的一波熱潮了。直到今天我們公司在行業的排名都在20-60之間來回。

14年初的時候大家搞的p2p都是網頁版,app端有幾個公司有,但都很基礎,當時公司人力有限,就面臨一個選擇先做APP還是網站的問題,其實APP的問題主要是通道的問題,當時快捷支付應用到P2P公司還是非常難的。最後領導還是拍板先上APP,大家就集中人力先做APP,最後證明這是個正確的選擇,現在監控我們公司的交易,幾乎百分之80來自APP,第一次感覺移動網際網路的浪潮就是這樣來的。

系統剛投產的那段時間,交易量火爆,最誇張的時候1000萬的標的幾秒鐘就滿了,雖然現在平臺也是這樣。但當時對我們來講還是蠻震驚的。在交易量火爆的情況下,系統出現了各種問題,首先是秒殺的時候控制不住併發,有時候會出現超賣的現象,最後各種優化,通過memcahed鎖解決了這個問題,緊接著伺服器又因為流量太大扛不住了,於是又上線lvs做負載。期間各種問題不斷,那段時間我幾乎晚上11點之前沒有回過家,每次我走的時候老婆還在睡覺,回來的時候她又睡著了,週末也是各種加班,總感覺自己見不到太陽,持續了很久,但是成長也是非常的大。

因為我們的前端是PHP寫的我又逼著自己學習了PHP,從開始能看懂,到最後可以寫一點。公司慢慢上線了官網,又增加了小網頁(H5),各種分散式系統改造。做各種活動,和滴滴叫車做活動、和河狸家做活動、和攜程做活動等等,有一次一天註冊了X千個使用者,驚呆了,發現羊毛黨來了,又是各種限制。在後來慢慢的有黑客盯上了我們,各種騷擾,DDOS攻擊,SQL隱碼攻擊等等。反正是能遇到的問題我們基本都遇到了,每一次問題之後,我們系統就又健壯了一些。

再後來要做大資料分析,我們又開始啟動golang+monggodb這套方案來做大資料,剛開始也很困難,但是大家對新技術的這種渴望戰勝了一切;再後來上線了dubbo做SOA服務治理,到現在啟動spring boot+cloud。我們的系統也從第一代平臺開始到現在第四代平臺更換中,對這四代平臺做一個簡單的介紹: 第一代平臺,主要是集中式,以快速上線為目的;第二代平臺主要是分散式改造,緩解各服務壓力;第三代平臺主要做服務端SOA治理,後臺統一賬戶中心;第四代微服務化改造,已達到灰度上線、動態部署集中管理的目的。

我也從負責Java端,到負責整個技術團隊,慢慢的在領導的信任下測試交給了我,再後來分公司獨立後將運維也交給了我,於是成了整個分公司的技術負責人。這就是我的故事。未來仍然有更多的挑戰,感謝我們團隊的兄弟姐妹,感謝工作中遇到的所有同事和領導。

我特別喜歡一句話在這裡分享給大家:

我的程式碼曾執行在幾千萬使用者的機器上,作為一個程式設計師,還有什麼比這更讓人滿足的呢?如果有,那就是讓這個使用者數量再擴大 10 倍。

zxjr

路漫漫,歡迎大家在博文下面回覆自己個人的經歷,以共勉!


作者:純潔的微笑
出處:http://www.ityouknow.com/
碼字很辛苦,轉載請註明出處 :)

相關文章