CQ备忘录

一间存放故事的仓库

GitHub LinkedIn
3 July 2020

TLDP 012:内功怎么练

by ChenQi

长期主义者的故事(一)

尤瓦尔·赫拉利在《人类简史》中讲到,智人之所以得以统治地球,是因为智人是唯一可以大规模地且灵活地合作的物种。
而智人之所以可以在大规模范围内进行灵活的合作的原因,是因为在“认知革命”之后,智人拥有了创造及相信虚构事物和故事的能力,这些虚构事物和故事包括了神、国家、民族、企业、钱、人权等。人类所有大规模合作的系统,包括宗教、政治体制、贸易、法律制度等,都由于智人独特的对“虚构事物和故事”的认知能力而产生。

扯远了,其实我想说的是,人类喜欢听故事,不喜欢听大道理。喜欢听真实发生的故事,胜于为了讲道理而刻意编造的故事,玄幻网文小说例外。所以现在两大主流文学体裁是 现实非虚构写作百分百玄幻网文

真实的事情不等于真实的故事,又不是法庭审理案件。另外我不爱公开讲自己的事情,总感觉会涉嫌吹牛和自恋。但是有趣的真实故事经过层层打码后,就只剩下枯燥的大道理,没人爱看,更难以相信。

今天的故事就不打码了。


今年疫情影响下,公司业务影响很大,周边部门和团队很多人离开,也有很多人坚守。有的人闲了,也有的人更忙了。
隔三差五免不了会有猎头来问,想不想动一动啊?我都说 NO,我要跟公司共渡难关。猎头只好说,你真有情怀。
我不是有情怀,我只是想法不一样。
公司倡导各团队趁业务低谷期练内功,就想起上一次练内功的往事。


大概是2012-2013年,我在腾讯MIG无线事业群某部门带领一个Android开发团队。当时手头业务不忙,领导又给了一块业务和团队,tita ROM。估计现在都没人记得这是什么东西了。
安卓第三方定制ROM,这个行业和生态存活过那么几年。国外的CyanogenMod,XDA论坛,国内的魔趣,乐蛙,点心,还有BAT三家,都入场竞争过,现在都已烟消云散。

生态红火的时候,是另一个兄弟团队从0到1搞出tita ROM,生态饱和并且开始显露出衰败迹象时,他们迅速走了,各奔东西,于是交到了我手上。

团队成员接受度尚可,毕竟是多了一块业务和团队,而且也没得选。但是不知道该怎么去优化和发展,产品本身前途暗淡,激情更无从谈起。

我跟开发团队说:
任何产品都有生命周期。
诞生,发展,繁荣,衰退,死亡。
第三方定制ROM就是处于衰退和死亡阶段,我们是来给它送终的人,临终关怀,站好最后一班岗。
以及利用好这个产品的优势和价值,也就是ROM开发技术,练内功,做深技术研究。
国内有多少Android开发团队能够有机会一边领着工资一边学习和修改(魔改)Android操作系统源码呢?

日常工作就是修修bug,做点小需求,根据用户和社区的意见迭代版本。
重点工作是全组每个人每一周分别阅读源码仓库中的一个模块。然后每周技术讨论会议上逐个演讲介绍。
这样运作半年下来,我们积累了很多东西。例如:

Google Android 原生自带的通讯录,电话,短信,邮箱,等系统app的源码设计实现细节。才知道Google工程师也会一把梭的撸代码。
mail app的所有Java代码都在同一个目录下平铺,没有任何分层设计。但是从中可以学习SMTP和POP3协议的实现。
Android Java 没有原始套接字API,那么它是怎样实现ping协议的?(这个可以再讲一个故事)
有了操作系统源码,为什么无法制作出可以安装在任何手机上的系统镜像?于是阅读HAL(hardware abstract layer)硬件抽象层,搞清楚开源Linux和闭源厂商基带芯片驱动程序之间的关系。以及类似于PC台式机的公版驱动概念。
为了搭建ROM dailybuild流程,我申请了几台电脑,逐个安装Ubuntu系统,配置SSH,编译环境,脚本,任务。Linux运维基础入门就是这段时间学习的。


后来,tita ROM死了。
团队有了新的项目,有人继续接手,有人转向新机会。
我转岗去IEG互动娱乐事业群某部门,开始从0组建一个手机游戏产品开发团队,是团队第一个正式成员,也因此从深圳搬家到上海。
有两位组员,转岗面试顺利加入微信Android团队,之后不久顺利晋升T3-1。
有一位组员,转岗面试顺利加入QQ欢乐斗地主游戏团队。
其他留在MIG原团队的成员,现在也发展不错。

练内功总归是好事,何况还有工资(股票),慌鸡毛……

tags: