当局者迷
这是一篇纯工作思考文章,所谓入行这么多年来我从做过任何打算写关于任何行业内的思考,一来是觉得自己完全不够格,二来是这些工作上的事翻来覆去也就那么些东西,属实是有些鸡毛蒜皮,再来是按照我这个性子,难免会触碰到一些读者抑或是既得利益者隔应之处,甚至还会被说“不懂人情世故”,但就算如此,还是觉得有必要作上一文,聊以慰籍。
前言
处在一个行业风口上的公司,经过这么几年的感受,没有思考或想法肯定是不可能的,但作为一名晚辈此时再高谈阔论互联网如何必然会啼笑皆非,但最近换了个视角后发现想要表达的东西还是不少。回想起当初作为一名校招应届生加入这家公司时,那会还抱着“老子天下第一牛”甚至还有些目中无人的年少状态待人接物,很多时候做出的判断和完成的事情现在回想起来属实是有些令人唏嘘。按照现如今的说法,准备找几件关键节点上的事情自我复盘下,看下当初的判断现在再去看能否有些不同的想法。
在正式开始阅读此文前,请你务必注意,这只是我的个人想法,并且也只是当时的我,现如今的我是正在写这篇文章的我,而不是那时的我,人都需要成长,我也是根据以往的一些记录来回忆起当时的自己所处的状态。当时的自己如何是当时的环境所造成的,时过境迁,当个乐子即可,反而应该是某些可能提及到的人应该去反思去思考还能如何做得更好,而不是来指责我如何如何。
加入字节
这个故事可能很多人甚至是正在阅读此文的你都已听说过。我作为一名实习生首先是在滴滴实习了长达一年半之久,其次是虽然也确实也拿到了滴滴的校招 offer,但临近毕业入职之时居然一个电话打过来直接通知我需要换部门,换岗位,让我自己选是做国际化还是交易团队,而且只能是 Java 后端。
本来当初在滴滴时就已把自己的状态调整划分好上班和下班时间互不相干,所谓上班也仅仅只是作为一门延续下班生活以及自我技术成长的垫脚石,换句话说完全就是把它作为一门有个每个月固定收入的事情,维持我去放手做自己想做的事情的生活费来源。但现如今却被这一个电话完全击破了我当初对自己还未开始的完整毕业生活的畅想,而且当初本身就冲着时间自由和工作量不大的预期才确定接的 offer,薪资待遇也没有什么要求,只是基本上达到了我当初对自己毕业时定下的薪资目标而已。
因此,这种条件我是完全不可能接受的,当初也只是随口应付答应转岗,更何况当时的我正从加州“凯旋归来”,能够非常明显的感觉到身边的人对你的看法和眼神都变得与以往不同了,虽然我当时很讨厌这种变化,但因为受益者是我自己也就作罢,爱如何宣传造势就如何。
然而实际上此时又有一位自称为字节跳动的 HR 姐姐加了我的微信好友,让我从美帝回国后去找她聊聊安排面试,我原本并未把此事放在心上,因为那时的我并不认为字节跳动这家公司除了给的钱多有任何的优势可言,尤其是 18 年有段时间我真的沉迷过一个星期的抖音,几乎每天回到宿舍就会开始刷一个小女孩的搞笑模仿视频,我居然就这么连着刷了一个星期,一个星期后我开始思考过去的这一个星期我在抖音上所耗费的时间,发现好像除了把所谓“空闲时间”给完全消磨殆尽,除此之外并没有给自己带来其他方面的改变。
大概也就是从这时开始,我逐渐对这家公司所做的产品厌恶了起来,甚至发展到后面完全绕着这家公司走,但仿佛就是命运的安排一般,就在你差不多是火烧眉毛的时候,你曾经所不喜欢的东西就这么恰好的出现在了你的面前,告诉你全天下只有我还在乎你。就这样,我几乎是在最后一刻加入了字节。
现在回过头去看,除了时间节点上比较令人感到意外其他的好像也没什么特殊地方,只是感叹命运弄人。只要你委曲求全的苟延残喘,那么你的命运之神或者是你背后的那只大手是会在最关键的时刻帮你一把的,帮你扶正你未来要走的方向。写到这里细想滴滴转岗这件事还是挺神奇的,这些事情好像就是都碰在一起了,命运之神在你毕业时送了你一个大礼,满足了你之前的梦想,然后一个电话告诉你,你未来即将入职的公司发生了一些问题,你可能做不了你想做的事情了,刚好,另外一家公司好巧不巧此时也给你抛出了橄榄枝,并且也顺利拿到了发展更好的 offer,这一切真的是太神奇了,到现在再去回忆起这件事,依旧是啧啧称奇。
维护头条
加入字节后,我所负责的第一份工作内容就是维护今日头条上的“视频” tab。实话实说,这段时间我的满足感降到了极点,首先是我不理解我为什么要做一件技术含量如此低的事情,我可是 apple 选出的全球 350 人之一啊!我怎么能做一些每天就改改 UI 的事情呢?其次是我入职的部门和团队是西瓜视频,但我实际上做的确实是头条,平常除了和两个同为一起做头条的同事外,与其他团队同学的日常工作内容完全不沾边,我无法融入进去,感觉到了割裂感。再者,我当时的 mentor 对我的帮助不足,我到现在都没想明白到底是我 mentor 的原因还是字节的 mentor 就是这样,我完全没有感觉到我在维护头条的这段时间里有太多技术上的成长,甚至是所谓 mentor - mentee 的 oneone 环节都没有太多,我不知道自己应该往哪方面去成长,我自己找到的出路就是用上班时间做自己的事情。
在 20 年春节居家办公的那段时间里,我一直在做一个架构抽象上的事情,现在回忆起来就是我非常机械的把原本是强引用实例化的对象变为解耦后通过 service 模式的接口去实例化,做这些工作时,我甚至都不需要把头条 app 跑起来,仅需保证编译通过即可。本来居家办公时状态就不对劲,每天再做这些事情实在是令我感到难受,每天的汇报就是“昨天替换了xx个接口,今天准备替换xx个”。
虽然这件事在更大的视角上去看非常的有意义,对整个工程的架构演进帮助非常大,可以不用再像以往那般写一个功能或者需求需要依赖如此庞大的库,不同的同级模块之间仅需互相依赖 Service 库即可。但是!还是那个但是,这个替换的事情是需要人来做的,是需要人来的 check 的,是需要测试的,谁去做这个事情都会感到对自身成长的意义不大,我也一样。
可能就是因为 mentor 给予我的帮助不够,并且我每天所做的事情也非常枯燥无味,甚至我都开始有点精神负担,开始对明天没有期待,因为反正明天跟今天一样还是无所事事,所谓需求就是改改 UI,把一次只能看一个的视频变为可以上下刷视频不用反复转屏等等诸如此类的事情,虽然这些事情确实有用,但对我无用,我对这些产品没有兴趣,没有感觉,甚至没有好好写的欲望,这些事情做得越多只会让我觉得自己越没用。
当时的状态可真是太糟糕了,可能也是被当初的这段时间搞怕了,过了半年多后我所负责的内容终于被交接走了,总算是从这个深渊中爬了出来,终于可以堂堂正正说我是一名西瓜视频的开发者了,开始逐渐回归正常的心理状态,开始对自己未来要做的事情产生了希望。
品牌升级
但谁知好景不长,原以为已从深坑中跳出,没想到又进了一个无比巨大的、更令我感到恐惧的无底洞。当时正值西瓜品牌升级阶段,需要大到内容小到 UI 细节都需要做一次完整的升级,而所谓品牌升级,大家可以回忆下大街小巷上的各种商店同样正在进行的品牌升级是如何进行的,是不是需要换一批售卖的商品以及再做一波装修呢?而我就是西瓜品牌升级的“装修工”之一。
当时的我在短短的三个月时间里针对同一份内容“换皮”换了好几次,针对一个 Cell 开了几个实验去验证到底是哪套 icon 会对所谓核心指标增益更大,甚至还要专门针对一个封面图是要小图还是大图也开了实验去验证指标浮动如何等等,每一件事情不管大小只要扯上实验就需要至少两三天的时间,看着这段时间好似做了不少事情,但回过头来看我到底成长了什么呢?这些事情真的需要我来做吗?或者,真的需要做吗?
如果当时正在做品牌升级这件事的我不是一名研发,而是一名 PM 就好了。从产品视角来看这件事是收益一定是巨大的,他们没有知识积累负担,不用担心手上正在做的事情没有技术成长,自己的赖以生存的技能是否可以日渐强大,他们仅需关心经过自己的一波操作下来后,整个 app 的核心指标是否有增长,是否能够撬动更大的蛋糕,完全不需要关心技术上如何实现。
在这段时间每每别人问起我或我自己又再去思考和反思时,我总是恐惧的,甚至是越发的恐惧,我还是不知道为什么所谓客户端开发做的却是这些事情,难道不应该发挥出客户端的能力吗?还是说……是我的选择错了,我就不应该选择一个平台型产品,而是选择一个能够发挥出客户端能力的产品,比如我一直非常喜欢的工具型产品?
因此在半年绩效时,leader 问我是否需要做些团队调整,我立马抓住机会说了“YES!”。
创作工具
在西瓜创作工具这一年多的时间里,我终于可以真正得以在“工作”这件事上变得自洽了。我可以非常明显的感觉到自己的每一天过的非常满足,我再也没有原先那般恐惧明天的到来,再也不用担心自己做的事情是否有挑战性,自己赖以生存的立身之本是否得到成长,只需要去关心是否能够通过自己的所掌握的知识和技能去实现出产品上的每一个 feature。
最大的一个改变是我居然开始对手中所负责的产品挑刺了!在以往的时间里我都是得过且过,因为我完全无法投入其中,我不想把自己的业余时间耗费在自己所做的产品中,我不光是不想去用西瓜,我连向其他人宣传使用西瓜的动力都没有。但来到创作工具后,虽然日常的工作还是基于西瓜但内容已完全变为了端内的视频创作工具,我居然可以做一个如此酷炫的剪辑工具!!!
在写日常需求的过程中,我发现 PM 没有考虑到更好的方案,我主动去说是否可以这么做,不合理的地方我可以直接拒绝掉,并且我居然开始有了领地意识,这块事情是我正在做的也是我负责的,能不能这么做、怎么做以及未来的变化形态如何,我都须要了解,更离谱的是我居然开始像组织上申请预定下一个需求我想做什么,这个事情一定要给我来做等等。
甚至我还专门写了好几篇文档去阐述自己关于当前所负责的事情可以优化的地方,不光是产品上的还有技术上的,以至于自洽到来到创作工具一年后有两次公司其他团队挖我的机会都被我拒绝了,就是因为我正在做着一件令我自己感到精神世界十分富足的事情。同时,也是在这个时候我开始剪视频了,剪辑手法跟着产品迭代而迭代,而且我的业余生活也变得更加富有了色彩,可以说那段世界我才真正感受到了我来的是一家名为“字节跳动”的公司。
以至于发展到后面,我开始逐渐对创作工具的产品形态和功能点不满(褒义),开始自己做一个类似的产品,从视频解码到抽帧,再到转场、文字、时间线轨道等等这些基本功能,都通过自己的想法新写了一套 app,但非常可惜的是没写完,没写完的话那就不能开源了,否则也是一个极好的 repo 呀!
我原本以为工作上的事情可以让我一直自洽下去,没想到变化来得如此的快。首先是我做了两个月的需求被废弃了,废弃的意思就是你连代码都没合入,连上线测试都没有机会,就这么开了一个会,说废弃就废弃了,作为一线研发完全没有任何反驳的余地,如果说开了一个会就可以废弃掉做了两个月的事情,是不是可以说明这件事本身就没想好呢?两个月啊!!!在一家公司工作的时间能有多少两个月啊!这件事是导火索,并且到现在我依旧还是十分恼怒。
我一直都是一个“两耳不闻窗外事”的人,尤其是脉脉之流,我直接把账号给注销了。不是我对这些事情不感兴趣,主要是就算知道了也无法改变什么,而且公司里的事情,甚至是别家公司的事情实在是无趣,有这时间为何不多关注下自己呢?当我从做了两个月的需求中出来后,我开始有时间慢慢的去反思了,开始关注到身边同事的状态,发现居然开始有人离职了?!而且还是那位让我如此钦佩之人,这样一下来,我就被迫往团队的组织结构上去思考了,甚至紧接而来的居然产品团队整个走掉了?!这到底是发生了什么?!虽然后来也是听到了一些流言蜚语,但我还是抱着不问窗外事的状态去做好手上的工作,认为这就是正常的组织调整,不会对未来的工作发生什么大的变化和调整。
但年关一过,我开始关注到大家手上的事情逐渐变得“技术”起来,产品侧的需求迭代变得越来越少,几乎没有任何输入,只能研发内部为了使得整个团队看上去有事情做,一直在加入一些技术侧的所谓改造和优化,这些事情在当时的我看来纯粹就是在自欺欺人,一叶障目。我观察了三周的团队周报里的每个人做的事情,果真如此,产品侧已经整整一个月没有任何的输入,甚至后面还引入了一个重磅炸弹,整个杭州团队被调整。
年后的那一个月,我仿佛就在看一场话剧一样,眼前的一幕接着一幕不停在上演着让我感到十分意外的变化,我深深的感受到了自己又到了调整的阶段,没要必要再继续胶着下去,产品侧一直在打着“我们在调研”的说法屏蔽研发,研发内部为了解决焦虑不停的在做一些奇奇怪怪的事情,我只看到了混乱。
随后我立马开始投入看机会,首先我还是不愿意离开这家公司,其次是外面没有我喜欢的产品和团队,我当时并没有开始喜欢上小红书,否则我应该也会去到小红书,最后是我还没有在这家公司做上一件让我自己特别满意的事情,就这样离开让我毕业后的第一份工作,我不甘心。
因此我开始在公司内部看活水机会,几乎找遍当时公司内自己感兴趣的产品和团队,并精准的跳过抖音,我为什么如此不愿意直接做抖音相关的事情,上文也说过一些,最主要的原因是调性不合,很难有满足感。陆陆续续看了懂车帝、掘金、剪映、醒图、PICO、番茄小说等等我所感兴趣的所有产品,后来才决定是剪映。
剪映
剪映在西瓜创作工具时就早有所闻,甚至当时的创作工具就是从剪映的第一版代码翻译过去的,我开始剪视频是从来到西瓜创作工具开始的,但我却一直在用剪映来剪视频,因为我觉得这就是这个星球上最好的移动端视频剪辑工具,但后面我不再用手机拍摄素材后,逐渐使用剪映专业版,才发现原来剪映要做的事情盘子如此的大,可以说我是先喜欢上了剪映才会想要来到剪映,去完善它。
都说好聚好散,转岗的过程我太曲折了,曲折到当初的我奋笔疾书写了一篇一万五千字的文章去描述这个过程,现在让我回忆起这个过程我的脑子里还是会浮现出当时的那些人所说的那些话,对我产生的影响甚至是阴影都无法抹去,我无法接受我只是在给自己寻找一个更好的选择,我一不抢二不偷三不犯法,为什么你们要对我说这些话做这些事,我彻底对原先的整个团队失去了信心,甚至是都想过干脆一走了之也别转什么岗了,没有意义。
但好在内心的理智还是战胜鲁莽,我还是耐心的坚持到了转岗成功,那段时间 emo 到我都没发现居然我来剪映的转岗生效时间是 5.20!还是有股老天爷又在协助我做了一个判断的感觉,谢谢你啊!一直在帮助我的老天爷。你知道一个人做了一件自己梦寐以求的事情后的那种心理状态吗?你能感受到自己小时候一个月家里人带去吃一顿肯德基时的那种快感吗?我来到剪映后就是这种感觉。
当时我已是剪映的深度使用用户,就算是买了 fcp 的我也只用剪映,我终于可以做一个自己平常在用的产品了!从去年到现在也是一年多的时间里,我从未在工作这件事上把自己的脑子打得如此的开,我一直都没有很好的机会去问过当初招自己进来的 leader 们为何招我这个完全没有 PC 开发经验的人,背后需要付出的培养成本足够支撑起这个选择吗?如果我是他们,可能到现在我都没有很好的勇气去选择一个完全没有 PC 开发经验的人加入团队,因为这个误判成本太高了。
因此,我到现在都非常感谢当初愿意给我这个尝试机会的 leader 们,在我即将失去对这家公司的信心时,是他们重建了我对这家公司的希望。在后续的实际工作中,我也深深的感受到了这种极大满足感带来的效应,我几乎没有写不出来、做不好的需求,换句话说就是只存在我拒绝的、不想做的事情才不会去做,而不会出现确定要做的事情我做不了。
现在回过头去看,我一点都不觉得剪映选择了 Qt 是一个缺点,反而真的是一个绝妙的方案,带着镣铐跳舞的感觉才能够发挥出一个人对待技术这件事的真正判断,之前在写 iOS 时总是觉得整个系统工程框架过于灵活,需要做非常多架构层面上的事情才能把整个工程做得更加漂亮。但在 Qt 这里不是,因为它有自己的一套跨平台 UI 描述,如果你不按照它的模式来,那你就一定有问题,Qt 从底层到业务统一规定了一套 UI 层面的约束,必须给我带着这个镣铐,否则啥也做不成,但如果是非 UI 层面的事情,因为可以无缝衔接 WIN32 和 macOS 的系统 API,Qt framework 作为薄薄的一层 UI 框架,反而完全剥离开了 UI 和逻辑两个角色,十分美妙。
对于未来剪映的发展,我只能说只要不再受到组织结构上的调整,剪映未来的发展空间将会非常庞大,发展速度会非常可怕,adobe pr 这 20 年来的江山在未来几年内可能真的会被逐渐替代,我们静待佳音吧!
Owner
这件事说来也是有趣,在以往做 iOS 时总是会遇到一些做不了甚至是实现效果不佳的需求,但来到剪映专业版后,我一点 PC 开发经验都没有,居然就没有做不了的需求,我一时半会都分不清到底是自己的 iOS 开发的姿势太差还是 PC 开发真的太简单。
可能也正是如此吧,我对业务上的理解可以非常明显的感受到与其他人不同,我不是一个你让我做什么就做什么的人,我是有思想的。还是那句话,我是一个不闻窗外事的人,组织上想如何变化发展都与我无关,我只想好好做好手上的这件事,至于做什么不做什么我从来不关心,但只要确定是我去做这一件事,我会给你干到极致。而且来到新团队后,身边的同事工作经验于我来说都是一倍两倍甚至三倍多,我平日里除了向大家学习作一名新时代“寄生”在公司的学生外,再无其他想法。
但事情的转机来了,命运的大手再次朝着我这边摆动了下。之前我的一篇文章中说过,我来到剪映后就去广州出了两个月的差,做了一个非常牛逼的事情,这个事情在今年 6 月份开始正式对外的 UGC 用户使用,一旦使用的人变多了,这 bug 和反馈就会变多,这是非常正常的现象,我们只需要去配合修复,正常迭代就行。
但好巧不巧,几个问题一直被反馈,bug 量居高不下,历史堆积的 bug 居然能有将近两百个,而且发展到 8 月中下旬,负责该模块的运营同学不堪重负,终于爆发,写了一篇巨长的文档来指责研发不作为。我作为一名小小的研发以及当初 0 到 1 做这件事的人很受伤啊,为什么当初我在广州异地封闭了两个月的时间做出来的东西现在成了这个鬼样子?作为现如今的模块 owner 你在干什么?
因此,我也写了一篇巨长的文档去跟 leader 说了这件事,但我视角与运营不同,我只想表达既然这件事是你的,那你就应该为这件事负责,就应该把这件事做好做到极致,不要做到都被人指着鼻子骂了还在装孙子说“我们下来和运营建个群对一下”,这让我很不爽,因为这件事我是“原始开发者”,我想看到的是完整的、可持续的解决方案,而不是“建个群”这种打哈哈的手段。
后来可能 leader 也是感知到了我的诉求,我在文档中给的解决方案也很简单,要么加强 owner 意识,要么换人。本来“产研运”就是一家,大家都是为了同一件事同一个目标去努力,现在搞得如此对立,我作为一名夹在中间的晚辈不知如何是好。结果就是,这个事情的 owner 换成了我。
从 9 月到现在三个月的时间,我能够非常明显的感觉到自己的精神状态和心理活动真的变得不一样了,我负责的事情变得越来越大了,需要考虑的东西也越来越多了,虽然我对手上 owner 的这件事非常熟悉,几乎可以说细致到每一个类里做了什么事情我都知道,甚至还异想天开过,如果有 5 个一摸一样的我,我们 5 个人一起去完善这件事,我觉得 adobe AE 被干掉也是迟早的事。
但实际上并不能这样,团队的力量在这种情况下就是远大于个人的,只有培养好储备力量在未来某个时刻才能激发更大的能量去辅助整个团队,每个人的特点不同互相补足才是王道。因此,现在我也在有意的尝试让大家故意犯错,因为很多事情我看一眼就知道问题在哪,可我就是不能这么看一眼,因为这一眼我一旦看了,团队里的其他人就再也没有机会去成长为下一个也仅需看一眼就知道问题在哪的人了。
不过这正是因为这件事把我带入到了更深入的一个思考中,首先程序员中年危机这件事是不一定存在的,团队需要一个可以解决任何的人,也需要可以扛下所有压力的人,更需要作为黏合剂修复大家关系的人,看你到底适合做什么。其次,一个人适合做什么是需要团队上给予信任和试错成本的,没有人天生就会做什么事,就算是天才他也需要有发现他所天才事情的机会。最后一点我也是我现在还在思考的一点,我还是没太理解到底是应该说正确的话,还是应该说好听的话。
正确的话不一定好听,好听的话也不一定正确,这点我做得不好,有点太理想化了,可能这还是学生思维没有蜕化完全,我到现在都觉得一件事只要我们都想做,那么就一定可以做好,不要给我说难做、做不了,因为在我完全没有 PC 开发经验的前提下,任何事情交给我,我都做好并且完美了,所以我的经验就是只要想做,就没有做不了的,可以不完美,但一定要有解决方案。
那这就引发出了前面所说的,我太理想化了。但现在如何去解决这个问题,以及我是否需要去花费额外的成本去学习这方面为人处事的方法,还是没想好,等我日后彻底想明白了再作一文吧。
总结
在这家公司的经历没想到就这么说完了,可能明年会到我的另外一个节点,原先我给自己的规划就是最长 5 年走人,现在只剩下半年了,我却一直没能拿出一个能够在这家公司证明自己的东西,只希望目前手上的这件事自己可以做到满意再离开,希望 5 年之际时可以满意然后让自己再续几年,实在是不想留下更多的遗憾,如果连这个都遗憾了,我真的是对这个公司对这个行业没有更多的期待了。
还是文章开头我所声明的那般,请不要恶意揣测我的想法,我只是在表达。因为每次写到这些东西总是有些读者在看完后专门挑其中的几段来针对我,我实在是想不明白到底是没理解我所说的东西还是认为自己可以成为我去替代我来指责我,我只是想表达一波当下的内心感受。
现在回过头去看刚毕业的那段时间所发生的事情多有意思啊,原来自己那段时间如此的士气低落居然是因为手上在做事情体现不出自己的价值,虽然有钱拿就行,但干啥能没钱拿呢?所以啊,如果自己 30 岁的时候再看到今天这篇文章,相比也一定是哈哈大笑吧,原来自己 26 岁的时候居然在想这些事情。