前言

其实这篇文章的内容是想跟我带过的 2 个徒弟说的, 只是直到离职我们都没有推心置腹的聊一次。 我们似乎一直没办法面对面的坦诚说出自己心里的想法。也许我做的不够好, 没能赢得他们的信任。

很遗憾你们走了

是的, 很遗憾最终你们决定离开了这家公司。 我很惋惜, 你们都是我面试过的, 面试的评价都很高。 面试完老大问我你们的水平的时候, 我直言我再你们这个岁数的时候,技术上绝对比你们差一截。 你们两个在某些方面很像, 比如你们都喜欢自己折腾东西, 自己学东西。 比如你们都不善言谈,什么事都憋在心里。 比如你们都追求技术, 你们都不喜欢做杂事。比如你们都提过要转岗到研发。 你们不知道, 面试完你们以后,部门总监都跟我们讨论了你们两个身上的特质, 讨论要不要招你们进来。 你们的技术能力和学习能力是连总监都肯定的, 我们担心的是你们能陪着我们走多久,或者说是我们能留你们多久。 因为你们身上还有另外一种特质, 就是不安定,跳槽频繁。 你们有着强烈的技术情结, 希望接触底层的东西,希望学习更厉害的技术。 但其实你们不知道自己到底喜欢做什么,适合做什么,只是知道自己一定要去做更厉害的事。 你们之前所有的团队都不符合你们心目的理想的样子, 所以你们离开了。 而我们担心的就是,也许我们这里也不是你们心目中理想的样子。 而我们的担心最终确实实现了, 你们最终也决定离开了这里。 你们的走没有错,既然有更好的追求就应该在年轻的时候去拼搏,而不是等到了我这个岁数有了老婆孩子的时候开始患得患失。而且团队中也确实有这样那样的问题,这些问题让你们愤怒,烦恼,迷茫和失望,虽然我都知道,可我不是 boss,很多事情我也无能为力。 所以我也没有强求你们留下来, 只是惋惜我们没有那么的好聚好散。 我希望你们能够找到更好的归宿, 同时也想对你们说一些心里话, 希望你们不会因为我说的这些事情成为你们未来的障碍。

懂得技术是用来创造价值的

你们都是做技术的材料, 你们也都有着很强的学习能力,学的比别人快,出活的时间也比别人少, 但你们总是对一个事情很快就失去了热情和兴趣,因为当你们感觉这项工作要用到的技术都学的 7788 的时候,就是你们开始厌倦它的时候。 于是你们不再喜欢对你们来说是重复劳动的事情, 你们的效率开始下降,你们的成果开始变得让人不是那么满意,因为你们的心思已经不在这上面了。 而我希望你们能慢慢的改变这种状态,学习技术的过程是刺激并富有挑战的, 我们都体会过刚学会一门技术时的那种兴奋和成就感, 但当一切的东西都变成日常工作后,日子就变得平淡了起来。 但工作就是这样的,用你学成的技术为团队创造价值才是这门技术的价值,也是你自己的价值, 而如果只是学会了这门技术,却并没有使用它做成什么事情,我觉得就白学了。 就像你们刚入职的时候我跟你们说的,我不希望你们在这里学习了一堆很厉害的技术后,最后却什么都没做成。 这是我最不愿意见到的结果,我见过很多这样的例子,很多人明明技术猛如虎,但最后却郁郁不得志。 我认识一个哥们,他当时学习了最新的技术做出了第一版的工具,那时候这个工具是团队最需要的。但当他做出了最初版的工具后, 就开始面对各种维护,文档,优化,推广等工作。 这些工作对他来说不再有挑战了,他也厌烦了一遍又一遍的教各种不同的人做同样的事情。 不得不承认第一版的工具是有缺陷的, 它不好用,十分的不好用。 需要一定的时间去优化,并推广到各个团队中。 这中间有很多文档的工作, 很多没有什么技术含量的编码工作, 要一遍又一遍的去教在他眼里是白痴的同僚。 这些破事很烦,但他们很重要。 最后他放弃这项工作,摆出一副这个工具就这样,你爱用不用的态度。 后来有人接手了他的工作,在他的工具的基础上优化了些东西,完善了文档并且也愿意分享给更多的人,这个人积极的收集用户的反馈,不断的完善这个工具。 最后绩效拿 A 的是这个人,而不是他的原作者。 这个哥们曾经抱怨过, 他觉得他做了很多事情, 也攻克了很多很难的事情,但最后的收益却没有落在自己头上。 他可能到现在都没意识到,他是自己把自己的成果拱手相送的,都不用别人来截胡。 我不希望你们也变成这样郁郁不得志的样子,我希望你们明白工作中就是有很多没有激情和挑战的破事,我希望你们能耐下心来做成一件又一件的事,我希望你们明白结果导向的重要性。 管理层不会太在乎用你用了什么高大上的技术, 他们更在乎的是结果。 我希望你们能珍惜每一次去做事情的机会, 因为你们在每一个团队中都不是能拥有无限多的机会的,做砸了一件事没关系,还可以挽救,但是两件,三件之后,你们再这个团队的仕途就彻底完了。 也许我们都会想,老子一身技术傍身,此处不留爷自有留爷处。 但我们早晚都要在一个地方稳定下去的,但随着年龄的增长,我们又有多少次机会可以挥霍呢。

保持对技术和业务的敬畏之心

如刚才所说,技术要产生价值才有意义。而这个价值往往在业务上,能够支撑日益增长的业务的技术,是我们最需要的。 我之前写文章的时候曾经写过遇到问题的复杂度决定了技术深度。 你们两个都是跟着我学过 docker 和 k8s 的,可惜的是你们没有在上面积累多少时间就选择了离开,我还没来得及跟你们讲 docker 在咱们团队的前世今生。 其实在咱们团队里有几样特别有意思的技能,它们的技术栈发生过多次翻天覆地的变化。 环境部署是其一, 当我刚来公司的时候,环境是部署再虚拟机上,每个模块的研发自己去部署自己的模块,很多人共用一个环境,大家苦不堪言。后来我用了 docker,开始每个人都能有一个环境了。 后来团队的人越来越多, 单台的 docker 撑不住的时候。 我们选择了 k8s, 于是还是每个人都有一套自己的环境, 但是是部署再很多个节点上的。 后来先知 3 来了, 整个部署架构和人员都有了大调整。 部署方面有专门的研发和运维, 他们大力实行 k8s 下的微服务架构, 我再做了一段时间后也把测试环境交给了我的接班人。 现在他们还在 k8s 下的微服务继续奋斗着,整天面对着各种各样环境里的各种各样的问题。 你会发现随着业务和团队慢慢变的复杂, 我们的玩法也从简单变得越来越复杂。 我们遇到的问题也越来越难, 对技术的了解也越来越深, 技术不是自己学习时候或者小范围使用的时候所表现出来的样子, 我们容易对一门技术失去兴趣,觉得不过如此, 是因为我们还没遇到真正复杂的场景, 但遇到复杂的场景需要时间,需要让公司的业务发展到一个复杂的程度。 有时候你会发现,即便是以前我们看不上的技术,觉得 low 的技术。 在面对复杂的场景的时候也会不一样的。 比如在测试行业里, 自动化技术的鄙视链中最底层的 UI 自动化, 在咱们这种 TO B 的产品里,就有了不一样的情况。 因为你会发现, TO B 的业务, 复杂到让人怀疑人生,因为你的用户不在是 C 端的小白了。 你的用户可能是工程师,数据科学家,建模工程师, 数据分析师, 股票操盘员等等等等。 复杂的业务逻辑就会有数以百计甚至千计的 UI 自动化测试。 而且我们要维护很多不同的版本的产品的自动化测试,每天 daily run。 所以如何维护好这么大体量的测试用例, 如何在需求变更的时候不造成维护噩梦, 如何能让编写脚本的人能迅速写出测试用例,如何能让这么多的 case 在半个小时之内运行完成,如何让出了名不稳定的 UI 自动化一直稳定下去, 而且不光是在公司内运行, 还要放到客户场地内运行(无外网,无 windows 机器给你启动浏览器,但是运行过程和结果,需要让客户看见)这些都变成了挑战,所以我当初光是搭架子就搭了将近两周。没有经历过大体量的 TO B 业务的人是没有办法想象的到的, 也许移动互联网已经让太多的人认为软件也就是在手机上一个 APP 的体量了,所以造成了现在这么多人轻视甚至鄙视 UI 自动化的现状。 曾经有人奇怪你的文章里又是 docker,k8s 又是深度学习的,为什么还在做 UI 自动化的事情,不应该早就转手给其他人了么。 那是因为我面试了两年多, 没碰见一个人有这个能力接手这里的 UI 自动化, 所以我只能继续 own 着,带着一帮小弟小妹们继续奋斗着。

所以了说了这么多其实是想跟你们说, 不要那么快的厌倦一门技术, 也不要那么的抵触业务,耐下心慢慢做下去,你会发现不一样的天地。

尽快找到自己想做的事

你们在提离职前都或多或少的表露出了做的事情不是自己想要的。 我很希望你们能说出你们真正想做的事,这样我们也就省事了, 直接调你们过去就是了。 如果这里所有的事情你们都不想做,我们也就早一点死心了。 可惜你们自己也说不清楚自己到底想做什么。 所以我希望你们在下一个东家里,尽早的找到自己想做的事, 然后专心的做下去。 你们现在处在一个很危险的转折点。 现在你们年轻,刚毕业没多久,以你们的工龄能有这样的水平是肯定已经超越大部分同龄人了。 但你们现在的状态同样很危险, 你们学过很多东西, 但没有在任何一个方向上深度的做下去过。所以你们现在还达不到资深 或者 高手 或者你们觉得什么其他的词的程度,而要达到这种程度, 需要时间的积累,需要复杂业务的磨练。 之所以你们现在获得的评价这么高,是因为你们的年龄,你们年轻。如果在过几年还没有长足的进步,你们就不会再获得这样的评价了。 不少人卡在这个水平上很多年, 我不希望你们也一样。 所以你们在这里的工作不是你想要的, 我支持你们离开去找更好的归宿。 但我希望你们尽快的找好方向,沉淀下来。 你们没有几年可以来回的换方向了。

尽量做个简单的人

其实这是一个个人意见, 我也不知道对你们好或者不好。 你们都沉默寡言,不善言谈。也不喜欢表达自己,直到你们离开, 其实我都不是很确定你们到底为什么走的。 平时不爽的时候你们也都选择忍着, 可能你们怕得罪人, 可能你们怕影响团队气氛。 可是我觉得这样对你们自己真的不好, 不说气大伤身,尤其有气还憋着。 而且你们不说出来,你们的问题也永远解决不了, 直到你们忍无可忍的时候一怒走人,我们谁也挽留不了。 而且怕犯错,怕得罪人,平时不发表意见,容易让人产生你没有主见,不堪大用的印象,你的存在感低,影响力低。 有些时候风险和职位是平行的, 承担不了犯错的风险,那你永远也爬不上去。而且我很怕氛围特别好的团队, 大家都是和事老的团队一定是没有战斗力的团队。 有自己的意见的时候要表达出来,甚至有时候吵起来也可以。 你们看我就总是怼人, 有时候连我自己的老大我都怼。 我不怕得罪他, 我知道因为工作上的事怼他是不会得罪他的,他也不是那种小肚鸡肠的人,否则我早就滚蛋了。所以我们尽量做个简单的人,不要在心里想那么多,怕那么多。

做发现和解决问题的人

其实我觉得最遗憾的就是,你们在这里的时候,没有跟说过现在项目中有什么问题,我想用什么手段去解决它。 不论是技术上的还是流程上的。 连我自己都知道现在这些项目里,工具里, 有很多不合理的地方 (虽然这特么的就是当初我自己设计的), 我特别希望你们能站出来说我有更好的手段来实现它,你给我时间给资源。 就像当初我引入 k8s 的时候对我的老大说的一样。 我希望你们是发现和解决问题的人, 而不是跟随他人脚步的人。 我厌倦了每周给你们派活,你们来执行这种在扼杀你们创造力的事情了,我对你们的期望更高。 其实 key person 也好,团队骨干也好,还是什么测试架构师什么高大上的虚弦。 无非就是解决的问题足够多了, 人家就认可你了。

尾声

其他的也不知道说啥了, 希望你们在新东家过的比这里好吧。


↙↙↙阅读原文可查看相关链接,并与作者交流