文明 6 里面有一个叫做 Eureka Moment 的设定,当这个 Eureka 发生的时候,会给文明进程带来很大的提升 (boost)。当时也没有细究为什么用 Eureka 这个词,那时只知道有一个叫 Eureka 的吸尘器品牌 (刚去查了一下,发现居然被美的给收购了)。
最近公司内部又有小伙伴提到了这个概念,才知道原来讲的是阿基米德洗澡时想出测量皇冠体积的故事。
最近也时不时在想 Eureka 或者中文里说的开窍这个事情。不过我并不能想起自己有什么特别的开窍时刻,印象深的反而都是一些长时间困扰我的问题。
首先是大学第一学期我们的 C 语言大项目,要实现一个基于命令行的简单数据库系统。
我很清楚地记得,那个高级功能里,索引这个概念整整大半个学期,我从听到老师第一次布置下来习题,到最后完成大项目,我都不知道这是一个什么东西 (自然最后是没有实现这个高级功能了)。
第二个故事则是大一第二学期,我们开始学习 MFC,里面涉及到了回调函数 (callback) 这个概念。无论老师还是教课书上都强调一句话「回调不是我去调你,而是让你来调我」,但有很长时间,我都无法领会其中的精髓。
第三个故事则是大四开始实习后,又一直找不到写出合格代码的感觉,即使 Gang of Four 的设计模式捻熟于心,Effective C++ 翻了好几遍。
即使这些东西,现在的自己早已驾轻就熟,但在当年,就像横亘在自己面前的大山一样。
最近会想 Eureka / 开窍这个事情,也是因为这近半年时间,工作中一直和我们的实习生们打交道,观察他们的表现,很容易让我想起当年的自己。不少方面还是在苦苦地摸索,但偶尔也能带来惊喜,有时甚至可以持续地带来惊喜。看着他们的代码,文字,有时候会觉得他们好像有点开窍了,但有时候又会觉得还是需要更多时间的磨练。
对,「时间的磨练」。回想自己攻克那些问题的方法,也只是硬磨,不懂就抄,从抄到写,不知不觉,量变触发了质变,融会贯通。即使是阿基米德的故事里,在他喊出 Eureka 那一声之前,也是苦苦思索了好多天。
起决定性作用的还是自身的坚持,但同时找到一个好的问题也是能事半功倍的。正好 Bytebase 内部新规划了一个围绕 GitHub 开源生态的项目,评估下来,正好是一个很适合实习生的项目,见我在官号写的「我们有一个可以上 HN 首页的点子,就差一个前端/全栈 实习生了」。
为了招一个实习生,为何要如此大费周章地亲自写一个 JD 还另加这篇公众号呢?这一方面是 Bytebase 团队本身还不到 20 人,每一位成员都很重要。另一方面则是我们在近期也没有计划内的招聘岗位了,所以对于仅剩的这个名额就更为重视。
这个项目也会由我亲自来带,从产品设计到编码。所以写这篇文章也是为了增加找到理想人选的概率,提高自己的工作幸福度吧 🥰