过去一年多自己在工作上有些折腾,在公司内部换了两次组,然后现在又回到了第一个组,这个剧情发展我自己都有些惊讶。在不同的环境下工作过之后,回到原组(以下用A组指代)竟然最舒服。这一年多来的感悟和收获概括一下,其实就一句话,知道自己喜欢什么,适合什么,以及想要什么

在A组待到一年半的时候如愿升职了,于是就想着换一个组锻炼一下。换组的主要原因是觉得这个组的技术栈比较单一,新项目都是大同小异的,只是为了解决不同的业务问题而已,希望能去一个技术比较强的组学习。还有一个原因是觉得在这个组大家太 chill 了,其乐融融,也没什么压力,大家以前不是都说“有压力才有动力” 吗,那或许应该 push 一下自己。

于是有些草率地跑到了B组。说“草率”其实是后来的认识,当时还是试图做足功课,跟 manager 聊了两次,也跟组员聊了,还看了大家给 mgr 的打分,同时面试也不容易(给了我这个组 bar 很高的感觉),心想哪能有太大问题。可是后来在B组的经历挺不好的。当时的项目只有我跟另一个在远程工作的组员做,组里不同项目的人没什么交流,我感觉每天上班都跟机器一样,连说话的人都没有。当时的 mgr 仿佛更热衷于 science 方向而不是 managing ,经常跟 scientists 讨论研究问题,就是对我的体验和需求不怎么上心,很多问题不帮我解决。我曾经以为A组的 mgr 每周 one-on-one 问我开不开心没什么意义,以为A组每周的 happy hour 也没什么意义,那时才意识到有一个真正关心你的 mgr 是多么难得,才意识到工作的环境和组员的关系也是如此重要。

我曾经以为作为 mgr 也要“上进”,要不断 “学习” 才行,我那时才意识到,判断一个 manager 最简单的方法(从自己作为下属的角度)就是看 ta 关不关心你的需求,以及最重要的是能不能去真正帮你解决问题。不能看 ta 说了什么答应了什么,而要看 ta 到底做了什么。比如有些 mgr 会积极地让你写 career doc,但 ta 从来不跟你 review;有些 mgr 在 one-on-one 只讨论项目或者 ta 自己的想法,从来不问你的状态,或者问了却又不当回事;甚至有些从来不跟你设定一个正式的定期的 one-on-one.

而且通过这个经历,我对“什么组是好组”也有大概的认识。首先 mgr 要关心你的职业发展和需求,要关心你每天工作得是否开心,这是最基本的,我觉得这个标准的比重至少占 50%。然后是这个组做的项目好比较有意思,有技术上的挑战(每天做事不会觉得太无聊)。然后是组员之间的氛围要好。说白了这些都是决定你每天工作是否会开心,以及能否从工作中进步。像组里的 oncall/ops 是否会很重这些其他因素,如果这三点好了,都不会太差的,至少会往好的方向改进。我觉得这些方面对 junior engineer 比较重要,senior 受到直属 mgr 的限制应该会小很多。

那么换组的时候怎么去了解这些情况呢?跟 mgr 直接聊当然是必要的,但是很难获得全面的认识,而且也很难像“面试”一样去问 mgr 一些比较尖锐的问题。可以考虑看看一些客观的信息,比如看看组里写的代码,看看 code review 组里的同事都是怎么互动的,看看 ticket queue,如果公司里有一些调查评分的话也可以看看。一定要综合各方面考虑,比如说B组的内部年度调查评分并不差,我想应该是因为那个组主要是 scientists 评分, engineer 太少,这些 edge case 是很难从局外人的角度考虑进去的。同时,不要着急,如果一个 mgr 说我们这有个特别好的机会你赶快来,晚了就没机会了这种,千万要小心。另外,跟组里的其他人聊也是一个好方法。不过总体来说还是很看运气,因为组里的人也很可能由于关系不熟只透露片面的事实。最好就是那个组里有认识的朋友,就是通过这个我去了C组。

C组其实看上去很好地满足了我的”需求”:所做的领域是很热门的,而且很受公司重视,做的系统也很硬核,还跟机器学习相关,senior 技术也很强。说实话我的确是学到了挺多东西的,但渐渐的我意识到,我还是不开心。原因有多方面的,但最主要的原因就是,我意识到在一个技术厉害的组本身对我来说并不是最重要的 —— 有当然更好,但不能以其他因素为代价。具体来说,当时在C组基本上就是像学生写作业一样,因为 senior 技术很强又挺强势,其他 engineer 都仿佛要看着他的脸色,大家没有太多自己把控的余地。当时很多东西我只是知道挺厉害的,但打不起兴趣去自己研究;而现在回到了A组,反而还会主动去看B组的代码。这有点像工厂里拧螺丝和让你设计一个东西哪怕是零部件的区别,前者把人限制在一个很小的框架里,显然不能给人足够的成就感和控制感。而且C组的 management 也有变动,没有人在职业发展上帮助我,在那样的环境下实在看不到希望。(我在想,如果公司文化里没有把员工的体验和快乐放在一定重要的位置,这些“混乱”的情况是很容易以各种形式出现的。好的组都是相似的,不好的组会各有各的不好。)

对我来说,一个好的环境,一个支持我的 mgr 和组员对我来说挺重要的,因为在这样的环境我能更加自由地去发挥,实现自己的想法。或许有些人觉得技术的学习更重要,或许有些人喜欢在压力大的环境下工作,这些人也许会喜欢B组的环境,但是这不适合我。知道自己喜欢什么,适合什么,以及想要什么,很重要。(再插一句个人想法,从我跟一些朋友聊天的经历中来看,作为拿着签证工作的 junior engineer,特别是在传言 PIP 盛行的公司工作,很多人还是没什么安全感的,特别怕不知道哪天自己就被PIP了,所以或许找到一个好的 mgr 这个因素对很多人来说也是适用的。)

回到A组之后感觉好多了,而且很神奇的是之前积攒的对工作的迷茫和倦怠也渐渐自动消失了。随着业务的扩展,A组也开始有很多新的不太一样的项目,现在整体的感觉还是挺好的。之前在不同组的经历虽然比较折腾,但是很大的好处就是让我接触了很多不一样的技术和不同人做事的方法,这也让我能用一个新的视角去看A组的系统,也能产生很多改进提升的想法(这说明与其他组的人交流,或者说向外看挺重要的)。而之前所说的“没什么压力”,纯粹是因为 mgr 能够 push back,而不是简单粗暴地将上面的压力施加在员工身上。当然不能要求 100% 完美,但至少我所看重的方面都挺好的。

那么怎么知道自己想要什么喜欢什么?我是通过自己去碰壁懂得的。 Designing Your Life 提到了一些成本更低的方法,比如说去采访别人、写 Good Time Journal (就是记录什么样的事情能够让自己更感兴趣,做什么事情能够给自己提供能量而不是消耗能量)等。书里强调,design thinking 的一个原则就是不要觉得自己喜欢什么,而要通过具体的实践(比如说prototying)去感受。另外我想说的是,不要忽视了环境对人的影响。The Blue Zones of Happiness 的作者调研了世界各地幸福指数最高的地方,他发现那些地方的人们并没有刻意去追求幸福,对他们来说,幸福往往是自然发生的。“It flowed from their surroundings… the healthy choice wasn’t just the deliberate choice;it was the unavoidable choice.”

也许在旁人看来在C组这样一个被公司高度重视的 org 对人的成长更好,而回A组仿佛是在一个已经成熟的 org “养老”。我从小也是受着「没有困难,创造困难也要上」的那种教育,仿佛通过艰苦决绝的奋斗得到的东西才是最好的,但真的是这样吗?现在我更愿意去了解自己喜欢什么适合什么,然后选择那些轻松、愉快同时最好也深刻 的东西。每个人都不一样,每个人做出的选择自然也不同。Follow your heart. Otherwise, it’s a matter of time before “your soul rejects the tyranny of your mind”.

本文同时发布于一亩三分地论坛