工作三周

  上月底,经历了两个月的求职,我如愿以偿地成为了一名职业游戏程序员。如今入职也有三周了。虽然试用期长达六个月,但记得某篇讲述程序员职场的文章写道,公司应在三周内判断一个新程序员是否能干活。因此我想也是时候小结一下。

 

  从学生时代跨入上班阶段,最难适应的可能是作息时间。其实公司的工作时间安排是很合理的:每天9:30——18:30八小时工作制(午休一小时);平常也很少加班,只是最近赶上要交付产品,项目组才决定这两个月多加点班,但也只是晚上加到20:30,周六再加一天。不过郁闷的是,我从大三起就过着作息时间不规律的生活,且有午休习惯,每次午休时间还特别长——这种生活持续了近六年。所以这三周里,我经常到下午三四点的时候就撑不住,趴桌上睡着了。直到前几天被领导提醒了下,才下决心改掉不良的作息习惯。这几天每天都争取在12点前睡觉,早上6点半或7点起;中午打盹15分钟,用手机闹钟控制打盹时间,且打盹期间控制住思绪,什么都不想。效果还比较明显,至少被领导提醒之后,这几天再没出现上班时间撑不住趴桌上睡觉的情况。

 

  工作和技术上一开始心理压力挺大,因为我完全没有游戏开发的经验,也没学过图形学,唯一能派上用场的可能就是自己的C++技术。不过领导们都说这完全不是问题,要我慢慢做。左哥还一直跟我强调两点:一是技术不是壁垒,时间花下去总能掌握,悟性和态度才是关键;二是游戏逻辑才是整个产品的核心,很多优化工作是否能成功,更大程度上取决于程序员对逻辑的把握,而非对底层某些技术细节的理解有多精通——其实我读研期间做高性能计算时对此也深有体会。老大还要我多玩玩游戏(这是我有史以来听到的最贴心的建议T_T),尤其是网游。根据他多年的经验,他觉得玩游戏的游戏程序员和不玩游戏的游戏程序员的发展道路会很不一样,前者做出来的游戏就是比后者的要好、要稳定。于是我昨天也开始了人生第一次正儿八经地玩网游。

 

  接下来的工作的确也让我宽心了一些。大家给我分派了一些优先级较低又比较好上手的BUG,让我通过修简单的BUG来熟悉整个产品和工作流程,并且熟悉各种工具的使用。第一周我只接到了一个BUG,花了四天时间才发现只是数据的问题——一些武器装备的属性没设置好,而非程序的问题。不过第二周,Leader朱哥就跟大家说:上周大家给zz翔的分配太温柔了,再适当用力些,他可以的。我囧rz……于是BUG如滚滚长江东流水般涌到我这来,一下子激增到30多个。

 

  不过大部分的BUG还是比较简单的,并且基本是在UI上。以前就听说过游戏程序员刚入行时往往会从UI上手,现在看来确实如此。一般对于这种BUG,可以从相关的UI标识入手,在代码中搜到相应的位置,然后根据UI的构造和事件处理函数,就能一步一步跟踪下去,摸清相关的逻辑,甚至可以深入到服务端。刚开始跟到服务端那边有些摸不着头脑,因为服务端好像是基于一种更复杂的事件机制,层层封装;而产品的代码又实在很庞大很复杂,不仅连引擎都包含了,甚至连诸如字符串之类的基础设施都是自己写的。后来发现其实没必要跟得那么深。基础设施的代码一般是比较稳定的,而公司的代码又很规范(对于没什么经验的我来说,算是我见过最漂亮的产品代码了),因此一旦跟踪到事件的时候,只要根据事件名称搜代码,找到相应的事件处理函数就可以了。于是第二周便能修复两三个BUG,其中一个还是严重BUG。到了第三周(也就是上周),基本就能一天修一个BUG,甚至一天修两个BUG,现在对于某些功能点的逻辑也比较清楚了,而对此我几乎不需要看什么文档——好的代码本身就是文档。

 

  由此可见代码的可维护性是多么重要,好的代码能让一个新人迅速上手维护。说起来在这里也终于见识到了好些学生时代只是听闻过的软件工程事项。印象最深的就是BUG管理。以前也想过这方面的问题,但是一直不知道怎样付诸实施。入职后跟着项目组用Quality Center管理BUG,最近又迁移到Mantis上,感觉真是非常方便。还有就是构建时间——客户端和服务端的Debug和Release版全部构建完需要半个多小时。听左哥说以前曾经大量使用了Boost,那时构建时间还要长一倍,后来基本上只在智能指针上用Boost。一开始没经验,频繁从代码库上更新,每次更新完又重新构建,结果一半的上班时间都在等构建。后来就只在午饭、下班时间或者其他人有重要提交的时候才更新,或者选择性地更新,这样就省了很多时间,基本不影响自己的工作。诸如代码(尤其是服务端代码)中经常能见到的设计模式,还有版本控制之类的事项,就更不用多说了。当然这些都是 “周边” 事项,最核心的还是项目产品作为一款大型网游在技术上的架构设计,这也是我最感兴趣的东西——当然,这可能需要好几年的积淀才能掌握得了。总之感觉这里面是一片天地,有很多可供我玩耍的东西:-D。这时我也更加相信自己当初选择的offer是正确的。对于在技术上有追求的程序员,如果能加盟一家技术性的公司,进入商业领域,参与一款工业级产品的开发,那一定是非常快乐的事情。

 

  公司的同事都很不错,没什么架子。大家也很乐意帮助我这个组里唯一的新手。一般遇到问题的时候,我都是遵循先摸,再搜,最后才问的原则,尽量不打扰周围正在写程序的同事,或尽量只在他们不忙或者午饭的时候才问,问问题的时候也尽量客气。不过后来大家都说我太客气了Orz,左哥也多次跟我说有问题要及时问。因此我后来也稍微放开了点,没那么拘谨,呵呵。不过我还是明白的,这里的人都是我的前辈,而且绝大多数都是有好多年工作经验的人。

 

  下周起就要晚上也加班了,为项目收尾而冲刺。就连我这个新人手头也被分了几个重要的BUG。希望我能继续进步,搞定它们,不要辜负Leader们对我的信任。^^Y

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值