-
周末复盘 写代码+控制体重
这周天黑的很早, 下午4点就有晚上8点多的感觉。周末走在大街上,周围充满了圣诞节的氛围。我们也开始布置家和筹备圣诞节礼物了。
写代码
这周工作基本上又都在写文档,只写了几行代码(估计要在Tweeter可能就要被开了吧😊)。我跟同事开玩笑说,我的IDE现在已经变成gdoc了。虽然我现在已经不需要通过写代码来表现工作产出和影响力了,但作为软件工程师,还是应该每天都坚持输出一些代码。
改进:想了一下,其中一个原因是之前修了一个长假,回来后一直在写东西,没有怎么碰开发环境。下周写总结的同时,可以把Devserver和常用工具都更新一下,看看最进同事land的代码,找一些可以重构的小任务开始慢慢回复每天写一些代码的节奏。
控制体重
这里拜体重开始直线上升。一个主要原因是最近晚上经常加班。到了12:00,(出于对自己的鼓励)我都给自己补一轮夜宵。由于天气比较冷,最近吃的都是热碳水,比如最近三次夜宵分别是辛拉面,肥肠粉和乌冬面。
改进:争取下周不要太晚睡。如果熬夜的话,还是把夜宵换的稍微健康一点,比如麦片粥,鸡蛋羹,或坚果什么的。
之间复盘的行动
- 练习钢琴
- 把练习换成了简单一级的Sight-Reading,每个小练习可以在5-10分钟练完
- 放下了现在练习的比较难的乐曲了,换成了简单的圣诞歌曲
- 画画
- 按照新计划,本周学了两次画画
- 坚持写博客
- 又坚持了一周,75%的milestone。
- 感觉自己打中文速度有点慢,在考虑是不是练下双拼🤔。
其他
本周我和女儿的画画练习(龙猫是女儿画的)。


- 练习钢琴
-
教女儿学会五个基本编程概念
最近和女儿一起做存钱罐App时,我发现有一些基本编程概念很难给她解释清楚。关键是我找不出足够简单的词汇来描述一些相对抽象的编程概念。
于是我找了一些专门写给小朋友的编程教材来参考。下面这本是我找到针对年龄层最低小朋友的编程书。它介绍了一些非常简单的编程概念并附以抽拉卡片的形式让小朋友互动练习。

基于这书中概念的定义,我又做了进一步的简化。今天我在女儿身上实验了一下,介绍了编程中的五个基本概念:算法、顺序、条件(分支)、循环和变量。感觉她基本上都掌握了。我们是从讨论什么是算法开始的。
Algoirhtm(算法):List of steps for completing a task.
在谈到算法时,我尝试让她理解算法的本质是解决问题的步骤,并不一定需要使用计算机或编程来实现。这时我邀请她一起来做一个麦当劳汉堡的“算法”。小布丁描述的步骤如下:
- 放面包
- 放肉饼
- 放奶酪片
- 放面包
我告诉她这就是最基本的算法了。在这里我又顺便提到了顺序的重要性,让她意识到我们需要按照顺序来执行steps,不能先放两片面包,再放肉饼。
Sequence(顺序):The order of the steps to follow.
下面我问小布丁,如果她很饿需要吃三个汉堡怎么办?她说就按照这个步骤重复三遍,于是这里我们就顺势引入了循环的概念。我强调了一下,如果没有循环结构,我们需要写出12个steps,而使用循环后我们只需要写一遍。
Loop(循环):Steps that repeat many times.
下一个问题是如果我们还需要给妈妈做一个呢?她知道妈妈不喜欢吃奶酪片,就说如果是妈妈就不放奶酪了。于是我们就引入了选择分支的概念。
Conditional (条件分支):Steps to run if something is true (of false).
这里我想测试一下她是否理解了,问她如何给爸爸做一个汉堡。她说使用Conditional如果是爸爸就多加一个肉饼😏。
我接着又问她,如果爸爸很饿要吃三个汉堡怎么办?她说就用Loop三次。我说如果你之前不知道爸爸多饿怎么办,你就不知道需要几个汉堡了?最后我在这里引入了变量的概念。
Variable(变量):A box that stores numbers(or words) that can change.
这里我们定义一个名为”饥饿度”的变量,爸爸运行算法时会告诉你一个“饥饿度数字”,如果饥饿度为3就做3个汉堡,为5就做5个。
希望通过我的讲解,下一次小布丁在和我编游戏时可以用到一些今天学会的概念。
注:上面的英文概念并不是很准确,我主要的目的是尝试使用最简单的单词帮助小朋友理解这些编程概念。
-
如何写好O和KR?

这周五我终于把团队的OKR计划做完了。其实周一我已经写好了Draft,但是大家提了很多建议,来回来去改了四遍。这里我拿弹钢琴作为例子,来总结一下写好OKR的心得。假设我是CEO,小布丁是我的员工,我要写OKR让她有效的执行“学习钢琴”的战略思想。
写目标(O)
1. 目标:努力学习钢琴。
小布丁会问我:“为什么要学?”。这个目标只写清楚了要做什么,而没写清楚为什么要做。这样不能有效的让下属理解你的战略思考。
2. 目标:努力学习钢琴,明年考过钢琴2级。
这个目标比第一个更清晰,写出学习钢琴是为了考级。但是小布丁并不一定会好好练习,因为她会说:“我又不想考级”。这个目标的问题是,它不能传递出方向感和使命感。这样虽然你的下属知道为什么要做,但并不一定会充满激情的来执行你的战略。
3. 目标: 努力学习钢琴,明年可以演凑龙猫2级难度的乐曲
我想小布丁看到这个目标后她一定会去主动练习。这个目标已经很好了,但还可以进一步改进(Optional),1)这个目标时间不明确,2)弹一首龙猫的曲子不一定能帮助她考过钢琴2级。
4. 目标: 半年内提升钢琴水平至可以演奏3首自己喜欢的乐曲(2级难度)
这个目标更加的具体,不但告诉小布丁做什么,为什么要做,而且传达出了是为弹自己喜欢的歌曲而努力。
写关键结果(KR)
小布丁想要练习钢琴了,那么怎么做呢?这里以练习一首曲子为例。
关键结果1:慢慢练习把曲子的音符弹对。
关键结果2:反复练习把曲子弹熟。这个版本有点像Todo,写出了第一步做什么,第二步做什么。但执行的结果完全取决与下属的能力。要想更好传递完成目标的思想,需要给出明确的路径。
关键结果 1:左右手分开练习,以60%速度把曲子的音符弹对”
关键结果 2:双手合手练习,以80%速度把曲子弹熟”这个版本指出了如何练习,但是没有给出如何来衡量结果。我们怎么知道小布丁弹没弹对或弹熟没有呢?
关键结果 1:左右手分开练习,以60%速度弹奏乐曲,音符错误率<5%”
关键结果 2:双手合手练习,以80%速度弹奏乐曲,节奏错误率<10%”
关键结果 3:双手合手练习,以90%速度弹奏乐曲,处理好60%的音符强弱力度”这个版本已经很好了,不但指出了如何练习,更定义了如何衡量练习的效果,但还可以继续改进。在写KR时应该仔细思考,如果我实现了这些KR就能达到我的目标吗?
记得我今年三月考1级时,当时要演奏的乐曲已经准备的很好了,可是到了考场手却紧张的发抖,一开始弹的断断续续的,好在后来慢慢的放松了些。那么怎么能够减轻在新环境下弹琴紧张的问题呢?
关键结果 4:在3个不同的陌生场景下(比如教堂、火车站、步行街)演奏乐曲,并确保以上关键结果的准确率”
我相信如果小布丁在练习时做到了这4个关键结果,她应该可以很自信的在考场演奏练习的曲目。在我看来书写OKR只是一种形式,真正重要的是在写好O和KR的过程中实现对目标(战略)的深度思考和推演,从而帮助你更大概率朝着正确的方向前进。
参考资料《得到:管理者OKR实战课》
-
圣诞节倒计时开始

记得上学时,每当路过SOMERSET HOUSE,看到滑冰场前漂亮的圣诞树,我就会感受到圣诞节的氛围。上班后圣诞节的氛围是从看到牛津街点亮彩灯开始的。而对于女儿来说,圣诞节应该是从打开圣诞日历(Advent Calender)开始的。
这种日历一般会有24个小格子,根据日历的主题,每个格子里都会有一个相应的小惊喜,比如糖果,巧克力或小玩具。小朋友从12月1日起每天可以打开一个小格子,全部打开完了,就到圣诞节了。
今年小布丁有四个圣诞节日历。两个普通的巧克力日历,一个Candy Kittens的日历,这个日历的设计是打开后就变成了一个小圣诞树。还有一个很特别的宝可梦卡牌圣诞节日历,主要是祝贺她之前赢了我一盘。
记得去年一不留神,她一天就拆了好几个巧克力吃😓。今年一定要监控好她,一天只能打开一个小格子。
晒一下小布丁妈妈今天的大项目,给小童军制服缝徽章!

这学期女儿参加了英国的小童军,前两天刚刚宣誓,就算正式入队了。我叫它英国少先队(绿领巾),因为他们的Motto是Be Prepared (时刻准备着)。这学期小布丁一共得了两个Activity徽章和一个女皇纪念章。很期待将来左手袖子被缝满的样子。
-
大厂的经理应该写代码吗?
这礼拜马一龙(Elon Musk)在给Twitter员工的邮件中提到:“所有的经理都应该写适量的代码,做不到这一点就好比长官不会骑马”。 我同意大厂的经理应该有一定技术背景,但最好还是不要让他们去写代码,要不然Oncall就要更忙了。
一般大厂的经理面试流程中都会有一两个代码/系统面试。今天上午我就做了一个经理的代码面试。顺便提一句,我忙的时候很喜欢选这类面试任务,因为整体过程一般很轻松,不用像工程师代码面试时讨论复杂的算法,也不用像行为面试时听对方讲故事做很多笔记😏。
我觉得针对经理的代码面试并不是在考察对方会不会写出很好的解决方案代码。更主要的目的是看对方有没有足够的工程素养和技术背景来面对与未来工程师间的高效沟通。比如我在面试时,会留意这些类型的细节:
- 当面试问题需求不清楚时,对方会不会主动询问收集更多的信息。
- 当题目约束条件相对宽松时,对方会不会考虑到使用不同的方法来对应不同的需求。
- 当确定一种解决方法后,对方可不可以将其转化成代码进行沟通。
这些细节信息可以帮我判断这个工程经理有没有足够的技术背景来支持他/她将来的团队。相反我不会过于纠结一些工程师代码面试中的问题,比如代码中出现一些小错误或者答错了时间空间复杂度等问题。 毕竟我认为大厂工程经理主要的工作是来支持自己的团队,而不是亲自下场写代码(当然Twitter可能要例外了)。
如果让我来选择自己的团队经理话,我会希望他/她做好以下几件点:
- 给团队中每个人充分的关心与支持,与大家建立良好的信任关系。这样团队才会更加团结。
- 与大家一起制定团队目标,帮助团队与上一级大部门和公司的目标对其,做好项目的优先排序。
- 和TechLead一起尽可能为大家找到适合自己能力、兴趣的项目。这样可以使大家可以更高效(开心)地工作。
- 为团队中的每一个人制定明确的工作、升职目标,认可他们为团队做出的贡献,并支持他们最终达成这些目标。
- 为团队赋能,帮助团队寻找新的机会和客户。与现有客户保持良好的关系,时时收集反馈信息,与团队一起制定改进方案。
当然最后一点是不要去碰团队的代码。我大概想了一下,这些年在我周围花时间去写代码的经理基本都不在了(有些人没有被辞掉,而是转工程师了)。究其原因,这些人可能没有理解(在我们公司)什么才是对于经理最重要的工作。
-
教女儿玩宝可梦卡牌(Pokémon TCG)

周六上午,我正在处理一些这周落下的工作,女儿抱着一个大盒子冲进来说要和我玩宝可梦卡牌。我犹豫了一下,还是答应了。小布丁选了Lycanroc V牌组大战我的Mewtwo V牌组。结果,我居然输了…
记得小布丁第一次接触宝可梦还是两年前,当时我刚刚入手了Switch上的宝可梦剑盾。玩游戏时我选了女生角色,并起了一个她喜欢的名字。之后我一边玩,她一旁看,一直到最后通关。那段时间她很喜欢宝可梦,还时常和我玩宝可梦版的过家家(我扮演Trainer,她扮演Eevee)。
几个月后,Neflix上又出了新的一季宝可梦动画片,这让宝可梦突然在周围的小朋友圈子里又火了。圣诞节前给邻居送礼物时,她看到邻居家的小男孩收集了很多的宝可梦卡片,超级羡慕。之后她在圣诞节也收到了人生中的第一包宝可梦卡牌。
刚开始我没教她怎么玩宝可梦卡牌,因为我觉得卡牌的游戏规则对于4岁的小朋友来说有点复杂,所以只是让她收集着玩。后来有一天,我发现她不好好做数学题,在旁边画宝可梦玩。于是突发奇想,可以试着让她玩卡牌游戏来练习算数,比如让她在每轮攻击时通过攻击的伤害值来算出宝可梦的剩余血量。
之后我就买了一盒宝可梦学院入门套装,开始正式教她玩宝可梦卡牌。可能她当时还太小,不能完全理解规则,学了一个星期也没学会。最可气的是她经常还自己定义新规则和玩法,这对于有“规则”强迫症的我来说实在是一种折磨😨。最后我终于放弃了这次教学,不过平时还是会给她买些卡牌包让她继续享受收集的乐趣。


直到今年八月分,2022宝可梦世界锦标赛在伦敦举办。当时我正好有空,就带小布丁去了比赛会场长长见识。我记的当时小布丁当时都惊呆了,从没想过全世界有这么多的人会聚到一起来玩宝可梦游戏。这次不但让她又重燃了对宝可梦卡牌的兴趣,还让她过了一把”血拼”的瘾。

借着这个机会,我又重新教了小布丁一遍卡牌游戏的规则。这次她学的很认真,因为她觉得如果自己学会了,明年就可以去参加下一届大赛了😓。她不但掌握了全部的规则,还自学了一段时间的Top Deck Academy(一个官方的YouTube教学节目)。之后我时常和她玩宝可梦卡牌,但她从来没赢过我(除了我让着她),直到这一次。
这次虽然是个意外😳(运气不好,中期卡能量了),但应该算是女儿第一次凭借实力赢我。当时我看着她得意的样子,心里有一种说不出的成就感。希望女儿学习宝可梦卡牌的经历将来会成为她一段很美好的回忆,就像我回忆起父亲教我下中国象棋的时光。不知道当我第一次赢他时,他是不是也很有成就感呢?对了,今天是老爸的生日,祝生日快乐。
-
Japan Centre和达摩吉祥物

周末女儿上完芭蕾舞课,说想去买“日本东西”的地方吃饭。她指的是Japan Centre,这是在她心中为数不多的可以和麦当劳比拼的地方。当然她应该不是为了那里的拉面,主要还是为了日本糖果。
Japan Centre是我在大学时最喜欢去的超市之一。因为每当走进超市,就有一种穿越到日本的感觉。记得当时店面还在Piccadilly Circus,里面的服务人员大都是日本人。虽然店面不大,但里面可以买到各种日本原装食品,生活用品和漫画书籍。

现在的Japan Centre发展的已经很有规模了,在伦敦有三家大型店铺,而且还经营着两家餐厅。这次去的是Westfield London里的Japan Centre Ichiba。我点了经典的Shoryu拉面和中等肥度的金枪鱼刺身。它们近期在主打和Miffy合作,给小布丁要了Miffy套餐。


我来这里一般会买些牛岛的煎茶和羊羹,而小布丁则会选一大堆日本零食。这次除了零食外,小布丁还选了一个达摩吉祥物。这是一个红色的不倒翁吉祥物,用于祈福或许愿。一般买的时候没有画眼睛,在开始作一件事前可以许一个愿,画一只眼睛,完成了事情或达成心愿后再画另外一只眼睛。

我按照说明书给小布丁讲了可以选择五种颜色来点眼睛,分别对应着坚韧、财运、健康、恋爱和安全。小布丁第一轮儿先选了坚韧、健康和安全三个颜色(幸好没选恋爱!)。犹豫一番后,她最后决定使用红色(七転八起),直译过来应该是即使摔倒了七次,第八次也会站起来。
很高兴女儿最后的许愿是坚持把事情完成。于是拿出了颜料和毛笔让她把一只眼睛画上。画完后我就顺手把达摩吉祥物放在桌上了,但是晚上工作时面对它总觉有点怪~怪~的…

-
周末复盘:练习钢琴+学习画画
这周天气变得更冷了,冷到我出门已经开始穿保暖内衣外加两件毛衣了。我有时在想我到底是不是在北方长大的,这么怕冷。最近出门时,把平时的咖啡都换成热巧克力了,感觉更暖和一点。

周日等女儿跳芭蕾舞时常去的一家热巧克力店 练习钢琴
上班后开始变忙了,坚持不了每天30分钟的练琴时间。于是争取每天在工作休息时,可以抽5-10分钟练一下。这个方法对于之前学习的容易曲子还可以,将曲子拆解后,一次可以完成一两个小节,两周可以拿下一首曲子。
但最近老师选的曲目都比较难,要不然就是节奏很复杂,或者需要比较高的技巧。五到十分钟根本练不好一个小节。每周都是都是硬着头皮去上钢琴课的,快三周了还没弹下来一首曲子。
改进:我觉的要坚持下去,我需要一些正向的激励和反馈。这周和钢琴老师商量一下,给我换点简单曲子或者简单的Sight-Reading练习,争取可以很好的把练习分解,放在一个10分钟的Session内。
学习画画
这里拜之前为了把女儿的下一个游戏编程项目设计的更好看一点,我买了几个学画画的课程。本身想很快的过一遍,掌握一些游戏设计的基本美工技巧就好。结果一画就画上瘾了,每天都花了不少时间练习。
改进:虽然学画画很好玩,但毕竟不是现阶段最主要的任务,还是应该先回到女儿的游戏项目上,继续推动她学习编程。
- 先把相关的视频看完,快速熟悉常用的笔刷上色工具,从而可以给下一个游戏来制作贴图。
- 把画画练习的时间降到每周两次
上周复盘的行动结果
- work life balance 保持的还行
- 继续沿用了一周上四天班,周五在家工作的模式
- 坚持写博客
- 每天固定了一个写博客的Slot
- 又坚持了一周,50% Milestone
其他
下面是一些这周的画画练习。前两张是拿数字画版画的,打印出来后看上去和拿铅笔在纸上画出来的基本差不多。




-
终于集齐了报税材料
每年十一月底,都会有一件让我无比头痛的事,就是准备报税材料。每次都要收集7-8份收入相关的文件,而且很多都需要从一些平时很少登录的账户整理,超级麻烦。这周熬了两天夜,一鼓作气准备好了所有的信息。当我给会计发邮件时,有种自己终于集齐了7颗龙珠,可以召唤神龙的感觉。

英国报税的时间
我刚开始自己报税时,最不能理解的是英国报税的时间点。不是以年底12月计算的,而是以四月初来结算。比如现在我处理并提交的是2021年4月6日到2022年4月5日其间的税务信息。
后来查了一下,原来英国很长一段时间一直沿用着古罗马凯撒大帝的年历,新年的第一天是3月25日春分,直到1752年才改用现在的历法。英国的税务提交时间是以凯撒年历的时间变化而来(之所以挪到4月初,是因为考虑到润年的因素)。
个人税务申报
其实大多数在公司上班的英国人都不用自己申报收入缴税,因为HMRC(英国税务海关总署)会通过PAYE系统,直接将税款从工资里扣除。但如果你是自由职业者或创业人员,就需要自己申报了。除此之外,如果你有比较多的第三方收入,比如储蓄利息或股票房产收入等,或者你年收入超过了10万镑,也需要自己主动申报。
我的报税体验
之前我在学校工作时不需要自己报税。后来转到大厂就必须自己申报了。开始我尝试自己来,结果花了一周的时间准备材料填表格。之后就找了会计服务,我只负责收集收入的相关材料,会计负责填表和申报。这个会计服务我已经使用5年了,主要有三个优点:
- 计算税率
- 当你收入来源种类比较多时,在没有税务背景知识的情况下,计算税率很麻烦。因为不同的收入类型有不同的税率,而且会根据收入级别变动。更麻烦的是,有时会有很多特例,比如去年我才知道,当收入达到一定额度时,一部分养老金的税务优惠就没有了,需要额外补税。
- 合理避税
- 英国有很多的税率优惠政策,会计一般会努力帮你合理避税。比如如果家庭一方不工作时,另一方可以享受一部分税务优惠,或者如果你平时会给慈善机构捐钱,也可以享受相应的税务优惠。去年报税时,会计说政府有一项“在家工作”税务优惠政策,帮我直接申请了,我后来才知道。
- 和税务局联系
- 记得我第一次报税后,就收到税务局的信说我算错了,差了一点钱。之后好像每年都会收到税务局的信,当然有时是多缴了退回来,有时是少缴了要补。如果自己打电话处理,可能要花半天时间。但有了会计后,他们会直接与税务局联系,节约了很多时间。而且后来会计还发现了一次税务局算错的情况,节省了一点钱。
我觉的会计服务还是挺实用的,不但可以节省大概一周的个人时间,更重要的是减少了一些生活上的stress,毕竟年底这个时间段工作生活上都会很忙。
- 计算税率
-
“转职”写手
这周有Code Freeze,不用写代码,大部分时间都用来写文档了。我完成了团队明年计划的初稿,剩下的时间都在帮着其他队员来改他们的项目总结。这让我仿佛回到了大学时deadline前一周赶paper的状态。
职场写作真的是一种在大厂生存的必要技能。记得刚进公司时,我觉得只要把代码写好,项目做好就可以了。但后来发现周围升职快的同事都是那些很会写Post的人,之后才体会到除了要能做好事,还要能把做的事写出来,让大家看到。
比如,要想突出项目成绩,我会在写项目总结时用充足的数据来支持项目的Impact。要想展现Direction能力,我会经常写一些Post来介绍新的idea或者介绍一些和其他团队潜在的合作计划。要想改进团队的文化,我会写Post来指出团队存在的问题,聊一下自己的思考和解决方案,引发大家进一步的讨论。
虽然这些事也可以在平时开会时直接交流,但往往大家聊一下就过去了,并不能导向实际行动。而写成Post不但可以让更多的同事看到,大家更可以很方便的进行Offline的讨论。甚至可以把感兴趣的同事组织起来,共同协作解决问题。
另一个关于职场写作的心得是,平时尽量多写,但每篇不要花太多时间或写太长的篇幅。应为Post毕竟不是会议文章,没有人会去反复精度读或是来比较引用数。而且大家都很忙,可能只读一下TLDR或扫一眼前两段。所以Post没有必要写的很长,但一定把最重要的信息或需要大家的做的事放在最前面。
记得我之前的一个mentor这样和我说,“没有写出来就等于没有做过!”
Yes,今天又是星期五!
