一个玩游戏的失足青年,转行做软件开发的挣扎过程(2)

相亲脱单记

话说之前被父母迫切去相亲,前两次都失败告终,我一是确实没放在心上。后面一次相亲,记得还是中秋节,我穿的西装笔挺的很不自在,不过有双方家长还有亲友们在,还是希望给大家留点好的印象。

第二天周未,我还是硬着头皮,礼节性的约上女方(也就是我现在的老婆)出去玩,可我真不知道有什么好玩的。不过我老婆真的不错,带我去城里看招聘的,有没有合适我的工作机会...,说真的被感动了,除了父母还第一次有人这么关心我和我的工作。不过整个大半天下来,过程还是非常尴尬,不知道聊些什么好。

记得当时电影院正在上影《山楂树之恋》我成功约了她,没想到结局是一个悲剧,大家都有些伤感!晚上我送她回家后,我们在手机上的发短信聊起电影中的话题,总算是有话可以说了!

file

过后几天是一个周未,就是去她家双方父母、亲友见面了。当时真的是吓我一跳,除了当时她们村里的亲戚、邻里,还有从各县、市召集回来的长辈、表哥、表姐....都很好奇来看我这个新姑爷,中午吃饭坐了有七八桌人,这个压力真是不一般的大呀!

在老家休息了近个月时间里,白天在家学习,下午5点左右就出门,骑着一个破电瓶车去接女朋友下班。在此期间我也没有闲着,学了点 iOS 开发,由于没有苹果电脑,之前安装黑苹果断断继继搞了 1年才把 XCode 给运行起来,又在 Linux 上自学了 Qt C++,想看看 Windows 以外的世界。

加速成长

在家的日了一天天过去,口袋里的 Money 也一天天减少。11月我决定重上成都,一边学习一边找C++、网络方面的工作,后来我进入了“科来”。

科来是一家做网络协议分析的公司,这算是我见过的管理最好的公司,需求、开发、测试都有规范的流程。

最早到公司的前三个多星期都是在学习。一是公司的副总给刚入职员工讲公司的历史、业务方向、做事的指导原则等;其次是公司的一名产品需求经理,给大家讲《科来软件分析系统》这个工具的基本使用,讲解TCP 四层协议模型。

file

在这三周的时间里,除了学习还是学习,没有硬性的工作任务。刚开始一周还好,组织大家开会学习,后来就是自学了,我当时将《TCP/IP详解(卷一)》结合“科来软件分析系统”这个网络分析工具,很快就上手了,第一次读懂了这本讲网络的经典书籍!

file

公司内部的学习氛围也很好,当时唯一就觉得用的技术太古板了点,主要用 VC++ MFC 加 一个皮肤控件三方库,做网络数据包分析。我当时在科来,最引以为豪的是,独自完成了一个 TCP 流分析的功能:

file
file
file

由于之前我的 VC++ 项目经验中大量使用 STL 以及 Boost 库中的 boost::function、boost::bind 等刚开始非常不习惯,还好后来 VC++ 升级逐步引入C++ 11的 std::function、std::bind、std::shared_ptr... 内容,我也在向公司领导推介 boost 库,不过当时没有被同意。

可能是我 TCP 流分析做的还不错,我又接到几个定制任务,记得当时有什么“XXX电信网页选号业务分析”、“定时自动分析”、“木马病毒特征分析”、“Email邮件内容分析”等活安排给我做。

这里不要被“木马病毒特征分析”吓唬到,其实就是找两台电脑,让一台中感染木马病毒,另一台做远程控制,相当于服务器与客户端。将木马产生的TCP流、数据包保存下来分析,找出比如远程桌面、获取文件列表、删除文件等数据包,并通过端口号、数据包长度、TCP特征位、传输内容等,将某个或某几个数据包定义为某种木马病毒,并进行报警、发邮件等。

当然不能分析一个木马病毒就改一次代码,为了可扩展,还需要编写了一套特征编辑工具,可以让用户自己定义木马病毒的特征。现在也可以通过数据包,识别应用了,看下图:

file

团队合作

进入科来差不多有一年了,那时我已经结婚,女儿也有半岁了。

记得那时女儿是第一次感冒发烧住院,老婆全天在医院守护,我是晚上下了班去医院,还好是夏天,同时病房还有空位,这几天我们就完全住在医院里了。

在医院晚上睡不着,我就在手机上,看一个博客写的 Qt C++ 的教程,写的真的很好,经理不知不觉就看到半夜2、3点。虽然之前我自学过一点Qt,但一直没实践过,我晚上在医院看书,白天上班有空闲时间,我就尝试着实验一下。

file

终于有个机会来了,公司安排我做为项目组长带人开发两个小型的网络分析项目。当时我极力推荐使用 Qt C++ 来做被同意了,那时我学习热情高涨除了Qt技术以外,之前还研究过设计模式,语言从C#到Java到Qt,以及敏捷开发的一些实践。

我带着两名刚毕业不久的同事一起尝试结对编程、测试驱动,使用Qt的插件框架...,还在公司内部组织过几次技术学习,那时开始对技术分享有了兴趣,记得年终时获得了程序组唯一的一名优秀员工,除了Money、iPad外,现在保留的还有一座奖杯了!

file

一年时间里,连续用 Qt C++ 开发了两个项目,不过当年还是有游戏开发的梦,在业余时间尝试了 iPhone 下的 Cocos Object-C 以及之后的跨平台的 Cocos2d-x c++ 心里痒痒的。当时有个朋友愿意出资做游戏,自己也有些自我膨胀,组了一个团队,一招呼我就跑去做手机游戏了。

file

我的感悟

在做科来的产品时,带了几个刚毕业的学生做项目。开始考虑如何提高开发效率、如何建设团队提高战斗力、组织成员学习设计模式、敏捷开发、一起结对编程,为他人提供工具库,以及向公司推荐我的技术方案,而不仅限于个人的编码,对我来说这是又一次能力大幅提升。不过后来也有些自我感觉过于良好,放弃了科来这个好的发展环境。

现在的科来在国内网络安全分析领域,已经是数一数二的,现在仅研发团队超过了200人。以前的老同事,都各自带团队早已脱离一线的编码工作,在一个好的环境,认真工作也能够有很好的成就。

这次的故事就讲到这里,后面是我将转入手机游戏开发行业,挣扎才算是正式开始!


file

推荐阅读更多精彩内容