2024年
有喜有忧
生活
经过细心的计划和准备,我们顺利地按自己的计划有了 Luna。这一年对 Kate 来说很辛苦,从一开始的孕反,到后来的 身材走样 可爱在膨胀,各种各样的焦虑,再到一波三折的生产过程,从头到尾展现了母爱的伟大,在这里点个赞。
我们从夫妻升级成了爸爸妈妈。我本以为角色转换会困难或者尴尬,因为我从不会对着朋友的小孩/宠物讲 “baby talk”,但也许是激素的原因,亲生的抱在手里很自然的就会了。也许是因为我们上了很多 prenatal classes,在照顾方面除了累以外没什么意料之外的烦恼,现在半夜起床也不太困难,有时候甚至都已经可以在她哭之前自然醒。可以说唯一的困难是形成默契,慢慢听懂不同种类的哭,快速理解各种需求而不是每次都做排除法。
老友记里有一段 Ross 问他爸什么时候真正进入了当父亲的状态, Jack 的回答是当 Ross 第一次用整个拳头使劲攥住自己的手指的时候。以前每次看到这个片段都觉得这个答案很暖,台词写得好,但现在我能用自己的经历共鸣。第一次抱 Luna 的时候我也把一根手指伸到她的手掌里,她就会很使劲的攥住不松开。作为理科生的我明白这是婴儿的条件反射,但那一刻我在心里跟她说,爸爸在呢,爸爸也不想松开。
我们很幸运地在第一个月有父母在身边,所以照顾起来比有些朋友只靠自己两个人要轻松一些。我爸妈角色切换到爷爷奶奶也是一瞬间的事,我第一次看到我爸还有那么温柔的一面。更幸运的是她正好赶在公司砍福利之前出生,我有 18 周补贴工资的 parental leave(明年开始减为 6 周)。我不知道别的公司什么标准,但是 18 周还是很不错的。这四个多月也能让我好好从工作中离开一段时间,喘口气。
今年外公去世了,因为离生产比较近所以没回去看,但是心里一直挂念着。小时候每次去外公家里都会看到他在炒股,玩扫雷和空当接龙,他也会检查我的数学作业,教我五笔输入法。大学毕业的时候外公还来加拿大参加我的毕业典礼。这些情景历历在目。
在学习上,今年我抽空自学了 React,重新拾回了大学时代对网站前端开发的热情。我花时间把去年做的 FRC Helper 用 React 重写了一遍,感觉新技术也就那样,可能能找的新工作多了一些,但是它就是一个比较流行的工具罢了。目前唯一的好处就是学完以后我再看公司的前端和 RN 代码不再感觉陌生,我甚至可以上手干点活,往 full stack 方向发展一下。
今年最喜欢的一本书是 Good Inside: A Guide to Becoming the Parent You Want to Be. 虽然现在看有点早,但是读完很多 parenting book 以后这本书最和我有共鸣,也最有用。作者详细讲了小孩从小到大会产生的各种行为和想法,他们为什么会做某些事,在各种情况下他们想要什么,需要什么,家长应该怎么应对,理解或者开导,怎么和孩子建立关系,等等。简直就是一本红宝书/百宝箱,我觉得我需要在未来几年反复读。
今年过了 30 岁生日,20 岁的这十年就这样过完了。这个博客也正好 10 年了,见证了我的变化。这十年在加拿大生根发芽,从最好的大学毕业,有稳定的朋友圈子,找到了完美的人生伴侣,生下了可爱的女儿,有不断挑战自己的工作,积累下了可观的财富,混得还算还可以吧。
工作
升了 staff 一年半以后,我感觉我依然没进入“领导”的状态。我做的事越来越多,涉及的范围越来越广,但是更多的像一个 “senior senior”。staff 虽然是 senior 的下一个级别,但它是一个完全不同的工作和职位,我越来越觉得我升的过早,或者这个职位不适合我的性格。
去年的 impostor syndrome 已经治好了,现在我不再觉得我是个靠自吹自擂升上去的“骗子”,但是今年面对的难题是进入角色。作为一个 tech lead,我的工作不再是通过踏实干活成为某些领域的专家,而是把其他组员培养成专家。这其实做起来很难。senior 的时候可以去 mentor 别人,很好理解,但是 mentorship doesn’t scale,staff 不可能一对一的把每一个组员都单独培养。staff 需要做的是帮助提高整个组的水平。
怎么提高整个组的水平呢?我们组每个人都已经是某些领域的专家,我一直没觉得他们需要我帮忙提升。老板给的建议是,我们组负责的项目很多很杂,但是大家各有各的知识漏洞,互不了解别人的项目,所以我可以做的就是改变这个现状。比如下次 X 项目出问题,A 默认去接的时候,我就应该主动提出来让 B 去解决问题。或者比如我很了解 Y 项目,下次有相关讨论的时候我就应该把机会留给别人。这听起来很容易,但是不是每个人都想去了解自己没涉及过的项目,这不是他们的工作要求。每个人都很忙,他们没有理由去做这些。老板说,在 org chart 上我和他是同一级别的,我需要有一个 leader 的样子,该下命令就下命令,就直接说 “I need you to do this” 就行了。这很不像我会说的话,但在老板看来这是我的工作。
在年底的 peer review (员工互评)上,老板说虽然大家对我都是和以前一样好评如潮,但是他们说的只是我是哪些领域的专家,我啥都懂啥都会,我帮了他们很多忙,和我一起干活很愉快之类的。如果是 senior 级别的有这些评价就很好,但是作为 staff 收到这些评价是不足的。我不应该仅在大家眼里是领域技术专家,而是一个经常给大家分配任务、能经常主动发现并解决项目或者团队的问题、能让他们感到自己的进步、能替他们在高层面前说话的人。我虽然还应该是专家,但是这只是工作内容的一部分,而我只做好了这一部分。
每当 bug 积累多起来的时候,我和老板就会花点时间把他们按照紧急程度排个序,然后每周计划工作的时候就拿出一些让大家认领。老板说,我更多只是参与了这个过程,修了不少 bug,甚至能用两天修好一个别人搞了 3 周没搞好放弃的 bug,但是一个好的 leader 应该把大家组织起来。比如说,我应该主动写个 proposal 给他建议一下怎么处理这么多 bug,或者如果哪个领域 bug 太多了就主动组织一个 retro,讨论一下为什么有这么多 bug,以后怎么避免。我甚至应该去找 PM 和 senior eng manager 说我们需要停下手里的新项目,专门花两周时间去解决所有堆起来的 bug。我瞪大眼睛说我有权利做这个决定?老板说当然了,这是你的工作!你很可能会遇到他们的反对,但是如果你觉得有必要就应该提出来。
除了需要我不再恐惧冲突以外,我最需要做的就是放手,不再亲自干具体的活。Stop writing code. 把活分给经验少的人是最好的提升整个组水平的方式。我们组另一个比较有经验的 staff 经常挂在嘴边的话两句话就是 “It doesn’t make sense for me to do this.” / “Our team needs more junior devs.” 以前我总奇怪,这个人到底每天都在干什么?他好像只会张罗别人,就没怎么写代码?现在我还是很难说出他到底干什么,于是他变成了我需要学习的榜样。虽说 staff 和 manager 的区别就是 staff 依然走技术路线,但是我没有料到两条路的尽头都是 stop writing code。

这张图有一点贬低老板的意思,把他比作秤砣拖慢团队,但是它体现了我老板和我对 leader 这份工作的期待的不符。我是战场上的主力军,他却让我撤下来在高处指挥当 boss。我觉得并不是我的工作能力不行,而是对 staff 这个职位的理解有偏差,劲儿使错了。现在看来,我很希望当年老板能跟我深度聊一下升到 staff 的 expectation,而不是直接问我想不想,然后我说想以后就开始努力。
这些话题平时跟老板 1:1 的时候也讨论过,但是他每次都说 don’t be too hard on youself。结果年底 review 给我评了个 usually meets expecations(一个不好的评分)。他还说如果我对这些东西不感兴趣的话可以降到 senior,他最近才知道这也是一条路。我确实不想 stop writing code。相比这些有的没的,我确实更喜欢研究代码,“当专家”,这是很容易证明的硬实力也是我的强项。但是我又不想知难而退,我也很想知道如果我这些都做到了我会变成什么样,毕竟他提出的点都不算模糊,都是可以用实际行动解决的。如果明年上半年没有被开了的话,我打算用这个机会朝这个方向努力一下,看看适不适合我。如果不合适也无所谓,换就好了。
2025
有了 Luna 以后因为每天都很累,并且不忍心把她留给 Kate 一个人在家,就没怎么跑步了。在新的一年里我要找到家庭和自己之间的平衡。
在工作上,尝试一下老板说的提升空间,然后大胆做出选择。
期待 Luna 明年的样子,期待她能翻身,能爬能走路,能说话的样子。
分享一张 Twitter 上看到的图。
