最近因为新业务的事情一直没有写文章,发现已经4个月没有产出。年初给自己定的每个月至少产出一篇文章的目标算是啪啪打自己脸了。不过虽然2021年已经过去大半个月了,2020年的总结还是要补上的。
2020年整体的印象就是疫情了,从年初武汉疫情的愈演愈烈,到年底的死灰复燃,新冠这个事情感觉就没消停过。上半年由于疫情和各种因素的影响,公司在组织和业务上都发生了很大的变动。对我自己负责的部分来说,整年的一个目标就是降低技术成本,而与降本经常被一起提的增效在业务目前的形势下,则显得没那么重要了。从全年来看,整个技术团队在技术成本上有了明显的降低,提高效能的交付流水线、代码分析平台、DevOps平台、Flutter上也都有明显的进展和效果。总体来看,整个技术团队的成绩还是在期望中,但是鉴于目前公司的形式和状况,很多事情的优先级和重要性则还需要进一步的调整和优化。
还是按照工作、学习和生活三个方面来总结我自己的2020年。
工作
如上面所说,今年工作上主要围绕降低成本、提高效能来展开,尤其是降低成本。而今年让我感触最深的可能是“业务价值”这个词。对于一个商业公司来说,其本质就是寻求产生更多的净利润,所以衡量技术的价值根本就是看他能不能产生业务价值。以前做技术选型或者引入,都是以技术价值优先,而今年公司的状况,更应该是先看是否有业务价值,再去考虑技术实现。比较明显的一个例子就是19年引入的APM系统,当时看来是觉得要紧跟业界趋势,为后续的微服务做好基础建设,而如果以业务价值来看,对于今年的业务状况,性能并不是关键问题,这种系统的价值就很低。
降本
在业务高速发展的时候,对于技术服务、资源的使用是比较粗暴的,甚至一些Redis都达到了1T的大小。而有了降本的前提,需要围绕资源做以下工作。
- 资源的价格优惠:通过框架协议或者商务谈判来争取更低的折扣,从而实现价格的降低。
- 提高资源的利用率:通过梳理监控各个资源的使用率,对于使用率较少的资源进行缩容;引入容器技术,弹性分配资源,提高资源利用率;在申请资源时做好充分的量化和预估,减少资源的浪费。
- 减少不再使用或者价值不高的资源:梳理公司的资源,理清有哪些资源,是否存在闲置无流量的资源。对比业务产出和业务技术成本,对于业务价值无法覆盖技术成本的业务及时反馈,及时决定是否下线。
- 梳理出成本占比高的资源,评估其是否有性价比更高的方案。
- 构建业务中台、技术平台、技术组件化,提高资源复用率,避免重复建设,减少浪费。
随着业务的调整,也经过一年的努力,最终技术成本降低到了年初的1/3,是今年可圈可点的一部分工作。
增效
在提高效能这方面,今年有明显进展的包括以下几部分
- DevOps平台:研发完全可以通过平台来申请资源,自动生成部署流水线,大大解放了运维的生产力,并且进一步推进了公司所有后端服务的容器化,实现了资源的弹性调度和使用。
- Flutter技术:实现了初步的引入,后续需要通过更有效的措施进行推广。从而改变一个功能需要两端开发的现状,降低开发成本。
- 持续交付流水线:接入了自动化测试环节,同时在客户端得到了有效的推进,使得公司的交付基本完全进入了自动化阶段,有效提高了交付速度和质量。
- 大数据上云:旨在利用云的弹性特点,减少运维工作量。在综合考虑了运维成本、团队发展、云服务质量、配合度、稳定性、性能等因素后,最终选择了华为云做为多云方案中的第二家供应商。目前已经逐步在实施中。
平台业务
技术中心的工作还有很大一部分是在平台业务上,包括支撑市场投放的平台、支撑消费品业务的消费品助理平台、支撑数据分析的大数据平台、支撑内部效率的WeOKR平台等。今年这几个平台都有不小的进展。
- Wolves市场投放系统完成了2.0大版本的开发。
- 消费品助理平台实现了打款助手、供货商管理、财务结算、数据大盘、选品助手等功能。
- WeOKR系统支撑了今年公司考核机制的转型。
- Lepoard的事件分析功能已经完成了书签、概览等功能的开发。
区别于底层的技术平台,这一块偏向于业务,但又不直接服务于业务。其业务价值也是我一直在思考的事情。 如何量化出其业务价值是非常难的事情。但在公司目前的状况下,却也不得不去思考。目前采取的方式就是根据业务的需求提出量和调用量来分摊人力成本和业务价值。可能更好的思路是采用类似于内部虚拟货币结算的方式来体现业务价值,这也是打算尝试的方案。
游戏
12月份左右决定开始启动游戏业务的尝试做为公司的另一个利润增长点。对于我自己来说,不管是直接负责一个业务还是游戏本身这个领域,都是迈出了自己的舒适区。不知道这个行业的现状,不知道一个游戏团队的组成,不知道该不该去做,不知道该怎么做。从决定进入这个行业开始,自己就处于一种既兴奋又紧绷的状态,是一种很久未感受到的压力。
一开始通过去拜访一些游戏行业的公司和参加游戏行业的会议去学习。差不多花了将近两周的时间,在很多朋友的帮助下,基本摸清了游戏行业的一个大概情况。再综合公司目前的状况,确定了团队的构成和游戏的方向。到目前为止,团队基本成型,第一款游戏也快出来了。期间从0到1,自己一个一个人去面试,去沟通,去规划工作,去协调公司和外部的资源,目前看来结果还在期望中。但后续的游戏发行和游戏的立项才是重中之重,紧绷的状态估计还得一直持续下去。
希望游戏业务能有一个好的结果吧。
学习
今年的学习,可能主要是对游戏行业的学习了,尤其是对于休闲游戏,自己在求教了很多朋友以及看了很多文章和新闻后,基本上有了自己一个比较客观的认识,也算是开始踏入了游戏这个行业。
而在书籍阅读方面,由于一些客观原因,完成的也有限。
极客时间《研发效率破局之道》
出自FaceBook的大神结合自己的实践给出的如何提升研发效率的经验总结。包括软件开发的本质是什么、如何定义和选择研发效率衡量指标。并从研发流程、工程方法、个人效能以及管理和文化四个方面来阐述了如何提高研发效率。其中的很多知识都具有实操性,自己已经借鉴用在了公司中。
-
这本书不同于去年读过的《持续交付2.0》,更侧重于持续交付实现的细节,尤其在自动化测试方面花费了很多笔墨。总体上,其从如何让团队达成持续交付的共识、基础设施和环境管理、配置管理、测试策略、数据管理、持续交付管理、部署流水线几部分对实现持续交付做了很详细的阐述。但由于出版时间的原因,某些内容如代码分支模式不是业界最新的内容。但对于想要实现部署流水线,这本书的实操性足够了。
极客时间《项目管理实战20讲》+《说透敏捷》
虽然经历过前东家的项目管理流程,但一直缺乏对其系统的认识。《项目管理实战20讲》从项目管理的本质、管理角色的转变、十大领域五大过程方面阐述了项目管理。尤其对于五大过程的一些实践性阐述,很干货,我们也借鉴了不少在公司中。后面的《说透敏捷》则从敏捷的本质、敏捷的5条价值观、12原则以及如何推进敏捷上做了经验和实践的阐述,也非常具有借鉴意义。
-
从上面说的《持续交付》那本书里被引导过来。读完之后总体的感觉是能够让读者对系统稳定性有系统认识和理解,但不够细节和执行。尤其感觉翻译的优点差,很多术语都是中式直译。
-
内容主要是基于《愚公移山》故事中来讲述软件工程本质的。对我自己的启发就是,这世上万物很多本质都是一样的。软件工程类比于移山这个工程,其经历的事情和演进都有彼此想通之处。其中提出的软件工程层状模型(EHM)从程序、过程、工程、组织几个方面阐述了作者对软件工程的理解。
-
这本书是作者对一些经典管理著作的学习心得的总结和思考。包括《科学管理原理》、《福利特论管理》、《工业管理与一般管理》、《社会组织与经济组织理论》、《管理行为》、《组织与管理》、《工业文明的社会问题》、《经理人员的职能》等等,梳理了管理学从科学管理到管理创新的发展历程。
-
重读这本经典著作,虽然其中有些东西稍显过时(如对软件开发时长的经验值,但其没有银弹、用外科手术团队类比软件开发团队仍然是延续至今可以使用的方法和认知。
-
作者拿街头小贩和企业家做类比,阐述了企业的本质是商业智慧。从公司的本质、整体上理解公司、领导需要化繁为简、创造财富而不是赚钱、人岗匹配、打造齐心协力的团队等方面讲述了企业家如何思考和行动以及应该如何思考和行动。
以上是已经完成阅读的书籍,目前包括了2020年未完成以及新加入的待读书籍列表如下:
工作
- 数据即未来
- 未来架构
- 极客时间《许世伟的架构课》
- 分布式系统概念与设计
- 大数据日知录
- 数据密集型系统设计
管理
- 别让猴子跳回背上
- 回归本源看绩效
企业
- 方舟:数字经济创新史
- 公司进化论
- 闪电式扩张
- 创新者的窘境
- 良性增长
- 定位:有史以来对美国营销影响最大观念
- 刷新:重新发现商业与未来
- 超级版图:全球供应链、超级城市与新商业文明的崛起
其他
- 程序员的三门课
- 程序员修炼之道
- 极简宇宙史
- 结构性思维:让思考和表达像搭积木一样有序省力
- 金字塔原理
- 模型思维
- 社会性动物
- 资本论
- 智慧的疆界:从图灵机到人工智能
生活
生活上,每周五会和同事们一起去打两个小时篮球,然后隔一天在家里会利用杠铃、哑铃锻炼锻炼。令自己感到惊喜的是,突然有一天发现以前只能跪着做的健腹轮,现在可以站立做四五个了。但令自己失望的是,年底的体检自己以前的小毛病还是没怎么减少,都有点怀疑自己锻炼的效果了。看来必须同时控制饮食来让自己的各项指标回到以前了。另一方面,年底由于出差的次数越来越多,锻炼次数也受了不少影响。21年需要想办法在出差的时候也能够坚持锻炼。
其他的,生活上一切都在稳步向前,差强人意。
总结
以上是2020年的总结。整体来看,没有什么惊喜的一年。新的一年,自己的计划如下:
- 重点的重点,找到游戏业务的突破方向,实现游戏业务的利润增长。
- 优化研发团队组织架构,提升业务价值,降低成本。
- 继续监控技术成本,控制成本支出,提高性价比。
- 有效推进Flutter等跨平台开发技术在公司的使用。
- 坚持锻炼身体!