4 年时光总结
2016 年是一个特别的年份。 这是我职业生涯中最重要的一年。 这一年的年初我来到了第四范式,成为公司第 28 号员工,面对空空如也的质量部,白手起家从 0 开始攒家当。 而在同一个时间段也加入到了 testerhome 的大家庭中来,成为第 7606 个会员,写下了第一篇文章。
这两段经历相辅相成共同成长,比如:
- 2016 年 6 月份开始学习 docker,推行容器化改造。 同年第一次编写 docker 与环境治理的文章,在社区的沙龙里分享 docker 实践。
- 2017 年初开始认真学习机器学习。 并第一次参加 MTSC 分享机器学习产品的测试经验。 18 年初前往美团分享并在社区写下了当时的演讲稿 https://testerhome.com/topics/11785 。 这个应该是我写的文章里点击量非常高的吧,当时很开心。
- 2016 年末开始尝试学习 k8s, 2017 年初用于测试环境, 之后在社区大力推荐 k8s 技术栈。 直到 18 年才敢写一些成规模的应用实践:https://testerhome.com/topics/15058
- 18 年第一次推荐公司的同事参加 MTSC,第一次参与 MTSC 台前幕后工作 (大部分时间在打酱油~~ 辛苦了其他同学了,我很不称职,这里说声抱歉,特别感谢大家的包容。)
- 第一次在公司应用深度学习~~ 第一次在社区更新深度学习系列文章。 第一次在公司应用大数据~~ 第一次在社区编写 Spark 的大数据应用。。。。 恩恩, 好多个第一次。
时光荏苒,4 年一轮回,我跟公司也快要续签合同了。 我再 Testerhome 这个大家庭也跟大家扯了 4 年的蛋,100 多篇文章。 我今年 32 岁,古人语三十而立四十不惑。 能在这样的关键时期同时加入第四范式和社区大家庭,何其幸哉。
2016
2016 年初, 结束了 10 个月的挣扎, 从踌躇满志到心灰意冷仅仅十个月, 我就这么离开了 58 到家入职到了第四范式。 我总结我这个人其实极其幸运, 上初中和高中全是踩着分数线入取,上大学的时候报考计算机系差了 10 分,但是赶上学校扩招所以我又一分不差的死死的踩在了分数线上。 加入第四范式的时候也是,本来第二天就要入职其他公司了。 只是抱着试试看的想法来面试,我还记得当时最后跟戴老板聊的时候我说我惟一的要求就是你现在就告诉我面试结果,因为我定了明天去另外一家入职。当时说的特别直接特别直白, 可能是已经有下家了所以不担心惹人不快吧。 然后就是 1 个小时以后 offer 就发我邮箱里了。 就是这么个试试看的一次面试, 让我一呆就是 4 年。 所以我是幸运的, 虽然差一点就跟幸运女神失之交臂,但我还是抓住了她的裙摆,28 号成为了印在我身上 4 年的标记。 彼时的质量部一贫如洗,而我也又是菜菜的,说不慌那是谎话。 好在非常幸运的第一次选技术栈就选了 docker。 当时部署环境很头疼, 所有人共用一个环境, 每次部署都是各个模块的研发自己上服务器上手动部署。 所以当时非常想用 docker 弄出一套自动化部署机制。 索性我选 docker 选对了,折腾了一段时间以后开始推广。我到现在还记得佳维同学在周会上表扬我的时候,我心里的那种激动,那是我第一个自动化部署工具, 也从此开启了我的容器生涯, 直到现在我仍然都是容器生态的死忠粉。
也是在这个时期,我再 testerhome 上发表了第一篇文章。 当时想写系列文章,就起了个很中二的名字,就是现在的《测试开发之路》了。 那时候没有想到这一写就坚持了 4 年。 就像我刚才说的一样,我很幸运。 刚开始写文章的时候受到的反响就不错。 我就更有动力去写了, 当时在工作中学到什么, 用到什么, 全都写成文章在社区里发。 尤其是发 docker 文章的时候, 那时候 docker 还没有流行起来。 社区里几乎没有发 docker 成体系的应用实践的。 所以反响很不错, 那时候特别喜欢躲在电脑屏幕后面看着大家的留言窃窃欢喜。 我是个很虚荣的人,得到大家的认可使我越加的有动力去更新文章。 与 Testerhome 社区的第一次互动也发生在这一年, 我记得好像是我看到了社区和饿了么联合举办的测试沙龙的广告。我就跃跃欲试的想去做讲师,然后联系到了思寒报名。 那时候 docker 是新兴领域,属于基本没多少人用过。所以我的 topic 倒是很容易受到大家的肯定, 没用过的东西都有神秘感么, 都会天然觉得高大上。。恩恩, 人性么。 其实现在看当时的水平, 咳咳,不说这些了哈哈。
总结:这一年百废待兴,前途可期。
2017
2017 年初,又是一个足以影响我职业生涯的决定。 那就是拥抱容器编排,在测试环境中引入 k8s。 其实这个事我预谋了好久了, 16 年末的时候就开始学习各种容器编排框架--mesos,docker swarm, k8s。 我如魔障了一般把宝压在了 k8s 上,如同赌徒一般执迷不悟。 虽然想搞容器编排这事已经被其他人怼过 2 次了,因为这技术实在太新了,公司里没人用过,风险太高。但我还是没死心。 我还是在 17 年初的时候跟老大说我想做 k8s,原因 XXXXX。 老大当时说什么我已经忘了, 大意就是要机器给机器,要时间给时间, 只要你能搞出来。 恩, 我又一次幸运的碰见了支持我的领导。 所以破釜沉舟的开始搞,无数次砸掉键盘又无数次捡回来继续撸, K8S 真的难,直到现在我都给人说 K8S 它不是一个简单的事情,不要想速成。尤其是我们这帮子 QA 的技术基础本来就差, 没有运维和分布式计算等基础知识和经验, 学起来是真费劲。不过最后我还是成功了。 测试集群正式启用的那天我欢呼雀跃。运行一段时间后,已经多达 60 多套环境部署在集群上。 我刚才说这是一个足以影响我职业生涯的决定,正式在这一年让容器彻底烙印在我的职业生涯里, 而它也是一个影响到第四范式质量部未来技术风格的事件。 现在看,我们如今已经是多么的依赖 k8s 了,当时打下的技术基础成为了我们未来的资本。同样是这一年,我开始在社区大量更新 docker 和 k8s 的文章。 我像是买到了新玩具的小孩一样,总要去显摆显摆。
当然这一年除了 k8s 之外,我又给自己定了另外一个任务 -- 机器学习。 我们公司的产品是做机器学习的, 如果我总是对机器学习似懂非懂的如何能做的好? 所以我决定开始跟着吴恩达先生的课程开始学习。 这东西也是真的难,以我的基础想跟上课程真的很痛苦, 各种数学公式,概念,算法折腾的我不轻。 当初的学习小组到最后只剩下我一个人学完了整个课程,大部分人在第一部分就放弃了。 而我当初甚至也一度萌生退意。 不过我当时很会逼自己, 我再社区里直接写了一个深度学习的系列文章的第一篇, 昭告社区同学, 我要写深度学习的系列学习帖子了。 这下子没回头路了, flag 已经立出去了, 这要是中途放弃了写不下去了,不丢死人了。 于是硬着头次的去学。而当我第一次用 tensorflow 在自家的 notebook 上写出一个 cnn 的时候,我又开心的笑了。深度学习系列的学习贴也一直更新到了最后。 当然这中间也发生了一件事,17 年我以讲师的身份参与到了 MTSC 测试开发大会中, 正是分享人工智能产品的测试经验。 这也是我第一次跟社区的管理员同学们正式接触。
总结:这一年迎难而上,不屈不挠
2018
2018 是绽放的一年, 过去两年努力的积累和沉淀让我开始收获果实。 公司内部大家对我越来越认可,让我去做越来越重要的事。 这一年的努力彻底统一了自动化测试体系,回想当时遇到的阻力,打的硬仗,也是一阵唏嘘啊。 这一年也让我明白了,有人的地方就有江湖,有江湖的地方就有斗争。并不是所有的人都喜欢好好做事,总会有人在不经意间在背后捅你一刀, 两刀, 三刀。。。 18 年也是发火最多的一年吧, 不过不开心的事就不提了,反正不论暗箭明枪我都挺过来了,哥并没有倒下。 这一年的努力直接奠定了我们团队已自动化为主的主要工作方针,大量的自动化用例被编写出来, UI,接口,SDK 等自动化形式各处开花。光 UI 自动化在高峰期时就有 200 余个浏览器共同触发测试。 这一年年初被邀请到美团分享机器学习产品的测试探索,演讲稿我发到了社区,我在这就暂且不要脸的评价一句,算是好评如潮吧 (😂)。 这一年我特别荣幸的参与到了社区的管理工作,参与到了 MSTC 2018 的准备工作中 (咳咳,基本上工作其实还是其他同学做的, 我这个真的不称职)。 我认识了好多特别优秀的人, 我佩服这群人, 纯粹的兴趣,情怀和理想支撑着 Testerhome 越做越大。 这一年最大的遗憾是没能到场帮助大家举办大会, 所以 19 年的时候我推了所有的事参与进来,能尽一点力就尽一点力。 这一年也是我再社区文章爆发的一年, 写了好多文章, 大数据的, docker 的,k8s 的,深度学习的。 记得好像也去参加了一些大会分享。 其实我都忘了是 17 年还是 18 年的事了。 其中有个插曲是去南京大学作为嘉宾参加全国软件测试大赛, 我了人家学校门口被两个小姑娘叫住, 她们是全国妇幼的志愿者, 拉募捐的,我当时心情激动就捐了点钱, 那是一种久违的感觉,校园的气息,各种社团,学生会,公益组织让我怀念了起来。话说昨天我还收到快递,我心里就想我真没捐多少,用不着每年都送感谢信。。。。。
总结:这一年只有一个词 -- 绽放
2019
有人说自信是一种日积月累的气场,也有人说成功是一种长时间的习惯。 不管谁说的吧,我觉得他说的对。 这几年我太顺利了, 除了几个小插曲让人郁闷以外, 不论在公司内部还是在社区我可以说都是一帆风顺的。 先说在公司内部推行的东西几乎都成了, 都收到了认可,不论是坚持 java 技术栈,还是推行 docker 和 k8s 这种容器化的技术, 甚至大规模铺开分布式 UI 自动化的这种完全反经验的策略 (经验上一般都是大规模铺开接口自动化而不是 UI 自动化) 都收到了巨大的成效和认可。 怎么说呢,开个玩笑的话我说我飘了。不论是之前在 58 还是现在在第四范式, 我习惯了从 0 到 1 从无到有。 我习惯了自己研究自己探索自己做决定。 长期的这种工作状态加上一直以来的成功让我培养出了一种习惯。 就是我觉得我做的事情,我做的技术判断一定是对的。 换言之我做事变得特别有底气, 19 年我又引入了两种自动化测试类型,分别是稳定性测试和混沌工程,都是基于 k8s 技术栈做的。 稳定性测试是长期运行全链路自动化测试的同时监控 k8s 的方方面面,测试长期运行下 (周级别) 产品依然稳定提供服务。混沌工程就是在 k8s 中模拟各种 k8s 的事故,验证产品拥有充分的高可用能力。 这两种测试类型都是全自动化,golang 语言。 我就捧着一本 go 语言的书,跟着公司的 k8s 大牛学习 k8s 的核心模块--client-go, 尤其学习其中的高级接口 informer,自定义 k8s 控制器来完成这两个测试类型的需要。 正如 16 年引入 docker 17 年引入 k8s, golang 和 k8s client-go 的技术栈又是质量部之前没有的技术储备。 很多没有自信的同学一般都不会这么尝试, 但我做了,而且我都没想太多, 开玩笑,当初从 0 学 k8s 和机器学习我都挺过来了, 一个 golang 算个毛线,我甚至没想过会失败。 在我的心里,我认为这就是一件很普通的事情,跟以前一样 ---- 学习,实践, 成功。 同样, 这一年我做了产品中数据治理专项的 owner,负责整体产品方案, 我到数据智能部轮岗做了开发。 甚至我十分强势的推翻了不少的需求, 不少的设计, 都是因为长期以来我养成了相信我自己判断的习惯。 2019 年, 我有了自己的气场。
2019 年在社区,我弥补了 18 年的遗憾,MTSC 大会到场负责高新专场的现场主持。我终于可以安慰一下自己不是一点忙都没帮上。 这一次我见到了各位伙伴的真人,不在是微信上的一个个的头像了。 这一年我们讨论了好多社区相关的东西, 大家都有一种先天下之忧而忧的赶脚。我再群里不常说话,但看着他们讨论心里倒是异常的踏实。 这一年更多的精力放在了家庭和工作上, 导致断了近半年的文章没写,很是不好。
总结:这一年尘埃落定,稳步前进
尾声
范式 5 年,社区 7 年。 我是从中间才加入的, 我陪伴了你们,你们也陪伴了我 4 年。 让我们期待下一个 4 年。