`
noa92noa
  • 浏览: 9471 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

小小游戏程序员工作两年后的反思

 
阅读更多

小小游戏程序员工作两年后的反思
2010年06月13日
  小小游戏程序员工作两年后的反思 收藏 此文于2010-06-04被推荐到CSDN首页
  此文于2010-06-11被推荐到CSDN首页
  如何被推荐?
  小小游戏程序员工作两年后的反思
  write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 
  讨论新闻组及文件 
  这是反思,不是总结。
  原来的工作
  经过一段痛苦的毕业却没有工作的日子,我遵循了内心的选择,自学了编程。
  2008年5月7日,正式的开始了自己的程序员生活,开始做网络游戏。历经了客户端,工具,服务器,网游开发的三大模块,在各部分都轮换了一遍以后,(大概一年以后)开始选择自己真正的方向。出于当年的无知,对Windows的天生反感以及对Linux开源,自由的推崇,尽管总监警告过我,服务器端相比客户端是多么的无聊,完全没有图形,能依赖的只有日志,但是我最后还是选择了在服务器端工作,但是仅仅经过不久,就发现服务器并不是我喜欢的东西。再加上一系列的以前描述过的原因,我离开了原公司。(见《小小游戏程序员工作一年加九个月后的工作总结 》)因为我知道,我要做的是真的游戏。
  虽然,回过头来想想,天哪,每周周六正常上班,每天晚上都加班,没有8,9点几乎不可能下班,碰到维护服务器早上6,7点我还需要来以防出现意外,最严重的时候,周日,节假日都统统需要为工作让道,并且这些都还没有任何额外补偿的公司,(节假日,周日加班在极低的概率下有补偿,那还得看老板的心情而定,根本没有成为规则)那不是与血汗工厂没有区别了吗?就剥削的程度来说,我想是的,那就是血汗工厂,我在的时候也没有少抱怨过那样残酷的工作制度,网上我甚至还看到对原公司的评价是包身工工作制度一样的公司。那时,机箱都是用铁盒子锁起来的, 头上都是到处有摄像头的,你的开发电脑都是不能上网的,你见过这样的IT公司?开发网络游戏的?
  但是,那里也有我喜欢的地方。同事都非常好相处,每天与他们在一起的时间是最多的,一起吃中饭,一起吃晚饭,有的时候,还需要一起吃早饭,我们无所不聊,即便我离开了那里,我们还是保持联系,并且,他们也愿意坐一小时的地铁,然后跑到我家来一起做一顿丰盛的晚餐。总监对我也很好,曾私下带我与女朋友去吃饭,多次劝我好好工作,耐心工作,以帮助公司发展,真的要走了,也没有翻脸,还是请我吃了餐饭,为我送行,甚至,在我找工作的时候,还为我推荐工作。主管技术的副总对我也很好,平时给了我很多鼓励,虽然他总是将公司的利益看的重于所有员工的利益,总是认为我将技术看的太重,告诉我重要的是能做出好的产品,在我搬家的时候,却用他的车叫司机帮我搬家。这些我现在想起来还非常感动。是的,那时候公司是如此的小,小到同时只进行一个项目,所以大家都那么熟,平时的沟通很多,工作也很开心。总监对我技术上的帮助也很多,我自己在每天中午吃饭的一小时看书,在来回公司的路上看书,在每天下班后剩下的时间看书,每天都在透支自己的生命,但是,同时,我也在成长,与当年自学了点C++就出来找工作的愣头青不一样了,我干着我自己喜欢的工作,很高兴的自称为程序员,那时,我是快乐的,
  2008年总结 
  一个半月 
  一年半&第一份工作总结 
  一年总结 
  八个月总结 
  四个月总结 
  工作一年加九个月后总结 
  无论哪个总结都能看出来,我虽然辛苦,但是我是快乐的。
  新的工作
  离职后休息并学习了1个月,然后才开始找工作了。原来的刻苦肯定是没有白费的,我中途面试了4,5家公司,每一家最后都提供了offer,最后选择了Gameloft北京, 公司很大,不仅面积大,人也多,在中国电子大厦独占两层楼,(BTW:中国电子大厦那个楼真的很不错)对我来说,这是一个崭新的环境,从一个小天地,到一个大世界,最最让我高兴的是,新公司还是我想要的,做手机游戏的公司,并且,虽然很多人指责Gameloft抄袭创意,山寨经典,但是Gameloft做手机游戏的实力,毋庸置疑。每次看到网上很多关于自己公司的新闻,都使用世界著名移动平台游戏制造商的称呼的时候我都自豪不已。呵呵,我原来在世界著名的公司工作啊。。。。。。
  相比原公司整个公司倾力于一个项目,到现在的公司同时并行无数个项目。新公司也有相对人性制度,不会周六让你上班还算正常了,晚上加班也不会强制了,(虽然的确有很多人常常还在),平时可以随便上网了(虽然网络很破),摄像头也真的是用于防盗了(不对着我们,只对着路),工作环境轻松了。使用的技术也更加先进了,对我作为程序的我来说,回过头来看看,原公司花费了1年半时间开发的那个所谓的2D回合制Q版网游是个多么稚嫩的产品,使用的技术是多么的古老。(事实上,原公司是做IM起家的,对程序的模块划分解耦,视频技术的应用,服务器的负载,网络层的设计上还是非常优秀的,但是游戏本身也就只能算是开源产品的拼凑而已了) 公司常有的项目总结或者培训还会让你感觉自己一直走在世界上开发手机游戏的最前列,培训上的主讲也会让你看到,他们的工作是有多么开心的,他们对工作充满了激情。就在前段时间,公司还在北京一个很豪华的假日酒店开了年会,(我竟然什么奖都没有抽到,相当的悲剧)我看到了那么多人,在公司,呆上6,7年,将自己年轻时的全部黄金时光完全投入在公司的发展上,而且活的还很快乐,很快乐,不仅仅有程序,还有策划,测试。公司的回顾短片,展示了公司辉煌的历史,公司有很多优秀的产品,与很多著名的电影公司有着合作,走在娱乐潮流的顶端,并且发展迅速,这让每个人在此工作的人都能油然而生一种自豪感。虽然,我们也会调侃公司发版本时的"法国时间",但是很明显,这是一个能够让人开心的公司。
  我一进公司,做的就是IPhone项目,(我很喜欢)并且,我们项目的程序leader技术实力很强,producer人很好,项目中的每个同事都很友好,并且经验丰富。因此,我们项目能要到多出实际需求的人数,能够很好的完成所有GD的需求,并且很少,很少加班,甚至,常常上班的时候无事可做,以至于需要自己去向leader要事情做,到了再后来,要事情都很难要到,每天的主要工作就是上上网,看看新闻!这是很多人梦寐以求的工作!(抱歉此段鸟语过多,不过在公司我们的确就是这样说的)
  不是我要的工作
  但是,这样的工作让我快乐不起来了,这不是我要的工作。
  我不希望这样工作下去。我是程序员,在公司,我有的时候甚至怀疑这点,因为我有的时候一天过来上班,就是上上网,看看新闻,似乎是顺面敲几行代码,这不是一个程序员应该做的工作。因为这种惯性。在最开始的时候,我还能保持在家中的学习,再后来我回到家中,都不像以前那样学习到深夜了,往往也就是无聊的看些东西,打发下时间,然后睡觉。因为这个原因,我的博客在整整的2010年5月都没有一篇文章发布。古人云,"由俭入奢易,由奢入俭难"。其实又何止奢侈如此,一般而言,坏毛病都是容易犯,却难以改的,懒惰算是其中最为突出的了。我不希望这样继续懒惰下去。
  当然,懒惰是主观的,事实上工作轻松也是可以促成学习的,某种程度上来说,是的,刚来公司的时候,有一个事情我印象特别深刻,在原公司,我利用业余时间学习了Python,要知道,原来的业余时间可不多,没有人如我般拼命,于是,当原公司准备做一个与Python相关的东西的时候,只有我能做(还有个同事现学),那时候我是公司唯一一个稍微懂点Python的人。而新公司呢?会用Python是习以为常的,除了刚毕业就来的,以前在公司的同时几乎都会,并且项目中几乎使用Python作为工具开发的不二之选,有用Python解析xls文件生成配置的,有用WxPython来做xml相关配置工具的,也有用Python做复杂批处理应用的。这样Python的使用及掌握情况差异的形成,我认为原公司的过度压榨与新公司的较宽松工作环境有关,没有业余时间,哪有时间去学习自己感兴趣的东西或者流行的新技术?这点,我是很喜欢新的公司,新的工作环境的。我也很感激新公司让我了解了为啥在中国人们都希望进外企。。。。。。。。
  但是,假如环境太容易造成一个人懒惰,我不认为自己可以如圣人般超脱。简单的说,原来的公司,虽然也是宽敞的大办公室,然后所有人挤在一起,但是起码还是有隔间的,还能维护一下自己起码的隐私,然后,在没有工作的时候,大家看看书,也是很正常的,但是新公司不一样,都是如网吧般的平桌,没有一点遮挡,完全无隐私可言,当然,在公司谈及隐私是很夸张的没有意义,但是,不得不说,这样太过开放的环境会促使人们交流(说的好听点),因为你的一举一动,你说的每一句话,都可能有一堆人看着,听着。并且,在原公司,你有真正的没有事情做的时候,比如手头的任务都完成了,并且没有分配新的任务的时候,比如等GD设计方案的时候,这时候你都可以干自己想干的事情,但是在新公司,你永远也不会有这样的时候,因为一条原则在这里,你没有事情的时候,多跑跑关(也就是多玩玩自己的游戏),然后报告发现的问题。这也是一个很大的差异,原来的公司有完整的软件开发流程,完整的软件开发队伍,我们不需要程序员自己去"跑关",有一组测试在做这个工作,而在新公司,开发阶段是没有测试的,你自己就是测试,你永远有个附加任务,那就是跑关!
  这样的环境对学习是有害的,你没有工作的时候发现同事都没有工作,然后你开始学习,再然后,同事像走马灯一样来参观你看的书,我就不知道为啥大家都那么有兴趣,也许在一个没有人看书的环境中,看书也是一个很奇怪的事情吧。同事们轻则走到背后观望一段时间,中则询问,"嘿,看什么呢?"重则强行翻过书皮,看看封面。这样的环境太开放了。。。。。不仅仅是程序,有的GD都会过来看一眼,因为在大部分人心中,看书嘛,都是娱乐书籍,大家应该共同娱乐一下,学习那是很稀少的。再说了,如前面描述的,你其实永远都没有真正没有任务的时候,(再没有事情还要跑关嘛),你在上班时间自己看书,似乎都不是合理的事情。
  这绝对不是个学习型的环境,无论有多么多的培训或项目总结,都不能改变这一点。说实话,我在原公司看书的时候,印象中只有在中午吃饭的时候碰到过那么很少的几次,有很熟悉的同事过来问,最近又学什么呢?平时的时候大家都呆在自己的位置上忙着呢,谁有功夫管你看什么书啊?!但是新公司不一样,平时大家走动走动那是太正常不过了。。。。(也许与我正好坐在这一块唯一的饮水机对面有关吧,所以感受最为深刻)
  再说回来,就算不能看书,除了一遍一遍的"跑关"外,其实还可以干很多有意义的事情,比如看看有用的源代码,同事还有使用看电子文档的方式学习,可能也会稍微好一些,但是,这改变不了这不是一个很好的上班时学习的环境的事实,尽管很多时候的确没有事做。于是,慢慢的,也会发现同事们都在干什么,那就是上网呗,上班时间,经常有某人看到某条新鲜新闻然后群发,再然后集体展开讨论的,经常有某人看到某新鲜有趣的视频,然后群发,再然后大家一起发表议论的。结果是我来新公司后,几乎放弃了在公司学习的习惯,包括以前保持了一年半的午餐一小时学习习惯都放弃了,并且开始在Google Reader中添加一个又一个新鲜有趣的seed,作为上班时间打发时间的必备工具!异常的悲哀!
  在这里,我总是能最先了解到新的IPhone OS的发布,了解到apple的新的产品的发布(比如IPad),了解到jobs又有什么有趣的言论,了解到IPhone上又有什么有趣的游戏发布了。(很多时候我们自己公司出了个新游戏也是很值得讨论的)
  就算工作时不能学习,很多工作本身就是可以让人很受益的,但是可惜的是,我在公司没有太多这样的工作,都是一些小的模块开发,任务很少,常常没有事做,并且,因为没有跟组测试,没有代码的review,再加上本身代码设计上的问题,美术提交的动画资源,GD提交的配置文件,都可以使的编译无法通过(为了追求效率,都是使用生成宏来做ID的办法处理资源及配置,并且开发期都没有其他方案)大家提交代码都非常自由并且破坏性巨大,一个早上都没有正常的将游戏跑起来那是再正常不过的事情了,一组人等一个美术资源也很正常,一个美术资源做好后修改的是很关键的N个头文件的宏,然后引发10~20分钟的重编也是很正常的。(公司的机器极其老化,也不肯换,使得时间更长)这种情况进一步的促使了大家的无聊时间的增长,于是我们对更多的娱乐行业的内部有了很多的深刻了解。然后因为底层的代码改动,因为优化而修改了一些特性,甚至因为底层修改,优化本身的Bug,都会使得你的代码无法正常工作,于是乎,你就开始了debug生涯,当一层一层debug下去,你发现原来根本就不是你的问题,而是很深层次的原因,并且这样反复几次以后,估计很难有人能够泰然处之,不过,在这里,你就是得习惯这些。我做的好几个东西,我都不知道来回修改了多少次,而本身根本就不是他们本身的原因。而在某个东西改变后,将所有的东西都改一次的事情也不是那么少有发生。这样的时间的浪费,我可以安慰自己我是拿钱做事,但是我深深的痛恨!当然,开发效率就别提能够有多高了。
  开发的东西越少,你能从工作中学到的东西也就越少,这是毋庸置疑的。半年来,我真正负责的一个大模块就是游戏界面的一部分UI,本来这是个多么无聊枯燥的工作啊,公司做了无数项目了,但是没有一个UI库,除了文字和按钮外没有任何有实际价值的控件可用,为了这个UI,我设计了一套以Json格式为配置的UI,不仅包括了UI本身的固定信息,还包含了一套以Json为基础的关键帧动画以配合复杂的UI工作,这也是我真正的从工作中学到很多东西的地方。从这个工作,我也真实的感受到了配置使用方便时的强大,所以我后来多次对orx的不成熟感到非常郁闷,但是却一直持续的学习着。(orx 是以配置为基础的2D游戏引擎:http://orx-project.org/)
  这样的环境对于学习时不好的,其实对于工作也是有害的,你没有工作的时候同事也没有工作,OK,你们可以聊天,谈论技术,谈论半天,没有人管你。当你有工作的时候,同事却没有工作,但是他们还是老是来找你聊天,那你就受不了了,在我们这里一般的做法是,"你先别吵,我现在很忙"。。。。。。。。。同样的,只要同事没有工作,那么,你总是有很多干扰源的,因为,他们互相之间也可以聊天的。。。。。。BTW:在公司在楼道中新装了很多号称让我们了解行业新技术,娱乐行业新动态的大屏幕后,公司的噪音又多了不少。其实,我们从来不缺对行业新技术和对游戏行业的新动态的了解,因为我们的很多时间就花在上班,我们最缺的是一个稍微安静点的工作环境。
  再说回来,就算上班时间不能看书学习,(事实上,上班时间也不是用来安排看书学习的)还可以回家学嘛,是的,比起在原公司每天加班到8,9点才下班,回到家起码10点多的情况,这边一般都能准点下班,回家学习的机会还是多的多的,这点我也很认同。但是对于我来说,很残酷的是,工作很轻松,但是无法学习,培养了懒惰的习惯,起码来说,即使工作很忙,我起码也能在很忙的工作中学习(工作本身就是一种经验的积累),但是我不忙,我做的事情很少,我同时还不能自己看书学习,那就等于浪费时间!当浪费时间成为习惯以后,我在家里也经常开始浪费时间了,这种趋势很恐怖,但是我却无法阻止。(其实其中还有些个人因素,比如搬家后,上班耗时比以前多的多)
  最后,我找到了阻止自己进一步堕落的办法,那就是离职。
  未来会怎么样?我不知道,我只知道,我应该遵循自己内心的声音,去做我自己应该做的事情。不然我永远也没有办法快乐起来。
  -------------------------------------------------- --------------------------------------------------- ----------------------
  最后,还是稍微的总结一下。
  当然,这半年怎么也不会是完全浪费的,尽管在我眼里,我浪费了很多时间。
  首先,我开始真的全身心的做游戏的客户端,这是与服务器有很大的不同的地方,服务器经常尽量保持各模块本身状态的稳定,数据进,数据出,然后再和数据库打打交道,也就这样了,客户端开发不是,写一个简单的switch分离的状态机那简直是每个逻辑独立物体的常态,不管多么简单。
  我开始了解客户端需要的东西,各个模块之间的组合,2D动画方面的了解个人感觉是更加深刻了,对新公司在2D动画方面的技术是非常的佩服,使得一般的开源引擎技术看起来是那么的稚嫩。在工作的过程中,也去了解了一些开源的2D游戏引擎,并通读了它们的源代码。比如HGE,LOVE等,并且还看了一下SDL这个底层的库。不再像以前那样光学过OpenGL却不知道怎么将其使用起来了。
  因为做的是3D动作类游戏,我也使用了一些原来自学的一些简单的3D数学知识,很多数学知识光学不用还真不知道该在什么时候使用。并且了解了Irrlicht的使用。
  因为新的工作是做IPhone开发,让我对IPhone平台的开发很有兴趣,自己买了MacBook作为开发环境,买了IPod touch,IPad作为测试机器,方便自己在家学习,让我了解了XCode并且学习了Objective C + Cocoa。(在公司虽然是做IPhone开发,但是其实较难接触到IPhone平台,因为引擎是做好的,我们都是用C++在WIndows下开发)
  -------------------------------------------------- --------------------------------------------------- -----------------------
  这篇文章夸张的成为了本人访问量最高,评论最多的文章。。。。。。。。。。。。。。。
  在最后,为自己辩护一下,也为gameloft辩护一下。  
  Gameloft的工作环境可能会是很多人梦寐以求的,轻松无压力(起码我的项目是这样,不过据说其他项目很恐怖),只是不适合我。
  也许我将一部分自己控制力差的导致的问题,都归咎于公司的环境了,在原来的公司,我在地铁上,公车上看书,在Gameloft后,我在地铁上,公车上玩Ipod touch,在原来的公司,我在睡觉前看书,在Gameloft后,我躺在床上用Ipad看Friends,这些,其实都不能怪Gameloft,纯粹是自己的原因。而且,我在Gameloft仅仅经历了一个项目,整个公司的实际情况其实并不一定这样,很多项目据说忙的要死。
  作为补充材料:《北京智乐软件有限公司怪谈 集锦(节选)(上) 》(上面有中,下的链接),作者的文笔非常优美,虽然在某种程度上夸大了Gameloft的问题。
  我是看过了此文后,还进了Gameloft的,事实证明,根本没有那么夸张。
  另外兴趣是最重要的,没有兴趣,做什么都会很郁闷。工作在一个人生命中会占据很大一部分时间,所以,不要停止寻找你认为感兴趣的工作。推荐所有的人都去看看 jobs在斯坦福大学毕业典礼上的演讲。
  "
  I'm convinced that the only thing that kept me going was that I loved what I did.
  我坚信让我一往无前的唯一力量就是我热爱我所做的一切
  You've got to find what you love, and that is as true for work as it is for your lovers.
  所以,一定得知道自己喜欢什么,选择爱人时如此,选择工作时同样如此 
  Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work, and the only way to do great work is to love what you do.
  工作将是生活中的一大部分,让自己真正满意的唯一办法,是做自己认为有意义的工作。做有意义的工作的唯一办法,是热爱自己的工作
  If you haven't found it yet, keep looking, and don't settle.
  你们如果还没有发现自己喜欢什么,那就不断地去寻找,不要祈求安逸 
  "
  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/vagrxie/archive/2010/06/04/56 46415.aspx
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics