HUST GAMER大讲坛,每周一期,邀请校友嘉宾分享游戏行业的故事。
主持人:周荣华,华科03级新闻,中国传媒大学动画与艺术学院外聘老师。
嘉宾一:欧阳旻
嘉宾简介:华科98级 计算机,连续10年带领华中科技大学/武汉大学等学校的软件学院与计算机学院实训,为游戏企业输送大量的人才
我们目前的话主要是高校实践实训这块,做了也有十来年的时间了,目前主要是华科,武大等一类高校的软件学院和计算机专业的学生;年级从大一到研究生,都有覆盖。大概16年初的时候带华科软件学院毕业设计,其中有一个学生团队是在做游戏开发,当时有个学生说以后自己就想从事vr游戏开发,因为当时vr也非常火。我也觉得学生热情那么高,作为实训老师应该帮帮他,给他介绍下业内专门做这块的公司,这样后面他可以去了解,跟业内的人交流,实习甚至去公司工作。所以当时在武汉的华科校友群问了下有没有熟悉vr游戏开发的校友,群里的王杰师兄马上说,我知道,我们有个hust gamer群,里面全是游戏开发的,有各种大牛,也因为这样认识了群主荣华。当时群里的粤桂刚好也是图像这方面的大牛,在那时也是担任CTO在进行vr这块的创业,我记得自己当时还专门去了趟深圳,去了粤桂的公司进行了交流,收获也是非常大。
后面这个华科想做vr的学生是出国读研究生去了,方向当然还是图像这块。自此以后群里的很多校友也是在学生实习实训中提供了非常多的帮助,像咱们群里的启蒙听听创始人青海,专门结合自己的一些工作/创业经历,去给华科软院的师弟讲实习,就业,择业应该注意哪些,熊硕老师也是在学生游戏需要进一步深化时,像参加业内比赛时,不遗余力的提供指导,当然包括群主荣华,还有各位校友,每年都会给刚毕业的同学,或者要毕业的同学提供各种帮助。
印象最深的是大概17年,华科软件学院大一同学在做实训,因为是全年级同学在参与,大多都选择了做游戏开发的项目,因为大家都觉得游戏开发更有意思,当时跟志峰说希望他能来跟学生交流下游戏开发,包括大学如何树立一个正确的学习态度,如何积极寻找机会提高自己的能力。虽然志峰是环境学院的,但在学生时代拿了微软创新杯特等奖,毕业后更是自主创业,坚持了这么些年,对学生会非常有启发,志峰也是二话没说,说提前告诉时间到时他从广州过来,后面因为学校的教学时间变化了,当时时间没有吻合,没有弄成,也是一个很遗憾的事。所以我觉得对于在校游戏人才的培养,一个很有效的方法其实是业内人士在尽可能多的场合和尽可能早的时机介入到学生的学习和生活中去,而不是等他毕业工作时才得到真正的接触。
Q.这么些年因为接触学生比较多,特别是很多学生我们从大一带到大四。但目前在学校里一个很普遍的现象就是很多同学,专业课都学完了,但是一到要动手时就觉得什么都不会,无从下手(当然我这里特指开发这块)。为什么呢?
一方面我们知道软件开发不管是游戏开发也好,还是其它的应用开发肯定是一个实践的行为,有点像手术医生多做手术可以提高自己的手术水平一样,也就是说必须尽可能的多去实践,但是同时在这一块作为学生的放弃成本太低了,或者说传达到他自身上的压力并不够,很多时候学校学了一门专业课后的实践内容其实只是一部分的考核,也就是经常见到的考试分很高,动手就不会。
第二方面当然也是因为学习曲线比较陡,入门这块相对难一些,需要一个阶段持续的投入,但是在见效上又是一个滞后的过程,怎么让自己完成从0到1,再从1到10,10到100,而不是直接从0到100,很多人并没有仔细考虑过,所以在这个过程中开了个头,写了一个hello world然后就放弃了;
第三个原因当然也是因为在这个过程中噪音太大了,感觉想学一个东西,有各种资料,各种视频,各种路径,各种说法,让你觉得怎么都学不完,人为的增加了太多的困难,然后又是开了个头,再又放弃了。至于解决方案,根本的方法当然还是动手,只不过需要传达到的是可以持续的投入时间进行动手,在动手过程中做的是基于自身水平可实现的任务目标,再在这个过程中有持续的压力(或者说动力,不管是内在的还是外在的),避免你放弃投入。最好的方式是加入团队去学习,最好可以做实际的事情,当然因为是有即时的反馈,做的好或者做的不好,再就是有压力存在。
从目前来看,首先还是得结合学校的教学内容将专业课学好,像数据结构这些基础课程,另外更重要的还是学以致用,尽可能多的去进行实践,多参与,最好可以组团去进行一个实践活动,不管是参与实训开发游戏,还是去参与外面的比赛,都是一个很好的方式;再在这个过程中发现自己的兴趣,是技术美术,还是客户端开发,或者服务端开发,尽可能找到自己最热爱和擅长的;第三个还是多与优秀的游戏行业人员接触,交流,尽可能接触实际的场景。
嘉宾二:曾著
嘉宾简介:华科96级计算机,《胡莱三国》项目主开发,在游戏研发、项目管理领域有着十分丰富的经验
曾著:我觉得简单的回答是,没有捷径,因为我们整个宇宙都要遵循的热力学第二定律,你不付出,就没有回报。
针对场景问题的我从以下三块来回答:
第一块是基础范围,作为一个游戏人,技术要掌握很大的一个基础范围,本科核心课程已经指明了方向。如果你是在校的学生,我建议你好好学每一门课程,学精学通。毕业后的打工人,我不建议你去按照本科读本科的方式整个去读,那不太经济。我建议是问题导向,就是说你什么问题要追根溯源,不能只从表面解决问题,你要知道问题后面深层次的原理,原因是什么,他的思路是什么,然后可以触类旁通,就是把相似的问题,给他归纳在一起,就是说按一个归类来整体的去研究,研究一个单点的问题。
第二块是学习的方式。有一个说法,叫做先学习如何学习,然后再去实践你的学习,遇到问题的手先解决问题。这样有一个比较快的解决问题的思路,不要满足于你解决了这个问题,要归纳,要分类学习,在相似的场景里面能处理得好,这就是触类旁通。然后如果你能够把它写成文章,写一个示例代码去教别人怎么做,这是更好。完整的路径还有一个定期回顾整理,持之以恒的话,你的成长速度就会比别人快很多,要聪明的去积累自己的能力。
我面试技术员工的一个通常的做法,我一般不会给一个定制的题目。我一般问的是说从他曾经做过的事情,解决了什么样的问题,这个问题的背后,深层次的,会不会还有别的问题,假设一些他当时没有遇到的一些额外约束或者额外需求,看看能不能在这个比较苛刻的需求上面能够解决问题,如果他很快反应过来,并且解决,那说明他其实是已经考虑过,归纳去思考过,而且这种能力是实打实的,他真的是能够解决问题的。
第三快成长密度,所以说到底,一个人的能力,或者说他的成长的速度是它的竞争力积累的一个最重要的因素,就是说你能不能在同样的时间内,成长的速度或成长的程度,或者我称之为成长密度、速度足够高。有些人,他只是工作一年,他的绝对能力,可能比不上后面的有一些积累了5年工作的,但我会非常欣赏看好这样的人,因为如果是依照这样的速度成长的话,它一定是受欢迎的。
有主程气质的年轻人来培养的话,我觉得最重要的一个关注点是你的成长密度。讲到主程的基本要素,我觉得应该从市场对主程的要求来考虑,期望就是涉及技术的的所有的事情,你要这个主程应该有兜底能力,搞定不是说我一定要能解决出来,而是说我会给出一个比较靠谱的结论说是需要多少成本才能做出来。现在我们做不出来。但是我们可能用一种方式,先把它对付过去了,等到某一个时间点的时候,我们再去解决了,这时候他会给个靠谱的结论出来,这是他的评判标准。
如果是细化来看的话,这里面就是一个技术覆盖面的问题,就说它的硬实力的覆盖问题。我认为可能是两个能力:一个是游戏页游类型所对应的经典技术解决方案,和业务的解决方案,叫做底层技术。还有一个就是按一般大的团队种会有引擎,另外一部分就需要提升制作游戏的效率的工具以及流程。这又包含了两个部分。一个说,你有各种各样的工具,另外一块是角色。要求程序员必须要了解产品,你才能够带好他们,要了解游戏类型,他的产品,表现方式交互方式,业务逻辑。那另外一个大类,就是说我的代码怎么组织才更高效,就说在代码结构上,提升协作能力,以及你如何把策划的游戏业务抽象和归纳转换成几个的代码。至于服务端,从技术架构的角度来看,就是并发性,一次性和可用性的问题,和其他的互联网的服务端是有类似的。
这是主程覆盖面的问题,技术能力,覆盖面的问题,然后作为主程以外,还要有一个非常强的一个学习,核查知识的能力。因为没有人是全才,所以你碰到一些坑现在搞不定,但是你要知道怎么去搞定要达到老板的目标。主程还有一个非常重要的能力,就是说他不仅仅是一个技术,他是个桥梁,需要有产品意识,需要非常懂业务分析和分解的能力。这样的话,你把一个复杂的大游戏,放进一个较小粒度,比较可控的范围,知道他是什么时候完成的,还有就是技术上的一个风险把控的能力。有些技术方案,业务设计的方案。短时间内是比较快,能出来了,但是他可能会留下隐患,先要一个比较简单的方式去实现,然后有希望挣钱,甚至挣大钱的时候,我才投资去做性能扩展,否则的话我做性能扩展是没有意义。所以说在技术上投资和还债将是一个商人的思维,什么时候投资什么时候欠债,这也是主程要做的事情。
当然,上面所有的事情,有个基础的非技术能力的因素,就是说责任心和协调沟通的能力。你要说服大家能够信任,这是一个非技术的,但是非常重要。
曾著:具体分析,如果说他觉得轻轻松松搞定,我觉得多半是没有出来!如果他能够体验到当时他团队的主程的痛苦,像主程一样去思考,他死过几次,那他第二个项目有可能有这有这70%或者60的概率是可以做一下。
曾著:我觉得没有一个统一答案。它是一个你想要什么的问题?这里面首先一个问题,是年龄段的关系。你是孤家寡人的时候,可以选择全心投入,缩短你的成长差距。或者,你人到中年上有老下有小,就背负了很多责任,你要管这管那,就不能完全去选择90%以上的这种投入在工作上。
如果是个年轻人的话,就是可以选择了愿不愿意用这个时间换取你的成长,能不能换到这是另外一个问题。因为一般原则,投入越多回报越多。那这问题就转换成,你的全情投入和你的收获是不是成正比。在这种工作情况下,你满不满意现在工资收入或者期待的生活以及前景的发展,如果你满意,那就换一份不用996的工作就完了。
回过头来看,我们如果996了,就能拿到你想要的东西吗,这种是另外一个问题,因为有很多996,但是,真正能够从996里面成长起来,并且变成一方大牛或者一方诸侯的,基数是非常少数的对不对?这里面可能有百分之六七十是因为运气的部分,你是没有办法去控制它的,这是公平的,打到了你身上就是你了,但是另外30%可能性,你可以控制的,就是选择。这里面有些可以观察一下,真正发展起来的,他会看重这两个选择,一个是说,你做事的【价值密度】。是做永动工具人,还是勤于思考,挑战极限的人。就是说,我现在做的80分老板很满意,所有人都满意,但是我要做到90分,之后反而能够在这方面投入精力会变得更少。
我们一定要去思考做事的价值密度。如果说你做过的无数次的其中一次,然后没有任何成长。如果是这样的话,你一定要思考到底是因为你个人的原因,还是因为公司的原因、团队原因。如果是因为个人不愿意思考,不愿意在你的深度上挖掘,那是你咎由自取。但如果是公司的原因,比如说公司就在现阶段就要求一个永动工具人去满足业务的需求,满足业务快速发展的需求,这里面就把问题转换成公司有没有为这种抑制个人发展的这个东西做出了相应的对价,比如股权。这样一个人和团队的目标有重合也有分歧的地方,那怎么去平衡分歧的问题。同样的事情,同样也会发生在团队和公司之间,所以事情上你要看清楚,如果你的野心很大,结果公司把你放在一个永动工具人的这样一个角色,然后同时还没给你对等的价值,那我建议你赶紧走。选择权越多的人,其实,它背后他积累的能力,就是积累的努力更多。如果是团队的原因是公司的原因就去争取,争取不了就走。
曾著:深度是不可替代性。但是反过来说越深,能用得上你这么深技术的团队和公司就越少,也就是说,你的选择面就越少,就是你不能从这优势领域跳出来,到另一个领域去,这样性价比不高了。
广度的话,竞争激烈,差别不是特别大,但是综合起来能力的可能会有很大的差别。他选择面那就会比较大,而且他还有一个特点就是他知道的多,就意味着他可以集合众人的能力,从管理的角度,从团队的角度能够放大他的能力,这一点是专家型的人才是不太有优势。而且他离产品比较近,如果你想做一个影响世界的产品的话,可能是必须要有广度,但我的建议,就是一专多能,就是说你稍有一方面,能够搞定就可以比80%人强。当然专注一方面做技术专家也不错,但是,要注意专家型有一个陷阱,就是当技术时代更迭的时候,会产生巨大的风险,所以定要抬头看路,如果你的行业将要发生巨变的一定要提前的去转轨道。
曾著:可能会有几种不同的原因我觉得,其实应该是双方面的可能,一个是你个人的原因,一个就是团队。其实是你的目标和团队没有发生了一种共振效果。你没有把团队的目标,当做你自己的目标之一。如果从个人方面去看的话,看是看起来这些事情都和你没有直接的关系。你关心这个事情不只是现在的事情,而是长期投资,刚才说过的那三方面的投资,对吧,首先你的事情本身可能成功概率变高了。第二你在过程中成长更快了,第三个是你积累了大家对你的信任。这三项的积累有助于你未来的成功,但是它是有概率实现,不是说它必然实现了。依据热力学第二定律,不付出必然没有回报。
自我成长
其实没有捷径
基础范围
计算机本科核心课程,在校好好学
毕业后不推荐整体死读,应该问题导向,追根溯源,触类旁通
学习如何学习,针对工程技术类
遇到问题,归纳,分类学习,实践(写代码和文章),定期回顾**
好的面试官:表面工作,归纳原理,再深入一层,你自己的方案,业界的方案;再深入一层
成长密度
定向规划
开拓视野
针对自己的特点和兴趣
有所得必有所失,舍才有得
主程具备的要素,涉及技术get things done的兜底能力
覆盖面
游戏类型对应的经典技术架构和业务解决方案
客户端
引擎底层技术,知道坑在哪儿,怎么填坑
pipeline
gameplay
服务端
并发性能
一致性
可用性
应用架构
怎么在程序结构上提升协作能力
业务抽象能力
学习能力,trouble shooting能力
产品意识、业务分析和分解能力
技术演进的trade-off能力,先做,再优化
责任心,沟通协调能力
关于福报
动能与势能
wl balance vs 全情投入
年龄段,责任分布
永动工具人 vs 勤于思考、挑战潜能极限
个体目标与团队目标的平衡
参与感
深度 vs 广度
深度不可替代,但选择面屈小
广度竞争激烈,但选择面大,管理团队协作
推荐丁字型一专多能)
曾著师兄分享的游戏技术研发知识点架构
架构
● 客户端引擎
○ 客户端应用架构
○ 脚本引擎
○ 物理引擎
● 部署架构
● 通讯架构
○ 普通业务通信
■ http、tcp、udp
■ RESET、RPC、streaming
○ 状态同步
○ 帧同步
● 领域模型
工具
● 战斗编辑器
● 数据分析
● 地图副本编辑器
● UI编辑器
● 场景编辑器
● 配置管理管理工具
● 特定脚本编辑器
运维
● 开新服
● 版本更新
● 合服
● 安全
● 部署管理
○ 客户端打包流程
○ A/B TEST
○ 灰度发布
前端
● 适配
○ 多分辨率适配
○ 多操作系统适配
○ 多语言适配
○ 多终端适配
● 游戏业务
● 打包、加密
● 算法
● 帧同步中的平滑与补偿
● 支付SDK
● 渠道接入SDK
● 引擎开发和扩展
○ Unreal
○ Unity
■ shader
○ Cocos-2dx
○ layabox
后端
● 游戏业务
● 存储
● 反作弊
● 用户中心
● 算法
● 聊天服务
● 社区与内容
● GM管理系统
● 客服与GS管理系统
● 技术测试
○ 数据脚本
○ 测试代码
嘉宾三:田一泽
嘉宾简介:华科17级软件学生,21年毕业,热爱游戏开发
作为一个想要成为游戏设计师的玩家,从小学一开始接触游戏,到后来慢慢成长,随着年龄的增长,随着学习深入,我觉得游戏也是一种表达的方式,或者说它作为一种媒介,我可以把自己一些想法表达出来,然后就在玩游戏的过程中,就会有一个比较,游戏表达了设计者的愿景,他想给玩家传递的想法。所以后来我就在玩游戏的过程中一直在做比较,然后慢慢的了解设计者通过这个游戏,想表达什么、想传达什么样的信息、然后是通过什么方式来实现的。总之,游戏设计/制作是一个很好的表达方式,由于我自己平常是一个很不善于表达的一个人,所以我觉得游戏是我展示自己,向世界表达自己的一种方式。
现在我的在申请出国留学——美国南加州大学,方向是游戏设计方向。
我认为电子游戏虽然属于软件,但是他跟传统软件功能还不太一样。我做网页游戏,最重要的是我会有一个愿景,想表达什么,想通过游戏给玩家带来一种什么样的感受。接下来的思考的是你通过什么样的方式,去实现这种感受。这是我现在在努力做的一个事情,把我一些想法想表达出来的。
目前,我在努力做一个GAME PLAYER,把这种想法感受表达出来。之前欧阳老师也是一直带一个我大一和大三的实训,然后在前三年实训我都都是在做游戏。由于我本来有一些美术的基础,我专业又是软件工程,我一个人把设计、程序和美术的活都干了,在做游戏的过程中,给了我很大的自由和空间,去表达自己的想法。
我感觉做游戏的话,你不能老想着要有多少人玩我的游戏,这样做不出来游戏,或者说这样的游戏过于商业化,对我来说失去了它作为一种表达自我的媒介这样一个功能。当然并不是说把游戏做的商业、做的有人爱玩是不好的,这样并没有什么错,但这更像是一个商人的思维。而我觉得作为游戏的设计者,应该更关注的是这个游戏本身,而不是它能带来多少商业价值。所以,做游戏要有一个自己的愿景,就是你想做一个什么样的游戏,想给玩家表达什么想法,坚持自己的初心,作为一个目标都去坚持下去。
然后我有一个疑问,就是现在都就是游戏行业,至少是就是从美国来看,一个在大公司里,游戏人才的流动性是很低的,就是如果你想从一个实习生做熬一个很高的位置是非常难的。但是,还有另一种方式,做独立游戏设计师。我想去做独立的,但是,我觉得现在的环境做独立游戏需要很大的勇气和决心,所以我现在在找一种平衡,就是如何能让自己除了热爱以外,还有让自己有一个坚持下去的东西,如果光做自己喜欢游戏的肯定是有点儿太理想化了。
主持人:关于这个问题,华科有一个师弟(你得叫师兄),他在网易负责引进游戏,然后他也接触过很多独立团队,后面有他的专场,我可以就这个问题和他继续深入讨论下。今天,最后一位嘉宾,也算是做独立游戏出道的,你的这个问题可他会给你解答。
田一泽:这个问题就是主要是我觉得还是技术问题。因为虽然我是学软件程序,如果从行业的分工来看,我应该是一个程序,但是我遇到的问题,还是如何把功能实现,然后我的解决办法就是因为我现在用unity,当我遇到一个功能就是一个需求,我要解决我就去找他的assetstore商店,我就去找各种已经做好的,我把做游戏的过程当成玩游戏,去尝试不同的资源,我觉得unity是一个很好的工具,能帮我完成游戏设计。
田一泽:我觉得就是就是不要想太多就是做做看。因为我一开始大一的时候,我选择读软件工程专业,就是因为我对对游戏开发感兴趣。刚开始做游戏,我就老纠结我该用unity还是虚幻引擎,活着用什么其他的开发方法,还是学什么语言。当时总想选一个就是最好的最成熟的一个东西,但其实对入门者来说,都是不必要去考虑的事情,你随便学会一种语言,学会一种游戏的开发引擎就可以去干了,不需要考虑那么多,其实真正需要考虑问题是你在做了以后,你有一个自己的一个小作品后,你才会发现自己真正的问题。你如果你喜欢游戏的话就去做,用自己方式实现一下,你都能感受到游戏开发会遇到的问题。
嘉宾四:蔡倩
嘉宾简介:华科13级,腾讯游戏光子工作室HR
主持人:接下来,请一位专门做人力资经常看程序方面的简历,腾讯游戏的HR蔡倩老师!她将就游戏程序简历、面试流程,简历的筛选或者说一些面试技巧,包括应届生同学比较关注的,怎么提前去接触一些大厂的机会,给一些建议。
蔡倩:简历这块的话,我们给他的建议:
首先就是一个布局和排版,要尽可能的一个简洁,然后去重点突出。
第二就是对标你自己的目标岗位,不必要的一些经历或者说一些其他的兴趣爱好就不用写上去了,没有人会看。
第三尽量去突出个人的一个项目经历,以及实习经历这一块。
第四也是很重要的一点,你投递的一个项目和职位,要把技术栈对标起来。如果你投递了这个项目他的技术栈是C++,你就不要把JAVA或者说PYTHON等东西作为一个主要内容去写了。
蔡倩:关于面试流程的相关注意事项:
作为游戏公司来说的话,大部分都是初试,复试和HR面试三个环节。作为腾讯来说我们一般初试复试都是由组长或者总监去进行,然后HR面试的话是有招聘经理这边去进行。但对其他公司来说,或者说有些规模比较小的一些游戏公司或者说独立游戏工作室,可能会涉及到一些制作人参与,那就可能需要你在游戏性方面或者说对市场的游戏行业有一些大概的了解。
但是,大部分公司来,对于程序这一块,我们还是不要求对游戏性这一块有特别大的一个掌握的。因为本身我们还是要求技术是最重要的,大部分的公司可能也需要说你现场去考试的写一个代码,对于我们的一个应届生招聘也会有一些笔试的考试,主要是考察一些技术的基础。我们腾讯的笔试也是特别重要的,但这个也不是特别必要的,你可以做笔试你也可以不做,不做笔试不意味着说你不能进入初试,但是,你做了笔试成就比较好的话,进入初试了环节的一个概率是非常高的。
在初试的环节面试官会问很多技术基础的东西,包括像可能图形学算法结构、语言的基础或者说网络协议,这些东西在前期的一个准备还是非常必要的。
蔡倩:第三个点,也是可能大家比较关心的一个简历筛选这个东西。
一般对于简历来说,我们HR会跟专业面试官去双向筛选的。我们的前期进行一个筛选的部分,当然面试官他们自己也会在网上简历,或者说主动去慢慢,BOSS直聘这些去看一些合适的人选,我们主要看就是简历上提及的几个方面:
第一个,你的个人专业是否对口,你的一个笔试的内容是否非常OK,
其次,我们看那些牛客网的一个的内容,其实不是单单去看成绩,因为他的一个判断是会有误差,所以面试官他会点进去看你做了一个试卷,去看你中间的过程,所以其实也是还蛮重要的。
第三就是一个项目的经历。
我们建议,如果是校招的同学,你系统上的简历,要尽量的去详实,比较完整的去描述项目经历,个人角色和项目产出。本身像腾讯这种大厂来说的话投递的同学也比较多,如果你只是很敷衍了事的写一个简单的学校专业,然后自己的一个年龄的话,被筛选进初始环节的概率还是蛮低了。
那对于社招的同学来说,其实我个人可能比较感兴趣的点,我对那种可能有自己的个人博客,然后有开源项目的是我比较感兴趣的,另外要提醒的就是说在描写你的个人职责,还有所做的一些项目过程中,不是自己负责的部分就不要写了。很多同学他其实是死在面试的过程中说,面试官可能问到一个不是他负责,但是他又写了是自己的结果。问到后面一些比较深的技术上到讲的东西或者说是职责的问题问了答不上来,其实还是蛮减分的。
第四个的话很重要的一个点就是说,你要去标明自己的一个技术的亮点,比如说以个人通过什么一些算法解决了哪些性能优化的问题,这个蛮重要的,也体现说你个人除了日常的工作运作之外,还做了一些其他的技术的积累,或者说你还能够去帮助同事解决一些他的一些专业上的问题,就不只是局限于自己的一个业务范围内。
接下来提到,在面试技巧方面的分享,我对于开发者来说基础知识是很重要的,建议大家不要去投机取巧,我们知道就知道,不知道的话不需要去装知道,提前去做一些技术储备,我觉得是很重要的,如果可能对应聘大厂没什么信心的话,也可以去牛客网或者知乎刷一些题也是OK的。
我觉得面试本身是一个双向的选择,尤其是在技术面试中,有一些经验的同学可以很快的,在和面试官的沟通中了解到对方项目的一个大概进展,团队的规模,技术的深度,甚至他的一个团队的文化,因为面试官基本上会是这个团队的leader或者是一个组长的角色,很大程度上可以反馈团队的技术文化或者说技术氛围,在沟通的过程中可以具体自己感兴趣的问题,去跟面试官进行探讨,比如说我现在负责的项目的面试官就经常去跟人选就技术问题进行讨论,也会举出说人选面试的一些不足,还会给他推荐一些书籍或者说一些其他的渠道之类的,所以有时候虽然一些同学他的面试不能通过,但跟我反馈说,在跟面试官沟通中有很好的一个启发。
把他当做一次技术交流也挺好,我始终觉得其实面试并不需要做很多技巧的准备,更多的是真诚地表达,因为如果通过一些技巧性的隐瞒去得到了很高的offer,但是进去了公司项目之后发生并不适合自己,这对自我来说,也是一种选择上的浪费。选择一个适合的团队,稳妥的平台,可靠的项目,对于你的长远发展来说,才是最重要的。
最后的话,可以就是就是怎么去提前接触一些大厂的机会其实很多大厂的话上,腾讯或者说网易。这些公司我们都受很多慕课的课程,也就是说,完全免费,公开向社会公开了一些公开课的课程。
比如说这边一个腾讯游戏学院,在网上放了很多的一些课程,然后你大一的时候如果对游戏感兴趣,可以在线上去看这些课程,然后大二的时候就可以开始报名去参加这些公开课,去为自己争取到一个在公开课程学习,并且最后能够去争取实习的机会。比如说,现在网易这边有开一些客户端的公开课,像腾讯的话也开设了客户端的公开课、策划公开课、美术公开课,技术美术TA,这一块也单独开设了公开课,包括游戏运营等岗位,我们今年也开发了灯塔计划的一系列课程,都是面向目前大概大二大三或者研一这些同学的,基本上公开课的话,都是在周末或者是已经在课余时间就想不太会占用你的时间,就算之后不能够去拿到这些大厂的实习机会,但如果你的简历上有这些公开课的一些经历,对于之后去获取秋招的offer我觉得还有帮助的。
那在大三的时候就可以开始去投递一些实习或者说一些校招,这些实习可以为之后的面试做一个非常非常好的积累。因为如果我们当时看到一份简历,他是可能某某学校的一个对口的专业比如说计算机学院,计算机专业毕业的,然后他参加了某某的客户端公开课,并且获得了游戏公司的一个开发实习的经历,那其实对于他进入初试环节,甚至来说初试通过的概率是非常高的。
社招的同学的话,我是说可以多去关注一下岗位的机会。说实话在现在各种互联网公司的一个面试流程中找同事内推呢,成功率是最高的,一次面试不通过也不要气馁,像腾讯这边的话,其实有超过50%的同学都是至少有一次失败的面试经历,也就是说可能失败之后,第二次第三次才加入到我们公司这边的,基本上今天的分享就是这些,感谢大家的聆听。
嘉宾五:陈志峰
嘉宾简介:华科05级,《超进化物语》制作人
我觉得看就怎么去定义可持续性的问题了,我觉得可持续性。如果按我理解的话,就是看做出来产品他能不能成为一个可以商业化的一个东西。我觉得没必要去定义就给他这么一个标签,究竟是不是一个校内学生的作品,而是去思考作品没有最后成为一个商业化的产品它究竟是遇到什么样的问题。
实际上我这两年去当独立游戏大赛评委,然后就看到了很多的学生作品,其中有好几个其实令我非常的惊讶,就是他们的完成度,其实不比社会组的差,而且他们里面的一些细节,其实做得也非常的出色。今年2020年就有一个学生作品就获得最佳叙事大奖,所以校内学生做的一些东西,其实并不差的。究竟为什么很多校内学生只是做到一个DEMO级别的东西,后续就没有了,我觉得里面会有很多方面的原因。
第一个可能就是团队稳定性的问题,我觉得应该是会比较重要的一个问题。学生团队里面做项目的这些人究竟是不是喜欢去做这个项目,决定他们是不是稳定持续去做的。
第二个可能就是学生的能力,学生团队可能看上去能力有点欠缺,但实际上可以通过自学做到千变万化的东西。包括我们团队二三十人的规模,我一直觉得我们其实还只是做一些应用层面上的东西,就是怎么去应用引擎,所以实际上我觉得就算是学生,他还是有机会去通过自学,通过吸收其他的一些成功团队经验去做到一个好的作品出来。其实现在还有很多案例,像页游《失落城堡》团队他们还在大学的时候,就去做这个产品,然后他们毕业以后没多久就发上了steam,然后应该是前三年国内卖得最多的产品,所以学生作品的潜力,我觉得还是不可以看小的。
这个问题的话,我自己本身是技术出身,然后我是后端主程的这么一个角色。其实我自己以前对程序,也是会有些洁僻的,就喜欢写一个架构自己觉得非常的完美,然后那里面多余的一个变量都不想要,还有是里面的接口设计可以从头到尾很多的地方,策划那边突然来一个需求我都瞬间可以把它给实现出来。但实际上的话我去反推我们整个项目的过程,我的洁癖反而导致了我们整个项目进度有所拖慢了。我觉得本身作为程序去追求完美,追求基础架构扎实且灵活,这些我觉得是有必要的。但实际上的话,我觉得前提还是看我们的项目进度,因为完美无止境。我觉得我们做事情,开始要定好,我们大概要什么时候要做到什么样,起码有个deadline。如果说我们评估过在deadline之前,我们不可能去把架构做到非常完美,那其实我觉得我们作为程序的话,是完全可以用一个相对来说没那么完美的架构去实现这个功能,然后后面再去慢慢补的。
我也可以分享下我们《超进化物语》团队的一些经历。《超进化物语》项目是16年底的时候立项,然后我们定的就是希望一年以内出产品,当时我们所用的后端架构,其实还是我们以前做H5的时候,做放置类网游的后端架构。那个后端架构是直接对数据库读写,中间是没有经过内存缓存服的。所以17年2月份就刚好差不多一年的时候,我们上了港澳台,然后大概3到5万DAU的时候,我们就已经出现了瓶颈,就是非常简单的查询语句都会把我们的数据库给锁死。所以基本上这个架构,我们发现是完全扛不住这么一个并发量的。但是当时那个时候我们的架构,我作为后端主程觉得已经是优化的非常完美了,我全部非常的仔细的去检查了一遍,然后做了非常多的优化,但最后还是没有满足这么一个并发量。所以到后来我们就停止了整个游戏的更新,专门去通过猎头招了一个后端主程回来,然后就把我们整个后端重构成读写操作全部在内存缓存服,然后再一定的时间,比方说大概几秒到十几秒再同步到数据库里面这样的这么一个架构,才去发国内,然后才可以抵挡得住起码同时在线20万的这个一个用户量。
所以实际上回过头来,就刚才的问题,如果说一开始我们就采用这么一个架构的话,当时我们整个团队都没有做过这一块,那很有可能我们去做第一个版本的时候,我们花的时间就可能需要2到3年,这样子的话,可能我们整个产品的时间节点都已经错过了,我们整个团队可能资金方面都会出问题,反而导致游戏就已经失败了,所以就算你写出一个比较完美的架构,最后也根本用不上。所以我觉得作为一个程序来说,真的也像刚才曾著师兄那样提到,作为一个主程,他是一定要有商业化的思维,这个东西,我大概需要多长的时间,需要多少人力成本去实现,控制好复杂度,然后等产品上线了,或者跑一段时间后再慢慢回过头去优化,如果实在不行了,我们再去重构,这样子可能还更好一点。
这个问题会有点大,然后我回答的一个前提是我们现在的团队是大概二三十人的规模,也是一个偏独立游戏团队的这么一个运作的方式。所以,实际上我现在所说的一些经验,可能更多的像一个小团队或者是一个创业团队或者是一个独立游戏团队这么一个运作的情况,有一些东西就不一定可以用到腾讯这样的大公司里面去。
如果说到我们自己公司内部的一些管理,其实都是比较简单,就是技术分前后端,分别有一个主程,去带领大家一起去干活,然后最后拍板,肯定也是这两个主程。但是我们平常商讨技术问题的时候就是鼓励大家去踊跃提出问题,包括主程说的一些东西,也是鼓励大家去质疑的。然后我们每周会去开会定大家的任务,内部还会有一个积分机制的东西,比如说,我这周给你一个指派的任务完成了,是否按时按质完成那他就会有个得分,然后得分慢慢积累,最后就可以有一个选择,选择一次性拿到一个奖金或者是提薪这样子。这就基本上就是我们《超进化物语》技术团队的这么一个管理方式,相对来说比较简单。
相对来说这是一个更大的问题了。我觉得是涉及到管理或者文化上面的问题了。像我们团队的话,还是比较稳定的,我们现在二三十人基本上核心的那十来个人基本上都是跟着我们公司跑了5年以上了。然后这些人的话,我觉得有一个前提条件,就是都是我的同学或者是朋友比较多,本身我们自己是会有一个比较亲密的关系在里边。然后另外一个的话,我们是在广州的老城区,所以就远离了广州天河买量帮那边的这么一个喧嚣的环境,就相对来说我们的团队成员相对来说没那么浮躁。但当然,我觉得我们大部分的成员在视野上其实是没有很多在大公司或者在其他知名游戏公司里面工作过的这些人的视野大的,但特点就是很稳定,没有太多的想法,所以这也是我们团队比较稳定的原因。
还有一个就是说可能在管理层面上面,我自己作为创始人,我其实不太喜欢动不动就大家一起996,这么狠的这么一种方式去运作公司。我还是比较喜欢对员工平等对待,而且真的是当大家是一个人才去看待,所以我觉得这应该也是很多员工愿意留在我们公司的一个原因吧。
回过头来,我也不敢说我们这些经验可以复制到其他团队里面去。但我觉得也不能说我的薪酬没办法跟大厂比较,那新培养的人就肯定会跑。因为我们通过团队氛围,或者团队文化,是可以把这些人才留住的。所以我觉得作为一个公司来说,不断的去吸收一些新人或者甚至毕业生进来慢慢培养,我觉得还是非常值得的。总是会有一些人适合自己团队留下来的。
我们公司其实一直不是很繁忙,所以我来回答可能参考价值不一定大,我分享下自己的一些经历吧。我当时在大学的时候,在联创团队参加比赛的时候,我当时是做IT架构的,搞交换机搞服务器配置这些问题的。然后后来我是在大四的时候,自学编程自学C++,然后开始去做一些算法比赛,然后当时我们团队在海外topcoder上面,每年是可以赚到大概一两百万人民币这样级别的钱。然后再通过这些钱,把现在的公司搞起来了,然后再赚了大概两年左右的钱,我们一班核心的人又去自学游戏开发,才正式切入到游戏领域里面去。
所以第一个,我觉得我们对于自己来说是不能设限。我本身可能是做前端的,那我就完全不碰后端的东西,我觉得肯定是不行。我是做技术的,我就完全不去了解美术所做的东西,这样也是不行。我们公司里面有一个团队文化就是我要求我的团队,一定要多了解不同岗位的东西,做前端的要了解一下后端做的东西,后端也要了解前端的。做策划,也要了解一下后端里面所写的逻辑大概是怎么样子的。然后美术那边也要了解一下前端的技术是大概怎么实现的。这样一个好处,就是可以在不同领域里面可能会有一些新的火花,然后团队的沟通过程也会更加顺畅。比如说策划,想到一个idea不知道能不能实现,那如果他是有碰过一些后端开发或者前端开发的一些东西,他其实就已经可以完整地描述出实现的路径。还有说美术看到一些非常漂亮的特效,但我不知道是怎么实现的,但如果他有前端开发的经验话,他其实就是一个具备技术美术能力的人了,那他就可以实现更多更复杂,更酷炫的特效。
所以实际上的话,就算工作非常繁忙,其实我们还是可以通过各种各样的机会找不同岗位的同事或者前辈甚至一些我们校友圈里面的校友去跟他们去交流,这样就可以学到更多跨行业,跨岗位的东西。我觉得积累到一定程度,肯定会产生一些质变的。因为实际上我们现在最缺的,其实就是跨行业的人才。比方说,现在TA也就是技术美术,就是又懂技术又懂美术的人真的是非常非常少,如果真的是可以做到这种级别,年薪轻松可以到50万以上,而且现在是很多大厂想找都找不到这样的人才。
今天的分享主要环节就到这了,如果就是大家还有其他的其他的一些问题的话都可以提,之后把问题反馈在群里面,我们会进入到下一次论坛的日程里面去。后面的本次论坛的内容,包括文字或者是图片资料的话也会去进行分享,大家可以看一下,后面会列出相对比较完整的文字版内容,然后再次感谢各位嘉宾!