12点过了,已经2019年啦。说说我的2018吧,五味杂陈的一年,迷茫过,也有少许的收获。谨以此纪念走过的2018,和共同成长的小monkey。
迷茫与不安
2018年,是我工作以来情绪波动最大,失控次数最多的一年了。这一年,我面临了好几个3。
在年纪上,快要奔3了。这一年我清晰的感觉到自己的代谢变慢了,以前总觉得自己怎么吃也不会胖,今年一下子胖了10斤,怎么也瘦不下去,最爱的巧克力也不怎么敢吃了。
今年正好是我入职三年了,年初升了3-1。以前总是觉得我在组里算是年纪比较小的,但是现在遇见的小孩都是什么96、97、98的,而且人家能力还很强。今年,觉得自己的成长很慢的感觉异常强烈,尤其是技术方面,有一种老阿姨分分钟就要被职场淘汰的赶脚。这个的确在今年给了我很大的压力,情绪也失控了几次,victor说你回去总结一下你今年的收获吧,看看是不是真的没有收获。
年中的时候回去结了个婚,自此,每每遇到个朋友都会来一句“啥时候生啊,赶紧的”。其实,别人的话对我的影响到还好,主要是我自己想不清楚。我连自己还没有过得明白呢,我一直觉得自己还是一个小孩,所以我希望等我想生的时候再生。也很感谢双方的家长到没有催促,哈哈哈,先在这里感谢了,等以后他们想催了也说不出来了。
收获与成长
monkey虚拟项目组
年初的时候,各团队对于monkey都有一些特殊的需求,smart monkey、h5 monkey、用户行为分析与路径提取等,于是我们成立monkey的虚拟项目组。让大家一起来共同开发。在这里,我遇到的最大的挑战就是共同协作与项目管理,涉及的团队多(11位同学来自7个组),大家的时间很难统一,连最基本的每天站会的时间就换了好几次。大家最原始的需求不太一致,方案在最初很难统一,光界面唯一性和控件唯一性的计算方案讨论了有一个月也没有个定论,进度严重delay。另外,由于涉及到的模块较多,如何制定各模块之间的接口并确保按时完成按时联调。除此之外,我还遇到的问题有,谁不小心把本地测试代码打成docker镜像push到线上啦,又给我发安全工单啦(得亏是内网访问)。
在monkey虚拟项目组这件事情上,最特别的是,它就像一个创业小团队一样,victor在很早前就说过像我们这种一毕业就来腾讯的同学来说,根本不知道还有哪些研发流程,devops,因为我们一来接触到的就是手Q那一套流程。所以,在这个项目上我得到的收获主要是团队开发、项目管理上、沟通能力上的提升。一些小tips和大家分享(很多来自victorhuang的指导),如果不认同或者疑问的也可以找我讨论哈:
(1)在项目管理上,有一些同学适合做填空题,有的同学适合做问答题,那么就让适合做填空题的同学做填空题,适合做问答题的同学做问答题。什么意思呢,就是说有的同学,你只需要说,实现什么需求,那么他自己就会去考虑技术选型和实现方案,那就放心的让他自己去实现好了,只需要在过程中稍微把控一下方案。有一些同学喜欢做填空题,那么就把方案设计好交给他。对不同的同学采用不同的讲解需求的方式。
(2)进度难把控,一定要先识别关键节点,哪些事情是可能block住其他同学的进度,处在关键节点上的时间一定要保证按时完成。开发计划一定要有并执行,允许可控范围内的delay,说清原因就好。
(3)多人开发的过程中,持续集成ci编译、ci自动部署非常重要,每次ci后验证自己的代码没有问题,来确保每一位同学新提交的代码至少不会影响到其他同学。当然如果有自动测试就更好了。我们也没有实现(STP)。
(4)在沟通上,降低说者和听者理解上的信息差。在沟通之前,最好能明确好本次沟通的目标,即主要讨论的事情,以及希望的方案。在沟通过程中注意二次确认,可采用反问句的方式,例如:“你刚才说的方案是A,对吗?”。在沟通之后,一定要会议纪要发给相关者(真正做事情的同学,领导抄送告知就好啦),包括目标、方案、分工和时间节点。避免时间一长相关者可能就忘记啦。
经过半年的磨合,虚拟项目组走上了正轨,我们也发布了2个正式的版本。但是天不遂人愿,组织架构的调整让我们分了BG,各自的业务也有了新的调整,虚拟项目组也真的成为了虚拟了,这也是我最遗憾的事情了,让monkey还没有来得及真的成为一款对外服务的产品。在这里,也再次对虚拟项目组中所有的兄弟伙伴们表示感谢,和你们一起工作真的很开心,白天工作晚上在会议室封闭开发,还周末常常被我拖来加班,也许以后很难再有这样的体验了。
mini项目
2018年,在虚拟项目组的同时,我还参与了今年实习生的mini项目,带了3个小队,遇见了15个可爱的孩子们。收获除了上一条项目管理、多人协作方面之外,还有以下几点:
(1)在自己的时间有限的情况下,一定要为每个团队识别一个充当leader角色的同学,这样可以更加高效的管理这几个小组。
(2)在前期为他们准备题目的时候,我先使用他们的腾讯云帐号为mini项目购买了服务器、数据库。把他们需要使用的环境先搭建了一遍,并在腾讯云上做了部署。当然这种方式,也受到了其他导师的质疑:这个环节其实可以让同学们自己来体验一遍。但是引入另一个问题是其他不少团队最后在部署上线时出了问题(跨域、bug)导致产品最终没有上线。是导师先体验部署环节还是让同学自己完成,这个问题导师在制定题目时需要预估部署的复杂程度来决定。但是对我自己的收获是我更加清楚的了解了腾讯云上部署的流程,镜像触发器等。
(3)印象最最深刻的是产品经理佳玲拍着桌子对我说:“你不要强奸用户”。哈哈哈。
上云与开源
2018年末的时候,我们决定了后续的产品形态是上云(私有云的形态)与开源。因为上云(当然我们原本就在云上),我接触到了docker、k8s、自动部署相关的知识,虽然了解的还比较浅,比起康哥、刘工差得还十万八千里。因为要开源,最近在整理代码,开始看一下设计模式和重构方面的知识。因为要降低接入成本,要无root,我一直在尝试插桩,对逆向有了一点点的了解,尝试了smali,ASM,绕签名验证,做了一般通用型不是很强的apk插桩方案。后来前前优化了一般通用性比较强的方案。
清华大学与中山大学的合作
这一年,还和两所大学有一些合作,因为和清华大学的合作,认识了任谦同学,一个立志要读博科研的同学,在他身上,我学习到了很多优秀的习惯,比如:每天坚持写工作日记,做事情一定要搞清楚本质的原理,写了一手好文档,总结与复盘。在中山大学讲了一次课,在准备PPT的时候,一定要注意,即使是差不多的内容,在对学生讲,对开发讲,对测试讲,对产品讲,都需要去换位思考,听者最需要的是什么,最想知道的是什么。就像找工作时,针对不同的公司和岗位准备不一样的简历是一个道理。
跳舞
最后的最后,今年培养并坚持了一个兴趣,就是跳舞。虽然被嘲笑没有天赋,哈哈哈,但是,我开心呀,算是一个很好的宣泄情绪的方式了。
2019展望
借着这个机会除了要对2018年说再见,也要对monkey说一句再见了(用户宝宝们放心,后面还会有其他同学接手哈)。纵使有万千的不舍,还是要开始一段全新的旅程了——腾讯云。
2018,那些哭过笑过的时光都留在昨天了,希望在2019年,沉下心来学习,好好提升技术能力。小目标还是要做到可实现、可衡量:(1)阅读完《深入理解操作系统》、《深入理解Linux内核》进程调度和内存管理相关的内容。(哈哈哈,本来也是被布置的任务)(2)准备分享一门沟通相关的课程。(3)瘦10斤。把今年吃胖的瘦回去。明年不要啪啪打脸啊。(4)坚持跳舞。(5)情绪少崩溃几次。哈哈哈。感谢领导们的包容。
最后的最后
感谢2018年里那些帮助我、陪伴我的同事、朋友、家人还有我自己。愿每一个孩纸都能成为自己心中想成为的那个人。