用勾股定理画脚踝
前两周,我在练球时扭伤了脚踝,歇了两周依然没好全,而且还出现一种我无法理解的症状「走路的时候不疼,坐一会儿再站起来就又开始疼,接着走一会儿就又好了」。出于好奇,我咨询了 AI,这是我们的完整的对话。关于脚踝的症状并没有什么值得在这里展开,让我真正感到惊讶的是,AI 为了向我说明「距腓前韧带」的位置,画了一张我在数学课上才会见到的图:
我在 Cambly 和外教上课时,多数时候用的是 Engoo Daily News 中的课程(网站示例、课程示例)。每节课程对应一篇英文时事新闻,上课的一般流程就是:课前准备 → 文章阅读 → 问题讨论,同时每节课程都标记有难度,从 Intermediate (Level 4-6)、Advanced (Level 7-8) 到 Proficient (Level 9),课程内容难度依次递增,具体体现在词汇难度、句子复杂度、讨论题型的设计和问题的抽象程度等等。
Engoo Daily News 的课程很好,但是许多文章内容我并不感兴趣,讨论起来稍显无趣,于是我萌生了一个想法:能不能我自己选一篇文章,让 AI 帮我生成指定难度的课程?
有人认为,随着模型推理能力变强,写代码正在变得更容易,程序员之间的差距也会逐渐被拉平。新手能更快写出可用的代码,很多过去需要经验积累才能跨过的门槛,现在只要能写好提示词就能轻松迈过。
别妄想了,AI 一定不会拉平软件工程师之间的差距,差距只会越来越大,且越来越快,就像宇宙的加速膨胀。
走上魔方速拧路既是机缘巧合,也是冥冥之中天意使然。2022 年 8 月 28 日,我见到郑天晴坐在地上摔打奶奶给她买的玩具魔方,忽然回忆起高中班上有个小伙子能在 3 分钟内复原一个魔方,令同学们既赞叹又羡慕,我心中的少年之火在这一瞬间被点燃,决定也试上一试。于是我找到了博主 LeesRandomVids 制作的保姆级教学视频「How to Solve a Rubik’s Cube, Step by Step Beginners Tutorial on Solving a 3x3 Rubik‘s Cube」,边看边学,很快便完成了人生首次三阶魔方复原!
在实现了大众最朴素的魔方复原梦后,我有些意犹未尽。首先,我真的很好奇像我这样的普通中年大叔经过刻意练习后能在多短的时间内复原一个魔方?其次,平时带娃的时间太琐碎,如何在这琐碎的时间中不靠手机来持续获得一点点满足感?魔方速拧一把不过数分钟,恰好能填补这些时光缝隙。于是我在 2022 年 8 月 22 日录下了第一个魔方复原视频,复原用时 2 分 34 秒。
有一个问题困扰了我很久:为什么公司里的团队要互相卷? 明明 X 团队已经造了轮子,为什么 Y 团队常常视而不见,吭哧吭哧地继续造?而且领导似乎也默许这种游戏规则?本来产研资源就贵,为什么要浪费在相似的工作上,而不节省资源去专心做业务?最近在这个问题上稍微有点心得,就先记录于此。
多数人高估他们一年能做的事,却低估他们十年能的事(Most people overestimate what they can do in one year and underestimate what they can do in ten years)。
大概在两年前,我开始酝酿「赤道计划」:在人生结束之前跑完 40075 公里,这个距离正是赤道的周长。毛主席的「坐地日行八万里,巡天遥看一千河」也来源于它。如果每两天跑一次 5 公里,大约需要 44 年。
每个互联网公司内部都有一些 Web 界面是为工程师开发,比如 CMDB、容器平台、应用发布系统、可观测性平台、配置中心、数据库管理平台等等。这些界面往往设计风格不一致,功能简陋,易用性差强人意,简单概括就是「能用,但既不好看,也不好用」。
平时,我习惯在跑步、散步或通勤时做一些口语跟读练习。散步或通勤时还好,在手机上来回播放、暂停音频即可,但这种方法不适合在跑步中使用。另外,北京入冬后,在室外这么干容易生冻疮。于是我就想:能不能让音频自动地播放一句,停留一段时间让我跟读,然后再播下一句?
从 2022 年 10 月中旬开始到 12 月中旬,日拱一卒,终于把「Software Engineering at Google」通读了一遍。书中介绍的是每个软件公司都会遇到的问题:如何培养好的工程师文化?如何共享知识?如何组建和带领工程师团队?如何长期维持软件质量?等等。同样的问题,在不同的规模、时间范围下的挑战不同,思考角度、解决方案、落地周期也都不同。这本书介绍的正是这家拥有超过两万名工程师的软件公司在这些问题上的思考。
在过去的工作经历中,我作为新人、下属、导师与不同类型的工程师有过不同程度的合作,他们之中既有顶尖的工程师,也有敬业的技术经理;既有人菜瘾大的码农、也有性格孤僻的极客;既有刚毕业就躺平的新人、也有工作十多年依然精力充沛的老兵。在这些合作经历中,我最大的感触就是:一名优秀的工程师,在技术层面外,还得是半个心理学家,既要熟练控制计算机、也要擅长与人合作。书中多处阐述工程师容易陷入的思想误区,它们或多或少地会阻碍工程师们成长,我也是其中之一。今天恰好借着看完这本书的契机将关于它们的思考记录下来。