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人。以前的老同事,都各自帶團隊早已脫離一線的編碼工作,在一個好的環境,認真工作也能夠有很好的成就。

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

相關推薦

一個遊戲失足青年轉行軟體開發掙扎過程

14年的IT從業經歷,中專畢業後在小鎮上開過網咖。在網咖一年多的時間裡,天天陪人玩遊戲,後來去讀了一個三流計算機專業,畢業後轉做軟體開發,最近五年轉入遊戲開發行業! 01 開網咖 那時中專還未畢業,我在城裡跟人學電腦裝機、維修。畢業後在外面碰壁,灰溜溜回老家鎮上開電腦遊戲室,當時從4臺電腦開始,後來做到最多時

一個遊戲失足青年轉行軟體開發掙扎過程2

相親脫單記 話說之前被父母迫切去相親,前兩次都失敗告終,其實那時我一是確實沒放在心上,每次都是應付了事;二是我有一個致命的心病,我在剛工作一年時體檢發現有乙肝。 回到我剛開始工作的第二年,公司是包一日三頓伙食,當時沒有996的概念,反正幹累了就回去睡覺。 因為公司有一半的是客服人員,是24小時線上,兩班倒。

為什麼要轉行軟體開發

   現在的大學生在選擇專業的時候有過怎樣的糾結?女生學什麼?男生學什麼?什麼樣的專業能找到好的工作?     家裡的親戚朋友全出動就為了選擇一個以後好就業,發展好的專業,然而,所有的人看到的都是表面。並沒有實際的去了解過那個專業是真的好就業,我就是在這樣的大背景下,稀裡糊

40歲轉行軟體開發

這完全是可能的,而且並不是特例。 我的這個朋友比我大1歲,今年剛好40歲,來日本已經10多年了,一直做汽車,機械方面的業務工作,今年年初,開始轉行做IT,就是程式設計序。 第一份工作是做JAVA,struts,負責的部分是jsp頁面設計,應該說這是他第一次作程式設計序的工作

對於現在畢業之後大部分找不到合適的工作轉行軟體開發大部分是JAVA的人來說分享下自己的經驗

首先,描述一下自己,我是13年大連一個二本院校的畢業生,大學的專業是電子資訊工程,輸入弱電類,其實自己對我的專業還是有一定的興趣的,但是,你們也知道,在大學能夠殺下心來學點東西,在別人都玩耍、搞物件、打籃球、打檯球、KTV唱歌的時候,你很難讓自己掙脫出這個大學圈子去學習,除

為什麼越來越多的人選擇轉行軟體開發

為什麼越來越多的人想轉行軟體行業? 1.軟體行業工資比普通職業工資還是高出不少,雖然距離頂端的職業還有差異,已經比很多職業好太多了,現在很多人就是在一線城市掙錢然後在二三線城市消費,有多少人背井離鄉去大城市,就是為了攢點錢然後回到老家過小日子,這種想法的人在很多技術高手身上也不少,壓根沒想著在一線城市生根

一個不復制貼上的程式設計師[1]: 使用模板方法模式2- 物件更新比較器例項

在進入正題之前,說一些廢話,談談對於我的前一篇文章被移出部落格園首頁的想法。不談我對於其他首頁文章的看法,光從我自身找找原因。下面分析下可能的原因: 篇幅太短:我覺得篇幅不能決定文章的質量,要說清楚一個問題,肯定字數越少越好 程式碼過多,文字太少:Talk is cheap. Show me the cod

[譯] 關於 SPA你需要掌握的 4 層 2

此文已由作者張威授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 檢視層 現在我們有了一個可執行且不依賴於框架的應用程式,React 已經準備投入使用。 檢視層由 presentational components 和 container components 組成。 present

伺服器實時通知客戶端方案伺服器傳送/推送事件方案2server event典型例子可以用作股票、新聞資訊推送

server event是html5規範的一部分,它相比websocket使用起來更簡單,對伺服器的改動也最小 前端html部分 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&

CocosCreator之KUOKUO帶你瘋狂木板-過橋2原始碼分享

本次引擎2.0.5 編輯工具VSCode 目標: 第二部分,過橋與得分。 接著上一節: 我們實現了木板的變長與下落。 現在我們實現一個牛逼的平臺,怎麼說它牛逼呢?我準備全程就用它一個來完成所有功能。 看KUOKUO怎麼實現。console.log(滑稽) 首先,我們複

微信開發常用技巧2-ios微信開發alert上面顯示地址問題以及移動端提示框推薦

ios微信開發alert上面顯示地址問題 做微信開發的朋友可能會遇到: 安卓微信的alert(),沒有問題,ios微信的alert(),會tm很尷尬的出現你的document.domain地址 解:過濾程式碼如下 window.alert = function(name)

css塊級標籤行內標籤行內塊標籤的轉換2

                    css塊級標籤,行內標籤,行內塊標籤的轉換      在基礎1中,我詳細講了css的常見屬性,幾種不同的選擇器,在此基礎之上我們來進一步地認識它們的特性從而更好地學習和掌握相關開發技能。 HTML標籤的分類       在講標

這麼過分一定要寫篇部落格2 —— 關於jupyter notebook的安裝配置以及Py2與Py3核心共存的系列問題

前情提要不重要 最近還是在看聚類方面的論文,用MATLAB做完FCM的實驗之後,考慮到自己一直在學Python,總覺得應該悄咪咪地實現一下這個讓我既愛又恨的演算法嘻嘻。之後查資料時看到各位大佬瘋狂安利Ipython notebook(也就是本文介紹的jupyt

Unity 3D遊戲開發學習筆記2 牧師與魔鬼

遊戲事物: 3牧師,3惡魔,2河岸,河,船。 遊戲故事:3牧師和3惡魔需要用一艘船全部到達彼岸,但是船上和岸上都不能出現惡魔比牧師多的情形,否則惡魔會把牧師K.O,玩家輸掉比賽;直到所有牧師惡魔都到達對岸,玩家取得勝利。 MVC架構: IUser

遊戲的時候為什麼不來點音樂呢?

當你玩遊戲的時候,為什麼不來點音樂呢?這想法真棒!遊戲裡出現的音效與音樂總稱為遊戲背景音樂,現代商業遊戲背景音樂界限已不甚明朗,從功能角度大致可分為遊戲背景音樂、情景音樂和主題歌曲。誕生於遊戲、脫胎於音樂的遊戲背景音樂,其意義早已超出了電子遊戲本身,成為一種獨特的藝術。   &

演算法題:A與B遊戲若干輪獲勝方獲得該輪分數已知結束後AB得分求A最少獲勝次數

描述 A與B玩遊戲若干輪,獲勝方獲得該輪分數,已知結束後A,B得分,求A最少獲勝次數。 例如:A第1輪獲勝則A加1分,B不得分,A第2輪獲勝則A加2分,B不得分,以此類推。遊戲結束A共x分,B共y分,求A在所有輪次比賽中獲勝最少次數。 輸入:A,B遊戲結束

做一個簡單的銀行、賬戶演示程式。 1定義一個賬戶類包含使用者名稱、密碼、餘額等屬性、存錢、取錢等方法。 (2)定義一個銀行類包含銀行名、賬戶列表等屬性開賬戶、查賬戶的功能。賬戶列表可以使用集

做一個簡單的銀行、賬戶演示程式。 (1)定義一個賬戶類,包含使用者名稱、密碼、餘額等屬性、存錢、取錢等方法。 (2)定義一個銀行類,包含銀行名、賬戶列表等屬性,開賬戶、查賬戶的功能。賬戶列表可以使用

excel巨集:列出一個目錄下所有檔案也超連結

 從網上找了一些資訊,自己修改了一下 方式很直白,先把所有的目錄找了出來,然後一個個目錄來處理。 雖然與我習慣使用迭代的的方式有所差別,但也很好。 後面的函式是原始的,沒有改動,主函式自己重新寫過了。 檔案下載 '主函式 Sub ListFil

了快6年研發的女程式設計師轉行什麼合適呢?

      2012年10月份我來到北京,開始從事軟體開發(JAVA程式設計師)工作,到現在已經有5年多的時間了, 技術能力一般,剛開始的一年半時間在一家做交通行業的公司打雜,由於當時是公司裡年齡最小的,而且剛實習技術不

寫的一個簡單的工具類可以物件型別的判斷和迭代出一個物件所有屬性的值

import java.lang.reflect.Field; /** * @author songzheng */ public class TypeUtil { /** * 得到某個物件型別物件 */ public static Cl