标签:工作总结
从来没有这么郑重其事的打算写写一年的工作内容。原由是好友喻之前在微信上和我简单的聊了几句,感慨时间过的很快,一年转瞬过去了,时间是矢量,纵然有方向,也可以留下点痕迹来。
中国教育下的人大多擅长做总结,我也是如此,如果用一条函数曲线来表达我整个2015年的心情走势的话,会是一条0到2派的图样。从年初决定离开渔女这座美丽的城市来到羊城,换了新的环境,接触到新的朋友,工作上我也能独当一面,带起一个小小的团队,写一些以前只有看大神们才会去写的代码,做一些只有小说里的人才会去做的梦,甚至我还真的如愿自己做了一年的饭。一直处于一个爬坡的兴奋情绪中;最初的新鲜和激动过后,自然迎来了改变的阵痛,首先是工作上的不顺利,项目进度缓慢,人员素质参差不齐,对工作流程的抱怨等等一系列事情接踵而至。如果说这些我都还能接受的话,年底得知了外婆身患直肠癌并选择保守治疗,直至最后项目被公司以投资方式转移出去,我的情绪陷入了谷底,有一种观点我忘记了出处,说如果一个人认为他自己的工作非常重要时,他就离精神病不远了,我觉得还是有一定道理的;最后考虑再三,跟制作人、项目经理沟通,我选择了离职。继续帮忙部署线上环境供投资方体验,其实已经跨入了2016年,我也接受了亲如母亲的外婆必将无法一直陪伴我,而且已经82岁高龄的外婆也可以算颐养天年了,此时我的心情反而趋于正常了,能够以一种平常心来看待这一切。
相信此文好友喻一定会看,而他又是最为关心我的工作,这里就介绍一下。今年的工作跟以往比变化很大,因为我也有机会风光一回,过一把做技术负责人的瘾。项目还是个游戏,这次我选择了一个之前一直觉得很高端的工作,编写服务器框架。事后证明这是一个错误的决定,这里不表。因为之前没有开发手机游戏的经验,所以只能硬着头皮上,google、github一通乱搜。先是研究一下客户端引擎,在几款流行的引擎中选了一个难度稍小、上手更快的cocos2dx,当初没有用unity,现在看来也是个错误,这里也不表了。花了几周把cocos2dx引擎的源码进行拆分,和pk分工,一个人看一部分,然后相互讲给对方听,以能听懂为原则,我认为这是最快速掌握的方式,事后证明效果还行。之后我就开始了搭建服务器的道路,在迁移现有服务器、自研C++服务器、skynet、pomelo之间纠结了很久,最后一个都没选,因为发现公司有的团队用上了nodejs写服务器,而且主程我还认识,于是抱着他们在前面领路的想法,也走了同一条路,用nodejs来写服务器,现在看来,虽然服务器已经被我完整的搭建起来了,而且效率还行,性能也不错,满足项目要求完全ok,但这无疑也是个错误的决定,面对一个未知的问题,采取一种极新的技术,当初自以为的领路人根本没起到什么帮助,在服务器搭建的初期,我痛苦了很久,这里感谢XY,要不是他我恐怕没办法坚持下来。同为nodejs服务器,我参考了pomelo的分进程思想,但内核完全不同,除了保留pomelo类似的进程名字以向这个我最初发现的nodejs游戏服务器致敬外,可以说其他几乎都不同。虽然采取nodejs来写游戏服务器在这个场景下是个错误的决定,但我还是很庆幸做了这个决定,因为nodejs真的很不错,用起来很方便,是一块非常好的积木,可以用来搭建很漂亮的建筑,顺带提一句,nodejs的团队是我见过更新迭代版本速度最快的团队了,有图为证:
当初我用的最新的版本是 0.12.2,可以看到这个团队在和 io.js 合并后几乎是以一周2个版本的速度在开发,不得不服。
在知乎看到了之前跟我通过邮件交流过的大神曾嵘回答一个问题“游戏逻辑程序员的成长出路”,很是感慨,因为发现我跟他的工作内容差不多,这里我也学模学样,列一下:
1、编写并维护服务器框架
2、编写游戏逻辑
3、客户端引擎维护(其实就是遇到引擎bug,就翻翻github上最新的releasenode,看看有没有修复,或者对比新版本代码,进行问题的确认,要么就古狗一通乱搜)
4、写项目文档(我和Z大不同的地方在于,Z大写的文档是供程序员看的,我认为公司内的文档大部分没有机会被看第二遍,我写的文档都是给外面的人看,介绍我们的项目)
5、提供持续集成构建工具(在公司现有构建链上编写 ant 脚本,用 linux shell、python、lua、js 编写项目构建脚本,没看错,就是这么多语言一起用)
6、编写技术文章和记录技术解决方法(为了开发内部能够对遇到的问题和解决方法有所了解,帮助提高大家的视野,即使那些问题不属于自己控制的范围)
7、对新来的开发进行培训(对于客户端开发我会讲解服务器技术,对于服务端开发我会介绍客户端架构,因为我一直认为只有对整个系统和问题有一个全面的了解,才能在自己那一亩三分地上做出全局更优的解)
8、组织代码审查和技术讨论(虽然次数不多,但是代码审查我还是坚持做,并进行了审查后的反馈,之前的项目一直想做,但没做起来)
9、对接sdk和运维以及渠道等部门的工作(还好最后把sdk交给春哥做了,轻松一点)
10、编写各种自动化,批处理脚本(比如策划reload工具、配置表检查转换工具、客户端打包、更新工具、图片压缩工具等等一系列生产中用到的工具链)
11、参与讨论游戏的具体功能策划方案
除了修电脑跟接网线,几乎和在创业公司干活没什么区别了。这也是目前我所在这家公司的主要技术问题表象,缺乏技术的统筹规划,做这么多工作的原因跟Z大一样,就是因为没人做,更深层次的原因就不再分析了。
虽然游戏目前还没上线,我也算从最初的idea、游戏的预研开始,到最后去北京跟渠道和老大们介绍,以及做游戏的用户调研,彻底把一个游戏从无到有做出来了,这其中的艰辛我之前是没有预想到的,回首这一年,真是感慨良多。这一年几乎每天从早上9点多工作到晚上9点多,周末还经常加班,感觉一年过了我2年时间。
工作有很多细节可以详聊,这里不展开了,本来想接着聊一聊生活,但想到自己的生活一般别人也没什么兴趣,就不占用篇幅了。
这一年,有些时候实在穷极无聊了,我也会看一看电视,看了一些功夫片,关于功夫我有些想法,经常看到武侠片里出现绝世高手,身怀上百年功力。根据我的生物学知识,一个人活100年已经很困难了,想活到几百年几乎是不可能的,而且我也从来没有见过。据说曾经有一位彭祖活了八百年,已经成为历史上的名人了。我想如果还有人能活这么长时间,肯定是一个奇迹,而且活这么长时间,人的身体机能应该衰退的无法使用了,不要说像武侠片里,看上去身体硬朗的很,我一定是不信的。那么百年功力是怎么来的呢?据我观察,武侠世界里的功力是一种可以量化和转移的东西,这就很厉害了,我可以把我的功力传给我的儿子,我儿子可以把功力传给孙子,按照愚公移山的精神,子子孙孙无穷尽也。当然,这里插一句,我不相信愚公的后辈们都愿意因为愚公这么个傻祖宗,当初拍脑袋想的一个傻愿望,就一辈子傻子似的帮忙挖山。但如果仅从理论上探讨可能性,还是可以相信世界上会存在有上百年,甚至上千年功力的人。要达成这个目标,首先要有后代,而且后代越早出生越好,并且越多越好。因为你的后代越早出生,就可以更早的开始练功,到你传功之前,他自己修炼的功力加上你传的就会更多,举例来说,如果你20岁生小孩,你孩子一出生就开始修炼,假设你能活到60岁,把功力传给你的孩子,那么你的孩子本来修炼了40年,加上你60年的功力,就有了100年的功力,你的孩子如果也这样做下去,那么到你孩子把功力传给你孙子的时候,你40岁的孙子就拥有了160年的功力,这样一直传递下去,只要中间传递的人不出意外死掉,就一定会出现上千年功力的人,这样想想是好的,如果是事实可能就没有那么有趣了。你需要生很多孩子,而且越早生越好,因为首先要保证你有孩子,还要保证你的孩子一定要修炼功力,到你60岁的时候,要从所有孩子中挑一个看上去能活到60岁的,而且一直在修炼的来传功,这其实是一件很困难的事。比较庆幸的一点是,功力至少对个人来说总不是坏的,即使我不喜欢习武,把功力传给我,也顶多是个浪费,但于我而已没有什么损失。但是,如果是愚公那种,动不动就让你一辈子挖山,这肯定是不乐意的。
说这个事情其实没有什么特别含义,只是想表达我已经到达了一个不容易被人忽悠的年龄了,看待问题更加理性了一点而已。
本文出自 “菜鸟浮出水” 博客,请务必保留此出处http://rangercyh.blog.51cto.com/1444712/1737665
标签:工作总结
原文地址:http://rangercyh.blog.51cto.com/1444712/1737665