1. 程式人生 > >一個玩遊戲的失足青年,轉行做軟體開發的掙扎過程(2)

一個玩遊戲的失足青年,轉行做軟體開發的掙扎過程(2)

相親脫單記

話說之前被父母迫切去相親,前兩次都失敗告終,其實那時我一是確實沒放在心上,每次都是應付了事;二是我有一個致命的心病,我在剛工作一年時體檢發現有乙肝。

回到我剛開始工作的第二年,公司是包一日三頓伙食,當時沒有996的概念,反正幹累了就回去睡覺。

因為公司有一半的是客服人員,是24小時線上,兩班倒。我們中午和晚飯都是在外面一個蒼蠅館子吃飯,吃完記個帳就行。

公司組織體檢發現我有乙肝後,公司就讓我一個人吃飯了,每天給我帶飯回來。再後來公司老闆覺得,長期在外面吃飯不安全,請了一個阿姨來做飯。

從那時起,我就開始服用“拉米夫定”治療乙肝,一天一粒,一個月要花掉500+,三個月檢查一次,總共用了 8 年時間,中途還產生過耐藥性換過藥,才將大三陽轉為小三陽,將乙肝控制下來,這些年下來少說花了60000+元。

後面一次相親,記得還是中秋節,我穿的西裝筆挺的很不自在,不過有雙方家長還有親友們在,還是希望給大家留點好的印象。

第二天周未,我還是硬著頭皮,禮節性的約上女方(也就是我現在的老婆)出去玩,可我真不知道有什麼好玩的。不過我老婆真的不錯,帶我去城裡看招聘的,有沒有合適我的工作機會...,說真的被感動了,除了父母還第一次有人這麼關心我和我的工作。不過整個大半天下來,過程還是非常尷尬,不知道聊些什麼好。

我有乙肝的事,心中總是忐忑不安,在我們看完電影《山楂樹之戀》後,我發簡訊告訴了她!第二天我陪她去醫院接種乙肝疫苗。

在老家休息了近個月時間裡,白天在家學習,下午5點左右就出門,騎著一個破電瓶車去接女朋友下班。在此期間我也沒有閒著,學了點 iOS 開發,由於沒有蘋果電腦,之前安裝黑蘋果斷斷繼繼搞了 1年才把 XCode 給執行起來,又在 Linux 上自學了 Qt C++,想看看 Windows 以外的世界。

找工作的困難

在家的日了一天天過去,口袋裡的 Money 也一天天減少。11月我決定重上成都,一邊學習一邊找C++、網路方面的工作面試。

兩個多星期的東奔西跑,最早是一家做資料恢復、系統安全方面的,Offer都拿到了,最後要我去做個體檢查,我老老實實地給對方HR說,我有過乙肝,當時 HR 臉一黑,當場就把我 pass 掉了!

後來有兩家公司相差一天發來了Offer,第一家是國企軍工方面,我本面試的崗位是Linux c/c++ 工程師,但面試官看我沒有 Linux 的實戰經驗,要求我轉換為Windows MFC c/c++ 開發,好吧雖然 MFC 也自學過一陣,但心裡總是覺得不舒服!

面試完畢後,第二天就發來錄用通知,但同時要求做入職體檢,而且是他們指定的醫院!我那過天,我怎麼辦呢?眼看到手的工作,怕是會因為我有乙肝而再次黃掉!

沒辦法先去體驗吧,拿到體檢單子,肝功能顯示為大三陽!正在為之發愁的時候,之前面試的另一家做網路安全分析的公司發來 Offer,讓下週一入職,也是要求帶上各種證件、體驗報告。

這兩家公司,我更傾向做網路安全分析這家,因為之前被外包賣到過軍工企業,裡面的氛圍我是深有體會。

反正已經體檢了,還好的是肝功能相關的資料在最後面,我將它對摺了過去,我找了家影印店,重新印了一份,提心吊膽地去入職!進入公司後沒過兩個月,公司組織過體驗,什麼事情發生,總算是安心了。

加速成長

科來是一家做網路協議分析的公司,這算是我見過的管理最好的公司,需求、開發、測試都有規範的流程。

最早到公司的前三個多星期都是在學習。一是公司的副總給剛入職員工講公司的歷史、業務方向、做事的指導原則等;其次是公司的一名產品需求經理,給大家講《科來軟體分析系統》這個工具的基本使用,講解TCP 四層協議模型。

在這三週的時間裡,除了學習還是學習,沒有硬性的工作任務。剛開始一週還好,組織大家開會學習,後來就是自學了,我當時將《TCP/IP詳解(卷一)》結合“科來軟體分析系統”這個網路分析工具,很快就上手了,第一次讀懂了這本講網路的經典書籍!

公司內部的學習氛圍也很好,當時唯一就覺得用的技術太古板了點,主要用 VC++ MFC 加 一個面板控制元件三方庫,做網路資料包分析。我當時在科來,最引以為豪的是,獨自完成了一個 TCP 流分析的功能:

由於之前我的 VC++ 專案經驗中大量使用 STL 以及 Boost 庫中的 boost::function、boost::bind 等剛開始非常不習慣,還好後來 VC++ 升級逐步引入C++ 11的 std::function、std::bind、std::shared_ptr... 內容,我也在向公司領導推介 boost 庫,不過當時沒有被同意。

可能是我 TCP 流分析做的還不錯,我又接到幾個定製任務,記得當時有什麼“XXX電信網頁選號業務分析”、“定時自動分析”、“木馬病毒特徵分析”、“Email郵件內容分析”等活安排給我做。

這裡不要被“木馬病毒特徵分析”嚇唬到,其實就是找兩臺電腦,讓一臺中感染木馬病毒,另一臺做遠端控制,相當於伺服器與客戶端。將木馬產生的TCP流、資料包儲存下來分析,找出比如遠端桌面、獲取檔案列表、刪除檔案等資料包,並通過埠號、資料包長度、TCP特徵位、傳輸內容等,將某個或某幾個資料包定義為某種木馬病毒,並進行報警、發郵件等。

當然不能分析一個木馬病毒就改一次程式碼,為了可擴充套件,還需要編寫了一套特徵編輯工具,可以讓使用者自己定義木馬病毒的特徵。現在也可以通過資料包,識別應用了,看下圖:

團隊合作

進入科來差不多有一年了,那時我已經結婚,女兒也有半歲了。

記得那時女兒是第一次感冒發燒住院,老婆全天在醫院守護,我是晚上下了班去醫院,還好是夏天,同時病房還有空位,這幾天我們就完全住在醫院裡了。

在醫院晚上睡不著,我就在手機上,看一個部落格寫的 Qt C++ 的教程,寫的真的很好,經理不知不覺就看到半夜2、3點。雖然之前我自學過一點Qt,但一直沒實踐過,我晚上在醫院看書,白天上班有空閒時間,我就嘗試著實驗一下。

終於有個機會來了,公司安排我做為專案組長帶人開發兩個小型的網路分析專案。當時我極力推薦使用 Qt C++ 來做被同意了,那時我學習熱情高漲除了Qt技術以外,之前還研究過設計模式,語言從C#到Java到Qt,以及敏捷開發的一些實踐。

我帶著兩名剛畢業不久的同事一起嘗試結對程式設計、測試驅動,使用Qt的外掛框架...,還在公司內部組織過幾次技術學習,那時開始對技術分享有了興趣,記得年終時獲得了程式組唯一的一名優秀員工,除了Money、iPad外,現在保留的還有一座獎盃了!

一年時間裡,連續用 Qt C++ 開發了兩個專案,不過當年還是有遊戲開發的夢,在業餘時間嘗試了 iPhone 下的 Cocos Object-C 以及之後的跨平臺的 Cocos2d-x c++ 心裡癢癢的。當時有個朋友願意出資做遊戲,自己也有些自我膨脹,組了一個團隊,一招呼我就跑去做手機遊戲了。

我的感悟

在做科來的產品時,帶了幾個剛畢業的學生做專案。開始考慮如何提高開發效率、如何建設團隊提高戰鬥力、組織成員學習設計模式、敏捷開發、一起結對程式設計,為他人提供工具庫,以及向公司推薦我的技術方案,而不僅限於個人的編碼,對我來說這是又一次能力大幅提升。不過後來也有些自我感覺過於良好,放棄了科來這個好的發展環境。

現在的科來在國內網路安全分析領域,已經是數一數二的,現在僅研發團隊超過了200人。以前的老同事,都各自帶團隊早已脫離一線的編碼工作,在一個好的環境,認真工作也能夠有很好的成就。

這次的故事就講到這裡,後面是我將轉入手機遊戲開發行業,掙扎才算是正式開始!

相關推薦

no