关于我不一般的开发职业生涯

159 阅读8分钟

最近好像忙过头了,有一些比较久远的事情慢慢藏得有点深了,所以想趁我还记得的时候,想记录一下我比较神奇的职业生涯。如果记忆没有太多错乱的话,下面的故事都是真实发生的,各位看官如果觉得离谱也可以当作一个笑话看看即可。

2012年,第一份工作:

当时正在大四只会单片机开发的我,在学校师兄的关照下有幸入行了当时很火爆的Android平板开发。

一开始的工作内容是接入各种驱动以及响应中东的客户进行ROM定制开发,当时第一道难关是学习Git的命令行使用。你没听错,在那个几乎大家都用SVN的年代,我入门的是Git,因为当时 Android的源码管理就是用Git。这也为我后续对于代码管理方面的执着埋下一颗种子。

还记得当时带我的上级叫波哥,他也是我职业生涯中少有的对技术有强烈追求和自信的人,也是一名工作狂,常常都加班到晚上10点多。当时公司在上海还有一个核心研发部门,波哥就是从上海调派过来的。不得不承认,有一名好的师傅带你入门,真的足以改变一个人的职业生涯。在他的影响下,我抽时间研究了Linux内核源码和Android的源码(虽然对当时的我真的生涩难度,但还是学习到了很多),也受他以及深圳的影响变成了工作狂,常常坐上末班地铁。最后在这家公司工作了3年,对Android从下到上每一层都接触了一遍。

离职原因:

由于当时的女朋友在广州也已经毕业并且工作了,年轻的我义无反顾地离职独自前往了广州发展

工作总结:

  1. 掌握了Git管理,算是当时教科书级别的Git管理了
  2. 入职3个月就带同届毕业生,1年升组长了
  3. 能熟练使用C接入驱动了
  4. 能定制ROM了
  5. 能熟练使用Java开发Android应用了

2015年,第二份工作:

当年的移动端开发市场真的是蓝海中的蓝海,简历开放到猎聘的时候基本上半个小时就一通电话和邮件,由于当年的信息资源并不像如今这样丰富,所以面试大多问的是Android生命周期和设计模式这类基本知识,我的工作经历在广州很轻易就拿到了几个不错的Offer,最后入职了一家互联网公司做游戏SDK开发,彼时年薪翻了一倍。原本是想找做驱动或者ROM开发的,但是广州这类公司太少了。 这份工作我基本都是在做Android的开发,这份工作也工作了3年。

离职原因:

当时项目和SDK都跑得很稳定了,每天按点工作就足够了,这样的情况看不到向上发展的前景,彼时刚好收到来自老同事抛来2倍待遇的橄榄枝。

工作总结:

  1. 掌握了Android逆向
  2. 掌握了Android各种骚操作,如锁屏下载/热更新/进程保护等等
  3. 负责SDK的接入文档工作也算过了一把产品经理职能的瘾
  4. 推动了部门SVN的代码管理规范,优化了SDK的出包流程,得到了测试部大佬的公开赞赏
  5. 带5位实习的小伙伴搞了个有趣的项目
  6. 被一位大佬看中拉去搞了一个当时对公司收益非常可观的项目,项目后来还持续运作了好多年

2017年,第三份工作:

第三份工作是以逆向的能力应聘成功的,当时盛行通过ASO去对游戏进行各种优化,事实上这家公司在我入职前已经稳定地跑iOS的ASO了,每天的消耗量和收入都比较惊人。我当时要做的是拓展公司的业务,落地Android各大应用商店的ASO。经过半年的努力成功了几家,开始运营后发现Android的收益远低于iOS的,最后我也开始去搞iOS的ASO了。那时候连MacOS都没用过,xcode也没用过的我敢答应这件事情,想想也是神奇。

然而现实很残酷,没过几个月iOS锁榜了!! 如果没记错是锁了大半年,最后整块赚钱都飞起的业务直接GameOver了。

那做什么业务呢? 当时社群很火,各行各业都有N个账号去做社群营销,我们立项了个群控工具项目,一开始通过PC操控多台手机,核心是通过adb协议/scrcpy和xposed对手机进行控制,这个项目大概开发了4个月就投入市场直接盈利了,但是残酷的现实又来打击人了,因为很快市场上出现了新的操作模式 -- 通过协议云控!!

这个方案就不细聊了,反正最后我们扩大了团队规模几经波折最后也实现了同样的方案,并且比市场上的稳定性还高,但因为某些原因,最后这个产品并没有推向市场,只给了当时大老板的其他公司内部使用了一段时间就搁置了。

彼时入职这家公司已经1年多了,手上也就只有云控这么个快要关闭的项目在维护了,我一手建立的部门也只剩几个最核心的成员了。每天又变成按时上下班的工作节奏,令我的不安分和忧虑又开始发作了,终于大概一个月后我向领导提起了离职。

具体的过程其实我已经记不太清了,我只记得他说:“我一直很看好你,这段时间也是想先给你们调整休息一下”,而最后的结果是:

我带了3个有经验的后端伙伴转去支援游戏研发部门了

当时的游戏研发部门刚组建不到3个月,因为实际的产出距离预期差距很大,所以老板把当时的主管裁掉,而我属于临危受命,让我去管理这个我并不熟悉的领域一开始真的非常艰难。艰难的原因一方面是研发部门的人年纪都比我大,另一方面是他们觉得我一个外行凭什么去领导他们。(虽然我做过游戏SDK开发,但是和游戏研发完全是两码事)。

这段管理经历属于我当时职业生涯中最艰难的时刻,因为技术和业务都不熟悉让我感觉寸步难行,唯有每日都在通过不停地和团队成员沟通,在沟通中逐渐发现团队所面临的问题。

比如项目进度目标不明确、团队之间的工作状态不透明、人力资源不足等。

为了让团队可以正常地运作起来,也为了不辜负老板的期望,我除了白天的工作之外,晚上也在学习项目管理相关的知识,不断查阅游戏项目管理的资料和方法。

回顾当年,我也走了不少弯路,比如费尽心思做了进度管理的登记表,写工作日报和周报等。

最后我总结的结论是: 在项目初始阶段,最有效的手段是每日的站立会议, 这也是团队建设的一种方式。

针对不同的团队、不同的时期, 要应用不同的管理手段。

团队成员之间合作过几个迭代之后,经过充分的团队沟通,每日的站立会议也变成了每周站立会议了。

其实绝大多数开发都是想要做事的,特别是游戏开发。在一定条件下给予充分的团队自主权反而会有超出预期的收获

团队管理我觉得最重要的是让团队每个人都能明确并认可同一个目标, 对研发阶段,这个目标最好是一个迭代和一个大版本的目标都要明确。大家都知道往哪个方向去前进,很多时候就不需要过多地干预了。

有一个我认为比去外面团队旅游或者聚餐更为有效的团队建设方式是:迭代回顾

关于迭代回顾这个事情就不是一句半句话可以讲明白的了,有兴趣的我可以后续再分享。

游戏研发管理这段经历大概持续了1年半,期间我因为不熟悉和焦虑经历了长时间的失眠,到最后变得从容。 回顾这段经历真的特别艰辛,但人的成长也往往是建立于痛苦之上,除了收获了不同的管理经验之外,彼时我也不知不觉升职到距离老板最近的人了。

奈何命运并没有过多眷顾我,我们熬过了疫情,但没曾想老板突然接到大老板撤资的消息,最后游戏刚完成就被卖掉,然后就解散了。

原本我也只是安安心心等赔偿金的其中一份子,突然有一天接到了来自另外一位大老板的会议电话,彼时有个我未曾想象过的机会落在了我面前:

挑选骨干成立一家新的公司,担任新公司的CEO


今天的回顾先到这吧,下次再继续。