相亲
我被父母催促去相亲,前两次都没成功,我真的没当回事。下一次相亲是在中秋节,我穿的西装很不舒服,但双方父母和亲戚都在场,还是想给大家留个好印象。
下一个周末,我还是硬着头皮,礼貌地约那个女人(我现在的老婆)出去玩,但我真的不知道有什么好玩的。不过老婆人很好,带我去城里找工作,看看有没有适合我的工作机会……说实话,我很感动。这是我第一次被父母以外的人这么关心我和我的工作。但整个过程还是很尴尬,我不知道该说什么。
记得当时电影院正在放映《山楂树之恋》,我好不容易约到了她,没想到结局是个悲剧,我们都有些难过!晚上送她回家后,我们用手机短信聊起了电影里的话题,终于有话可说了!
几天后,是周末,我到她家见她父母亲人。当时真的震惊了,除了她家亲戚、村里的邻居游戏软件开发,还有从各个县城召集来的长辈、堂兄堂妹,都很好奇地看着我这个新女婿,中午吃饭一共七八桌,压力真的好大啊!
在老家休息了将近一个月,白天在家学习,下午五点左右骑着破电动车去接女朋友下班。这期间也没闲着,学了点 iOS 开发,因为没有苹果电脑,断断续续装了一年 Hackintosh 才把 XCode 弄上来,还自学了 Linux 上的 Qt C++,想看看 Windows 之外的世界。
加速增长
在家里日子一天天过去,兜里的钱越来越少,11月决定回成都学习,找一份C++和网络方面的工作,后来加入了“科莱”。
Colai 是一家做网络协议分析的公司,是我见过管理最好的公司,需求、开发、测试的流程都是标准化的。
我到公司的前三周都在学习,首先是公司副总裁给新员工讲解公司的历史、业务方向、指导方针;其次是公司一位产品需求经理教大家“科莱软件分析系统”工具的基本使用,讲解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++教程,写的确实很好,一口气看到了半夜两三点。虽然之前自学过一点Qt,但是一直没实践过,晚上在医院看书,白天上班有空就试着实验一下。
终于,一个机会来了,公司安排我做项目负责人,开发两个小型的网络分析项目,当时我极力推荐使用Qt C++,并被批准。当时我学习热情很高,除了Qt技术,我还学习过设计模式,从C#到Java再到Qt的语言,以及敏捷开发的一些实践。
我和两个刚毕业的同事一起尝试结对编程、测试驱动开发、Qt 插件框架的使用……还在公司内部组织了几次技术学习会,那时候开始对技术分享产生了兴趣,记得年底的时候,我被评为编程组唯一的优秀员工,除了钱和 iPad,还有一座奖杯!
一年的时间,我接连用 Qt C++ 开发了两个项目。但心里还是有个做游戏的梦想,闲暇时尝试了 Cocos Object-C for iPhone,又尝试了跨平台的 Cocos2d-x C++,跃跃欲试。当时有朋友愿意投资做游戏,我有点小气,就组了个团队,开始做手游。
我的感觉
在做克莱产品的时候,我带了几个刚毕业的大学生一起做项目,开始思考如何提高开发效率,如何组建团队提高战斗力,如何组织成员学习设计模式、敏捷开发、结对编程,为别人提供工具库,向公司推荐自己的技术方案,而不仅限于个人编码。这又是一次能力上的显著提升。但后来,我自我感觉太好,放弃了克莱好的开发环境。
目前科莱在国内网络安全分析领域数一数二,光研发团队就有200多人。我以前的同事都带领着自己的团队,早已离开一线编码工作。在好的环境下,努力工作也能取得很大的成绩。
我的故事到此结束,以后我将转行做手游开发行业,奋斗之路正式开始!