本期“对话CTO”采访的嘉宾是来自蓝港在线的陈敏和张宏亮。蓝港在线从2007年3月成立至今已经有6年,最初以自运营加代理的方式进入到网游市场,目前游戏业务已经涉及到客户端游戏、网页游戏及手机游戏各个方面。去年推出的手机横版动作游戏《王者之剑》目前已经上线运营。
陈敏在2008年加入蓝港在线,一直从事技术研发工作,刚加入蓝港时负责一款3D的MMO动作类游戏。在去年开始向手游方向转变,目前是蓝港在线手游的技术负责人。
张宏亮同样是在2008年加入蓝港,开始时是负责客户端游戏,随着市场的变化,他又开始负责网页游戏的业务。目前是同时关注页游及手游两个方面,除了技术方面的工作之外,他也负责一些公司管理方面的事情。
本次采访中,两位给我们分享了蓝港在线在技术、团队、管理及人才方面的一些经验。
以下为本次采访的精彩实录:
技术人转变之路:管理岗位更注重人才培养
CSDN:两位在加入蓝港之后,工作重心逐渐从技术研发转到管理的方向上,两位能不能谈谈是如何完成角色转变的?
陈敏:两年前,我个人工作主要集中在技术方面,比如在项目或产品研发过程中解决技术难题。后来随着市场发生变化,尤其是近年移动互联网兴起,市面上高端技术人才比较稀缺。对于蓝港来说,只能通过招来的开发经验的人将他们培养成,或者让他们转换成移动游戏开发人才。在这个期间如果他的经验不足,或者说他个人无法承担某一方面工作,我们不可能等有现成的人才再加入。在这个过程中,我逐渐发现培训和培养程序员,变成工作中越来越重要的事情。当不停的有新人加入时,对我个人来说,面对面的教导变得越来越难。所以,我们就考虑把工作重心转移,改变以往的策略方式,逐渐开始关注人才培养和管理工作。这是我慢慢走向管理岗位的过程。
张宏亮:在之前关注技术方向时,个人比较注重的是自己的技术要在公司或同事中做到最好。但转到管理之后,发现自己技术最好并不是最重要的,最重要是怎么能把个人优势转换成团队战斗力,方法就是把自己的经验分享给大家。以前在做技术职位的时候,是把自己的事情做好最重要。但是做了技术管理以后,把计划安排好,比做完个人工作要远远重要,因为方向性的错误可能意味着最大的错误。
CTO的一天
CSDN:两位能不能谈你们典型的一天是怎么度过的?
张宏亮:因为我们走的是敏捷开发,所以每天早上我们先会有一个技术人员的敏捷开发晨会。我们会花将近半个小时去沟通昨天的进展以及今天的重要任务、计划。这个之后,偶尔也会有人再提一下遇到的问题,还有心得分享。我们利用晨会一是起沟通作用,另外也起到经验分享作用。
晨会之后,我会根据晨会发现的问题去做更细致的跟踪。因为晨会上我们的问题不会讲得过分细致,顶多定一下解决方案。如果是沟通问题,尤其一些跨组的问题,我会去协调一下各组之间的工作安排,还有优先级。把这些问题解决完了以后,会跟项目里面比较重要的负责人、牵头技术岗位的人,再制订一下今天或者这一周最重要的技术攻关。
中午会去看一下专业的媒体,包括上CSDN网站,跟踪一下业内最主流的技术趋势。还有一些专门的游戏网站,去看一下当前的游戏产品趋势。这主要是对技术还有对产品保持跟踪。
下午可能主要是公司级的事情,包括跟HR的同事定招聘计划。因为我们招聘力度比较大,经常会参加一些招聘。另外我们蓝港也有自己的培训体系,我会参加一些技术讲座,包括新员工的讲座。
剩下的,因为公司同时在开发多款游戏,牵扯到很多技术领域,我们会参与新项目的立项,立项主要涉及到技术选型,具体用哪种技术,会参与做最终的决策。另外项目会有一些中期的进展,我们每隔一段时期,会把各个项目进展情况拿出来晒一下,看看进展顺不顺利,有哪些问题,这个方向对不对。这是下午主要做的一些事情。
关于蓝港:轻量化开发模式保持竞争力
CSDN:两位能不能谈谈目前蓝港技术团队的结构是什么样子?
陈敏:现在公司采用的机制是按项目来分为事业部,其它的支撑平台围绕事业部。比如说像宏亮所在的这款手机游戏和页游结合的是一个事业部。我们纯动作的手机游戏是另外一个事业部,以及端游运营事业部及页游事业部等。
技术人才散布在各个事业部中间,他们都由各自的技术负责人在带领。其它的还有自己开发的游戏运营平台、运维部也有各自的技术负责人。程序开发人员的需求是非常广泛的。截止去年年底,公司大概有两百位以上的纯技术研发人员。
CSDN:蓝港可以说是国内在线游戏技术型公司,你刚才提到了一些优势,还有没有其他的一些优势?
张宏亮:如果跟业内比较大型的游戏公司来比,我们是一种比较轻量化的开发模式,始终能跟踪游戏开发最热的趋势,能快速的去转型,来跟上潮流。不像一些传统的大型端游公司,他们由于人员结构冗余的问题导致转型动作比较慢。而蓝港都是比较轻量化的开发,一般的项目组多则30人,少则20人。比起他们项目组一百多人甚至两百多人的开发来讲,我们项目花在协调上的时间会更短,所以项目的沟通成本更低。并且我们做的一些题材,也都是一些比较流行的轻量化的东西,所以我们能比他们更快的推出自己的产品。
CSDN:蓝港的策划人员团队结构大概是什么样子的?是什么样的组成?
张宏亮:蓝港策划团队跟程序团队是一样的,以一个项目为主。每个项目里配5到10个策划,来具体跟踪某个项目,也是跟程序一起,就是在一起合作。直到一款产品做完以后,做下一款产品,一帮人又组到一起,以项目制来进行开发。
开源工具使用:Unity 3D跨平台优势突出
CSDN:您能不能介绍下开发不同平台的游戏,现在使用的开源的工具有哪些及非开源的工具有哪些?
张宏亮:我们公司开发的游戏分为客户端游戏、网页游戏还有手机游戏三种。
在客户端游戏方面,主要是用C++开发,所以会用到一些像STL库、FreeType字体,还有Berkeley DB和MySQL这种数据库系统。
在网页游戏这块,我们用到了标准CSS3技术,PHP还有Flash这种常规的开发工具以及Eclipse这种IDE。
手游这块,因为我们公司重点做Unity相关的开发,用到的最重要的工具是Unity 3D,他在优势是跨平台,无论做网页游戏,或做手机游戏,用到的技术和资源都是一样的。
CSDN:那你们选择Unity3D最主要的原因是什么?当时为什么没有考虑用其它的工具?
陈敏:因为Unity 3D一开始的定位是3D游戏,所以说我们首选3D引擎。另外我们公司最早的定位,是希望产品上线以后可以跨平台,而能方便跨平台的引擎当时也不多。Unity无论是从性价比,还是从上手的难易程度上都是一个最理想的产品,所以当时选择了Unity 3D,而且它能快速的帮我们开发出游戏原型。另外它是由一个比较专业的第三方公司开发,后续支持和更新都很到位。
CSDN:对于在蓝港使用的这些技术和工具,你们觉得在哪些方面有瓶颈?包括现在对开发的各个平台上的游戏,瓶颈在什么地方,或者挑战在什么地方?
陈敏:我们现在用Unity 3D开发的产品已经上线了,在这个过程中发现的问题首先是兼容性问题。因为国内Android市场的各种手机层出不穷,存在各种高中低端手机。虽然Unity 3D是做得相当不错的开发工具,但是由于他们是在国外开发的,他们的机型适配没有我们这么丰富,所以当我们产品上线时候,就出现了兼容性问题,比方画面表现不一样,有的画面上没有文字,有些安装以后无法运行,这些问题特别多。还有我们用纯C++开发的,比方像Android软件,或者Java开发的,兼容性会差,这也是一个问题。
第二方面遇到的问题是Unity 3D的客户端更新流程不方便。以往可以通过脚本更新立刻修复Bug,或者说做到游戏的更新,而我们现在用Unity 3D开发只能做到整个程序包来更新。对于玩家或者用户来说,他们每次更新升级,一定会是一个瓶颈,我们每次升级都会损失相当一部分的用户。
CSDN:这个在未来有没有什么方式可以解决这种问题?
陈敏:我们已经积极跟Unity 3D中国公司沟通。他们表示在Android手机上面,从技术角度讲是能够做到实时更新的。我们也正在想解决办法,让手机游戏有像页游一样,能够开机变成自动更新,不需要去经历下载、安装过程。
游戏后端开发:稳定性最重要 Go语言受关注
CSDN:刚才您两位提到很多前端方面的技术和瓶颈,在后端有没有一些很关注的技术或者是遇到的瓶颈?
张宏亮:我们一开始做的就是网络游戏,所以说一直涉及到后端开发。后端开发我们用的最多的是在Linux下的C++的服务器开发。另外我们的一些新项目是用Java作为服务器语言进行开发的。目前来讲,最难的是招聘C++人才,因为技术要求更高一些。
陈敏:我觉得后端开发的稳定性其实是第一重要的。游戏产品和别的软件产品最大的区别,是它的需求是经常变化的。比如在开发期策划的某一玩法发生变化或市场环境发生变化,游戏里的一些设定就会废除或重新制定。产品上线后,运行中遇到了新问题,增加了新玩法新功能,也需要在服务器端做相应的修改。那么,如何保证服务器不宕机和异常是很重要的。这是从端游过来一直存在的问题。随着网页游戏兴起,很多公司的产品采用Java作为服务器语言进行开发,因为它能够保证即使是在最坏的情况下也极少宕机。
另外我觉得公司比较关注的是Google推出的新语言,GO语言。GO语言被认为网络时代的C语言,它涉及了很多,比方说Coroutines的设计,服务器最大限度的发挥自己性能,并且取消了很危险的指针,它的性能比起Java语言也有很大的提升。
CSDN:蓝港现在用GO语言在做一些后端的平台了吗?
陈敏:我们现在正在评估,GO语言如果放在游戏中开发到底会遇到哪些问题,现在属于技术的积累阶段,还没有真正用到产品中去。Go语言作为游戏服务器的开发,应该是一个比较理想的选择。
游戏市场:未来网络游戏的“球员”模式与“观众”模式仍将共存
CSDN:对于各种类型的游戏,你觉得有没有什么瓶颈,比如说页游?
陈敏:页游方面我们公司也开发了两款比较成功的产品。页游的问题是如果Flash开发人员对系统不是特别了解,往往会造成在开发过程中内存消耗过大,甚至出现内存泄露,导致游戏会越来越慢,最后导致宕机、卡死,这是一个瓶颈问题。
端游现在最大的瓶颈在于他的开发成本问题。由于端游的技术相对成熟,市场竞争激烈,产品的成功除了技术方面以外还有更多方面的影响。包含整个项目的工程量大小、开发人员的投入量大小,以及市场风险,这些方面需要做权衡。
CSDN:现在有很多游戏都是西游题材或者三国题材的,为什么大家都在选择这些类似题材的游戏呢?
陈敏:以三国游戏为例,它给国内的用户带来一种认同感。游戏吸引玩家的点,除了画面绚丽、PK起来有意思,还有一个认同感,当用户刚接触游戏时,如果是一个完全陌生的环境,当用户得到一个武将,或一个装备时,从来没听过他的名字、不知道是什么,那么陌生感就很强。但选用三国题材,武将是诸如张飞、赵云这样耳熟能详的人物,它会激发用户的认知感,不需要再进行更多的教育。而国内由于近年来有影响力的原创文化较少,所以古代古典名著的人物会得到大家的喜爱,因此三国的题材出来很多。
CSDN:从另一方面看,因为大家都在开发这个类型的游戏,会同时有很大挑战吗?比如说如何脱颖而出?
陈敏:我觉得脱颖而出比较重要的一点,是开发速度和创新,以开发速度占领市场卡位,以创新玩法吸引玩家。
CSDN:那两位觉得未来的网页游戏,包括移动终端游戏的形态是什么样子的?展望一下。
陈敏:我们内部有这样一个理论,就是球员和观众的理论。在2010年之前,网络游戏开始兴起的阶段,那些游戏都是玩家重度参与的,大家都在里面打怪、升级。这种模式下,玩家是球员,亲自真正上场去PK、去游戏。但是我们知道除了球员,还有一部分叫观众。后来,网络游戏和移动终端游戏逐步变成观众模式了,像网页游戏中比较成功的游戏,比如神仙道,采用的就是观众模式。相当于我在观看,我的角色自动在走。现在工作的人,大多会觉得工作压力大。如果回家之后还要亲身参与战斗,就好比你下班之后,让你去踢场球你会觉得体力不支。这种转变相当于游戏逐步以智能战斗的游戏体验为主,包括自动回合制游戏、手机卡牌游戏,都是当你选择好自己的职业或者角色,他们自动战斗,得到结果,你作为观众来看。这可能是移动平台游戏,或者网页游戏很明显的发展模式。
可能在短期之内,我们会看到这种观众模式会成为一种流行趋势。但是在更长远的未来,两种模式还是会并存。
关注领域:移动互联网,HTML5跨平台优势受青睐
CSDN:那两位能不能谈谈你们关注的的技术领域以及公司关注的领域分别是什么?
张宏亮:公司目前最关注的是移动互联网。我们关注更多的是一些平台级的开发技术,比如我们现在正在用的,像Unity3D,能帮助我们做到一款游戏一次开发多次运行。另外我们的重点关注方向是HTML5,它也具备了跨平台的优势,尤其是在移动设备上。
CSDN:虽然网页游戏目前是用HTML5这样的技术,但在更远的未来,比如现在的这些3D引擎都可以编译成JavaScript代码,可以运行,那也是未来的一种趋势,您觉得这个是不是这样?
张宏亮:像现在正在用的3D,因为它也能转化成网页游戏,用的就是刚才说类似这种技术,事先我们是用JavaScript开发,最终都给你编译成一种类似于自解码的方式在浏览器上运行,这是引擎做到的。而HTML5天生就具备这方面的能力,是两种不同的开发模式。我们目前主流用的还是HTML5,而没有用原生的语言来开发。
陈敏:我觉得移动互联网应该是目前最炙手可热的领域。它刚刚出现的时候,我个人就挺感兴趣,刚开始出现的智能设备性能比较差,但到现在四核CPU都出现了,可以让很多很炫的效果直接在手机上运行,这无形中间就扩大了用户规模。这方面是一个能够让用户的数量增加的一个领域,然后相对来说,当一个领域快速增长,用户在这个地方投入自己的产品,那么他也会随着整个领域的增长一起增长,所以这方面我个人是非常看好。
程序员面试:偏爱追求技术、性格踏实、动手能力强、刨根问底的技术人员
CSDN:对于希望加入公司的技术人才来说,两位最关注他们哪方面的特质?在面试的过程中是如何考核他们的?
陈敏:1. 热爱技术:如果他对技术并不热爱,这样的候选人我们是不会考虑的。
2. 性格踏实沉稳:由于网络游戏行业跳槽率很高,如果技术人员性格不太稳定,
对公司和项目研发会产生很大影响。
3.较强的学习与动手能力:实际工作中往往会用到最新的一些技术,可能跟以前掌握的知识不太一样。就要求技术人员的动手能力比其他人更强,能够立刻操作,很快熟悉。
4.善于寻找问题的本质:往往不能够接触到问题本质的人,在工作过程中间,他就会出现问题,因为他们会采取绕过问题的方式来解决问题,但问题本身并没有得到解决,最终还是会暴露出来。
CSDN:您说很看重技术人员他们这个追求技术的这种感觉,在面试的过程中怎么能考察他们这种感觉呢?
陈敏:我们采用逐步深入的方式进行沟通,开始我们会问一些比较简单比较泛化的问题,通过交流进行逐步深入的沟通,沟通过程中候选人会有一定反馈,从而考察他的实际项目经验。
张宏亮:刚才陈敏说到的属于技术功底方面,因为我们在招聘时候,也不仅仅限于新人,还有一些有简单工作经验的候选人。对于这些人,我们更看重他之前的工作经历,来判断他的基础工作能力。另外,我们更关注他的应变能力,
人才:移动互联网人才资源短缺
CSDN:前面您提到蓝港招聘力度非常大,您能不能说说去年招聘了多少人,今年招聘多少人?
张宏亮:刚才说的招聘力度比较大,因为它分好几种岗位。我们负责主要是技术岗位的一个招聘,去年招聘的人数应该有150人左右。今年应该是150人到200人的一个规模。
CSDN:这些人才你们主要是从哪些渠道吸收进来的?大学生招聘会?或者类似庞果网这样的招聘网站?
陈敏:我们有一些程序员是来自于大招会的应届毕业生,还有一部分是通过社会招聘的途径进来的。比如说像我说的每周会有三次到四次左右的招聘过程。还有同事之间的推荐,同事推荐的一般是更好的人才,或者从别的公司找过来的。
CSDN:这些方式之间大概比例会有多少?比如说社招的和同事推荐的比例?
陈敏:我觉得可能比较大的两块,一个是大招会的优秀毕业生;另外一方面通过社招的方式过来的,也占比较大的比例。通过同事推荐进来的,是一些有经验的人才,相对会少一些。
CSDN:主要是招聘什么方面的人才呢?比如都有哪些技术方向?
张宏亮:公司目前关注移动互联网,所以招聘的主要有Android、iOS开发,还有一些Unity 3D引擎方向比较熟练熟的人才。还有一些做服务端,就是C++方面的。另外我们公司还有一些平台级的产品,需要像Java、PHP方面的人才。还有数据库方面的。
CSDN:蓝港目前最需要的人才主要是哪个方面的?
陈敏:目前最需要的就是对移动互联网、移动互联网产品比较熟悉的程序员,像刚才张宏亮说的,iOS、Android、Unity 3D、Cocos2d方面的一些人才。
CSDN:都是一些水平比较高的老手?
张宏亮:分两块,老手肯定是我们最渴望的;另外一些有底子、对游戏比较热爱的新手也可以。
CSDN:刚才你有提到对新员工的培训是很有特色的,这方面是有哪些机制?
张宏亮:我们的新员工培训应该分三大块,有一些新员工入职级的一些技术培训,介绍公司制度。还有技术方面的,会有技术基础方面的培训。培训后,也就是入职之后,我们会给他从项目组里安排一些资格比较老的人做导师,作为他日常工作的引导人,来解决他常规的问题。平常公司里有蓝港大讲堂,这个频率不一定,大概每两周会有一次,至少在技术方面会有一些。
CSDN:是自己内部员工分享的方式?
张宏亮:有几种方式,一种是内部技术比较好的人来给新员工,或者是同种技术、感兴趣的人做讲座。还有会不定期的请一些业内同行过来,给我们做一些技术方面和趋势方面的讲座。第三块没有讲座那么拘谨,就是各个项目组的一些人,利用同样技术或者兴趣爱好者,大家每周选一个晚上聚在一起随便聊一下,聊一些遇到的问题,或者看到的新闻,或者是经验,主要起到一个快速的分享的作用。
CSDN:两位觉得蓝港最能吸引技术人员的因素有哪些?
张宏亮:
1. 蓝港的技术人员可以接触和从事时下互联网行业最流行、最热门的技术。因为公司的业务一直走在业界的前端,我们一直在做一些比较蓝海级的产品。而今年我们的工作重点都放在移动互联网上,这是一个发展最快领域。
2. 技术人员在蓝港会有良好的个人职位规划。我们会根据不同的人才进行合理的工作安排及相关培训,同时管理人员会亲历亲为,对新员工做更细致的指导。
3. 公司有较好的沟通机制,无论是在组内或组外,团队之间、成员之间,会有一个非常到位的沟通。
4. 公司会通过培训或者项目交流会使新人快速了解公司产品动态,也能了解到其它团队的经验,使技术人员除了技术之外还可以了解更多市场信息。
5. 公司对程序员或者对技术人员提供的薪酬在业内是比较有竞争力的。