小小游戏程序员工作一年加九个月后的工作总结
本文从快过年时开始写,直到写到过完年,算是拖着过了年…….因为过年回了家,所以过了一个繁忙的新年,过完年后才总算清闲一点了,也很久没有写博客了,借此文总结一下最近的学习及工作,不荒废了我一直以来保持的好习惯.上次总结是在 2009年11月06日了,那是在新工作确定在目前的公司后,入职前一天的时候写的,呵呵,现在看来,那时候很多担心最后都没有成为现实,而现实发展的却比自己能想象的都要好,上天对我的眷顾从来没有停止过,使我从来坚信”天道酬勤”.与以前所有的工作总结不同的是,本文不是以编程学习经验的增长为主线,而是想记流水账一样记录了一些事情,主要原因倒不是因为别的,实在是因为这段时间的确发生了太多事情,而事实上学习上只有OpenGL学习较为系统,值得一提.
目标
目标是啥?目标是那个将你从混沌中迷茫失措,然后陷入更大的混沌+迷茫中拯救出来的东西.大学真是这样过的,于是乎几乎没有毕业.
我在最后一个学期开始的时候还有36.5个学分,13门课程没有通过,我从来记得那么清楚,无论过了多么久,那是我人生中最最迷茫及痛苦的时刻.于是,最后一个学期我少了很多关于毕业的乐趣,只有怎么通过考试的思考,有上午照毕业照,同学都去校园拍照留念,我独自中午开始复习以应付下午考试的时候,也有下午同学们吃最后的晚餐,我需要在酒未足,饭未饱时先行离开去参加晚上考试的时候,那些日子不堪回首,任何一门考试要是再次’挂’掉,意味着我无法正常毕业,上天是眷顾我的,我还是这样觉得,总之,努力+运气,我最后全部通过了,实现了副院长所谓的奇迹.那段日子虽然以痛苦开始,但是以很好的结果结束了,所以最后回忆起来是甜的。
但是,考试全部通过后,因为最后一个学期完全在应付考试,没有做毕业设计,所以,事实上,毕业证还是晚拿了半年.
接下来的半年也绝对是以痛苦开始的,可以想象,一个大学应该毕业但是没有毕业的20多岁的大男人呆在家里会被家里人怎么看待.那段时间是我人生的转折,我开始思考自己的人生.大学除了3年半的游戏+半年的考试外,没有给我其他什么,那么我接下来又能干什么?最后我选择了遵循自己内心的选择,编程,几乎抛弃了大学所学的电子,接着义无反顾的投入到编程的学习当中,半年时间其实也没有看啥书,就了解了C++,看完了,并且通过了解了一下MFC.然后拿到了毕业证就出来找工作了.但是,我对编程这个目标是非常明确的,记得当时给女朋友描述这样描述:无论我现在能找到什么样的工作,哪怕是在广东做一个搬东西的苦力,每天工作10个小时,我也会利用业余时间学习编程,最后成为一名合格的程序员.当然,事实上,结果总是比我预期的要好得多.
从想成为程序员,到成为程序员
但是,刚开始找工作的时候,在长沙的找工作经历是痛苦的,因为是湖南大学毕业,在长沙找工作本来是有优势的,本地的企业还算比较认可湖南大学,但是多次笔试/面试的结果都不理想,一方面实在是没有经验,另外一方面长沙的软件公司都是做企业软件或者网站的,需要的都是诸如JAVA,C#,PHP,Ruby等当时我根本没有任何接触的语言,当时的郁闷心情可想而知.但是,对于C++的信心还是让我走到了有更多C++市场的地方–北京,正好当时堂姐在北京,就来北京投靠她了.比想象的要顺利的是,在真正考试C++的笔试/面试面前,我异常的顺利,当时接到3份北京的面试通知,仅仅第一天去面试第一家的当天就被录取了,那是2007年5月8日,劳动节休假后的第一天.然后也没有继续接着找工作了,直接在第一家公司工作,面试通过后才知道公司做的是网络游戏.从此,我开始可以称自己为游戏程序员.
作为玩了十多年的游戏玩家,最后能做游戏,按道理难免有点喜出望外,可是因为在<小评《DOOM启示录》>中描述过的原因:”虽然曾经认为游戏就是自己的人生,甚至考虑走上职业玩家的道路,但是大学毕业后,痛定思痛,加上生活的压力,彻底的与游戏诀别,即便自己处于游戏开发的 岗位上,却几乎不玩游戏,认为那是浪费自己的时间,因为我以前浪费了太多时间,所以此时如何还能再浪费?因为这个原因,开发游戏的时候我也选择了一个尽量 远离真实游戏开发的岗位,服务器端的程序开发,这样,怎么说离游戏远一点,将游戏视为害人之物的我心里面的内疚也许会少一点吧。”中途与副总商量了一下,副总也与我讨论了一些关于游戏制作重要性方面的东西,告诉我作为网络游戏,客户端,工具,服务器都很重要,不要仅仅认为服务器重要,或者只有服务器开发技术含量高.当然,这些我都知道,可惜,这些都不是我选择做服务端的原因,所以,在初期做过一些客户端方面的工作后,副总也尊重了我的意见,中后期我主要做的是游戏的服务器端工作.那时,我常称自己为”网络游戏服务器端程序员”.
从痛恨游戏的服务器端程序员到热爱游戏的手机游戏程序员
那段日子的学习及进步是很大的,我在以前的多篇工作总结中都有提到,但是最后我还是选择了另外一条路.
那得从看说起,看的时候大概是2009年的8月2日(因为那篇读后感博文发表的日子如此的确定,所以我可以这样清楚的写到),用了一个通宵,看完后对游戏的看法变了很多,当然,也与长期的服务器端工作经历有关,总之,那时起,我改变了对游戏开发的看法,我在那篇小读后感中这样写到:”我愿意做卡马克,每天坐在电脑面 前一动不动,专心的沉溺在程序的世界,每日只要有可乐解渴,披萨充饥即可。”(其实我在中国提出这样的要求比卡马克高太多了,因为披萨在中国可不便宜啊^^)几个月后,看到新同事的博客上,记录着卡马克那曾经让我充满激情一段话,甚为感慨,现也摘录于此。
“在信息时代,客观障碍已不复存在,所谓障碍都是主观上的。如果你想研发什么新的技术,你不需要几百万美元的资金,你只需要在冰箱里放满比萨和可乐,再有一 台便宜的计算机,和与之献身的决心,你即可拥有任何你想拥有的编程境界!- John Carmack”
被同样的语言所激励,说明我们有同样的梦想,所以在同一个地方工作.此是后话.
然后,我开始接触客户端方面的知识,看完了著名的一书,这本书如同传说中的一样好,更加觉得编写游戏客户端才是编写游戏的王道,那样才叫做游戏.一方面由于原公司开发的网络游戏市场表现有限,公司的士气低迷,老总自然也是着急,但是此着急没有去鼓励大家的士气以求共度难关,反而变本加厉的加班,另一方面,感觉自己以前主动申请及强烈要求做服务器端程序,此时突然改口要做回客户端也不太好,再另一方面,随着GPhone的正式面世,对移动市场产生了一些兴趣,(表现在博客上好几篇Android平台开发的学习上,虽然其实只学习了几天),希望能去进行移动平台上的开发,这些理由加起来,我在9月初正式提出了离职.离我读过只有1个月时间,事实上,一本书改变一个人人生不是假话,绝对就可以算是改变了我的人生.在9月中旬,正式离职,然后休息到10月初放完国庆的假期,才开始找新的工作,我是这样打算的,也是这样做的.
在这工作后难得的假期中,为新工作做了一些准备,因为目标明确,我学习了OpenGL,这才是移动平台开发中图形接口的通用标准,并且,在那时,以平均2天一篇的速度,一边学习,一边写了一系列关于OpenGL学习的博文.见<Win32 OpenGL系列专题>.当然,后来才知道,其实大部分移动平台使用的是OpenGL的移动版本,称为OpenGL ES.
找工作的时候,前一周除了”完美时空”,”畅游”这两个北京的大游戏公司,(那时候没有看到网易在北京招人)投的都是移动平台或者相关领域开发的公司,只投了几份简历,没有人叫我面试………..默哀中,后一周放宽了标准,再投了几份简历给一些认为还不错的网络游戏开发公司,第三周后开始陆陆续续的收到面试通知,最后面试了4家公司,(还有两个外地公司的电话交谈,不知道算不算interview),全部录取,然后,在一家国内老牌网络游戏公司及现在这家专门开发手机游戏的外企中仔细比较,最后选择了现在所在的公司.
最具有讽刺意味的是,现在我工作的公司虽然是第一批投的简历,但是确是几家公司中最后通知面试的,从投递简历到通知面试差不多隔了一个月……….
当时面试的时候,现在公司程序员的总leader告诉我可能会搞JAVA,所以我当时还有些担心,还写了篇博文<我都不知 道我为什么要在JAVA过了巅峰的时候学习JAVA-_-!>,事实上,这也是一部分我差点没有进目前公司的原因.当然,最后结果比预期的又要好,培训的时候我就知道,我还是会继续搞C++,到了培训结束,进的项目就更加让人喜出望外了,我进的是IPhone项目,在这里,纠正了很多我对IPhone开发常识性的错误,并对IPhone开发有了一些全面的认识,为了更加好的了解这个平台,我还特意买了第3代的IPod Touch 32G,并且,在长达1月的安装黑苹果的奋斗后,(中途甚至特意按一些推荐标准升级了主板及显卡)彻底地放弃了,买一个MAC Book,真正全面学习Objective C及IPhone的开发,在公司,由于公司原有框架的封装较好,事实上我是根本不会用到任何IPhone SDK及Objective C的东西的,用的语言也是C++,按我的性格,进行一个平台的开发,此平台的原生语言(或者主要语言)是必须要了解的,不然,甚至都不能了解此平台.
现在,别人问起,我会说自己是一个做手机游戏开发的程序员.
新公司很好,远远超出预期,因为新公司在网上的声誉不是很好(也许可以说是很不好),当然,有加班较多的原因,但是因为原来的公司加班更多,所以我倒也没有太大的感觉了,反而是一些人性的制度,初期的培训及一些培训讲座给我的印象较为深刻,并且,因为新公司在IPhone开发上数一数二的水平,事实上也接触了一些国际上很新鲜的技术资讯,这些个人感觉较为难得,远非一般国内小公司可比.当然,最最重要的是,在什么样的公司,你将会有什么样的同事,在优秀的公司才能同优秀的同事共处,才能使自己变得更加优秀,这才是我感觉现在的公司最大的优点.想起这次回家,原来的老同学们在一起纷纷感叹社会的黑暗及不公,就越发能这样觉得.当然,当年的道路选择,决定了一个人未来行走的方向,我看到的都是光明,因为我选择追寻太阳.
学习经验总结
如同我一开始就提到的,这段时间发生了太多事情,而事实上学习上只有OpenGL学习较为系统,值得一提.但是,其实有些很零碎的东西也是不得不学习的.这里就学习的主线还是大概总结一下.首先,在第一家公司的末期,看完了
By 九天雁翎
2010年02月27日 | 九天雁翎的博客