2014年终总结

2015-01-01

游戏发了,成绩只能说很一般,对不起老大的期望,也对不起自己辛苦一年的努力。只是尽到自己最后一份责任,坚持到游戏可以发布才离开。

我说要给自己3个月的时间思考一下人生,然后祼辞了。2014年的4月1号正好是愚人节,拿自己开了个玩笑呢。

4月到7月的这三个月大概是很不一样的人生经历,没有工作,做自己一直想做的游戏。想了很多事,也看到了一个人能力是多么地有限。

然后就找工作了,本来打算选择武汉一个很小很小的有点理想主义的团队的,最后没谈成,于是来了广州。记得第一次公司大会上发言,大家都侃侃而谈,我讲为什么选择来这里了,第一是跟着自己内心走,第二是创造价值。相比于android小游戏,我还是觉得自己更适合做后端的。即使待遇降一截,也毅然选择离开。觉得这里是最需要我,自己的技术在这里最能够转化为价值,我要让这家公司成长。


先说说公司的事情。

在刚来公司的十多天里,经过自己的性能调优,把最核心的dsp业务CPU使用率降到了原来的53%。这大概是今年最值得炫耀的成绩,因为刚进公司,面对一个完全没接触过的系统,能在很短的时间熟习架构,理解代码并找到性能热点,感觉还是蛮骄傲的。

另一项主要成绩是推动公司的SSD化。cookiemapping的存储是这边比较有挑战的一项。数据量很大,对响应时间要求又非常苛刻。在我来之前公司是用了大量的redis实例,做了分库和业务层的一致性哈希。一方面是存储成本很高(T级别的内存),另一方面是可用性和维护上都很疼。所以我调研了SSD的可行性,选择了刚刚开源的aerospike数据库。经过一路踩坑,总算把这项工作推动起来。

做了一些业务层的事情,比如做渠道对接,比如做tagmanager项目。业务太忙,人手不足,甘当螺丝钉。倒没什么技术方面的挑战,都是些别人封装好或者CURD的活。做业务也是熟习系统的过程,只是我个人相对来说还是更适合性能调优和基础架构方面底层一点的事情,这样才会发挥最大化价值。

也有些做得不好的地方,像频次数据库的调研就是以失败告终的。想看一下我们的频次数据库能不能迁移到aerospike,发现由于不支持批量写,又没有pipeline,没法满足这个业务场景。分布式下的批量写还真是一个很纠结的点呢~还有就是时间把控,工程效率不够。做程序和做工程是不同的,工程师以效率导向,讲究最有效地把事情搞定。而程序员总是有一种心理障碍,喜欢跟有挑战的技术问题死磕,追寻技术上最好的方案而不是实现最快的方案。对比一下,上家公司我老大是一个优秀的程序员,而这家公司里老大是一个优秀(糟糕的)的工程师(程序员)。

回头来看还是挺理想主义的。

找工作时,我判定这是一家快速成长中的公司,每天近百亿的请求量,业务快糙猛,对应于基础设施却非常不完善,很多东西还很原始。每家公司从小做大都会经历这个过程,所以正需要我来完成这个成长,这里会有很好的发挥空间。但是我忽略了,公司文化是由最初的几个人决定的,后面则是什么样的文化就会聚到什么样的人。这里是业务驱动的,丝毫找看不到技术驱动的迹象。举个例子,老大对于底层改别人的开源代码特别保守,缺乏那种自信。

但是很多时候直接拿一些开源的轮子又满足不了需求,业务又发展逼着系统必须更强大,怎么办?这种背景下,很多事情做起来就束手束脚了。得不到上面的肯定放手去做,或者做了一些东西却被判定引入风险太大不予采用。玩个毛线!还拿着码畜的钱操着架构师的心。

我还是坚持着,想起以前看的某篇博客写“做正确的事情,等着被开”。既然在这里,我就是公司文化的一部分,如果它还没达到我认同的正确,我就要朝正确的方向努力。我还是记得自己来的使命,是想帮助它成长才来这里的。


说完公司说自己。

开源项目方面,除了三个多月里专心在做自己的游戏,今年好像很少做个人的项目。顶多就是工作中用到别人库,发现bug了去提下issue之类的,少量时候很简单改动就直接提个pr。

go-internals也几乎没在更新,但是能明显感觉到Go语言本身增长的力量,Star都快300了呢。有时候收到pr,有人关注,还真是受宠若惊地呢。Go的发展很快,编译器都到1.4了,而我写这个项目的时候还是1.0到1.1,很多东西都过时了。过一阵子我要继续完善这边,毕竟上次已经立帖为证了,必须维护下去的。

下一步打算继续把grt整一整,这个属于挖了坑还没填的。计划引入scheme做脚本层,虽然已经偏离最初的plan9的libthread,但我还是很明白它应该是做成什么样子的。

今年读书特别少,不光是技术类的书箱,其它书箱也没怎么读。没有像去年那样每天10点到12点几乎固定的投入到读书。要说今年真正读了一点的,大概就只有《Linux/UNIX系统编程手册》。听说评价不亚于APUE,所以就翻了一下。真心不错,对得起这评价。很详细很全面,覆盖了APUE没涉及的很多方面。不过是挑着看的,因为大多都内容知道,还没通读完。

现在真正的成了一名后端工程师,做的东西还算比较喜欢啦,环境倒不算束缚了自己的发展。总体上说进步太慢了。想起skynet群里说过,其实越是号称什么高并发的东西,逻辑越简单。相对于做游戏,web业务低了一个门槛。游戏那边更容易直接接触底层,逻辑和算法方面也复杂很多,所以更锻炼人一些。


未来。暂时不知道下一步计划了。游戏放下后整个人都空虚了。仿佛信仰在坍塌。

没有了目标就失去了方向,理想太遥远。

现在已经在一份新的工作中了,暂时没什么特别的想法,先干着吧,创造价值。如果有下一次做选择,估计只认钱了,经历了太多事情,变得没有信仰了。似乎是认同了,我就是颗螺丝钉,不是在做伟大的产品,也不是改变世界,我做的事情谁都可以替代。领着微薄的薪水,打一份工。

以前,Too young, too naive.

年终总结