Meilisearch 如何基于 42 计算机学院的协作方法发展壮大
你一定听说过“团队中没有‘我’(个体)”这句谚语。在 Meilisearch,我们认为构建一个可靠产品的最佳方式是与彼此以及我们的社区协作。我们在 42 学院学会了如何协作,并在此基础上持续发展。

你知道 Meilisearch 的第一个版本是在一所名为 42 的学校组织的一场黑客马拉松中诞生的吗?我们愿意相信,无论如何 Meilisearch 都会找到存在的方式——我们太热爱我们的快速搜索和公司文化了——但 42 为 Meilisearch 的蓬勃发展提供了完美的框架。
42 是一所法国计算机科学学校,互助是其一切的基础。42 的特别之处在于协作是其核心:那里没有老师,所以学生需要组队才能完成他们的项目!在 Meilisearch,我们不认为优秀的人才只来自传统的工程学校。这也是 42 的核心理念之一:它不仅极具协作性,还免学费,并对所有 18 岁及以上的人开放,这确保了不同背景的健康融合。顺便说一下,我们也不认为优秀的人才必须来自 42 学院。由于我本人没有在 42 学院学习过,这篇博文主要是在 Charlotte 的帮助下完成的。她亲身经历了 42 的冒险,并为这篇博文提供了她的见解。
42 是我们创始人第一次接触协作工作,它对我们的公司文化产生了巨大的启发。在这篇博文中,我将分享我们真正想从 42 学院保留下来的东西,以及我们如何将其应用于 Meilisearch。
学习如何学习
如果 42 学院没有老师,你可能会好奇技能是如何传授的。遗憾的是,学生们并不会喝下能解答关于生命、宇宙和万物所有问题的魔药。
相反,学生们会面临他们需要完成的项目。通过向以前的学生请教、自行寻找资源以及不断试错,他们最终会发现新的技术,从而取得进步。
这种非常注重实践的方法可以培养出终极技能:学习如何学习。学生们不断开发自己的专属工具箱,以应对新的挑战和项目。一段时间后,他们就知道如何获取所需的技能。
Meilisearch 在这一原则的指引下迈出了第一步(哇 🥺)。我们在实践中学习到了很多东西——现在依然如此!例如,在集成团队中,Amélie、Bruno 和 Charlotte(工具集成的“ABC”)处理着 15 种语言编写的 35 个仓库。虽然对不同语言和编程范式的扎实理解至关重要,但他们工作中最重要的技能是理解新环境并快速适应不同环境的能力。
当我们招聘新员工时,我们寻找的是那些好奇心强、有能力成为其领域专家的学习者。然后,为了让每个人都能茁壮成长并追求自己的兴趣,我们开发了一套职业发展框架,以引导和支持好奇心和成长。例如,随着经验的增长,一些人可能希望成为管理者;另一些人则可能希望深化他们的专业知识,并在原有岗位上进一步专精。无论我们每个人选择什么,职业发展框架都能帮助我们保持好奇心,并不断学习新事物!
不要误解我
1831 年,数学家 Évariste Galois 在一本杂志上撰写了一篇关于科学教育的文章(链接指向一份法文 PDF 文档):“学生们何时才能有时间思考这庞大的知识量……为什么考官总是以一种复杂的方式向考生提问?他们似乎害怕被提问者理解……我们难道认为科学太简单了吗?”
191 年后,为了迎合自我而混淆知识的现象仍然非常普遍。我们认为,自负和自视甚高的人格在那些期望员工相互竞争的公司中是一个反复出现的问题。尽管其潜在目标可能是保留“最优秀”的人并淘汰其他人,但这种精英主义纯粹是“守门”行为——我们确信这始终不利于产品质量。
在 Meilisearch,我们的目标是让尽可能多的人理解我们。我们在 42 学院的经历告诉我们,只要获得免费学习所需知识的途径,各种背景的人都可以在 IT 行业工作。
这就是为什么文档从一开始就是 Meilisearch 的基石。我们希望所有开发者都能感受到他们可以理解和使用 Meilisearch,无论他们是刚入门还是拥有多年经验。
学习 > 自我
然而,骄傲是一种非常自然的人类情感,要放下它可能相当困难。(我特意避免写“放手”,这样你就不会想到某首歌,但我恐怕现在效果已经破灭了。对此表示抱歉。)例如,接受建设性反馈可能很难,特别是当它触及到我们认为非常重要的事情时。
热爱学习新事物在我们的经验中非常有效。如果你用更强大的东西取代自己的自我和骄傲,比如学习新事物带来的巨大乐趣,那么接受反馈就会变得更容易!
从不同来源学习新事物让我们的工作更加愉快。新的概念不断刺激着我们。有时是同事带给我们新的想法,有时我们偶然发现它们,有时我们只是在尝试解决一个难题时主动寻求它们……无论来源和最终结果如何,我们都热爱这个过程。
共同负责
如果你在放下自我(ego)的探索中感到孤独,别担心!这很可能是最难实现的事情之一。我们都希望自己的想法是好的,并且我们的工作能得到认可!
这是 42 学院方法有帮助的另一个方面。42 学院背后的理念是,同伴们对项目的成果负有共同责任。这意味着我们都在一起努力,并承认所有的胜利(和所有的失败)都是集体努力的结果。你的同事可能编写了关键的代码片段,但没有你的支持他们是无法完成的。
那么这种支持是什么样的呢?很高兴你问了。一个人可能是他们正在进行的项目的负责人,但他们的同事是判断项目是否一切顺利并准备好发布的评判者。这意味着人们在审查时必须非常严格。你项目的质量也是他们的责任!我们关心代码质量,作为回报,我们对你的个人任务给予了全部的关注。即使是 Meilisearch 的个人项目也是集体的,因为对我们其中一人有用的东西对我们所有人都有用——我们是一个团队,如果某事能让你工作得更好,那么我们所有人的工作都会变得更好。
我们的新员工很快就适应了这种工作方式。与同事进行建设性对话比一直与他们竞争更舒适愉快。
持续反馈
在 42 学院,反馈与身份的不断转换息息相关:一个人今天评审一个项目,第二天可能就会被评审。由于评审者和被评审者总是互换位置,学生们自然而然地学会了提出周到和建设性的意见,并认真对待反馈,无论其来源如何。我们的偏见可能会错误地导致我们忽视来自我们认为经验不如我们的人的批评。集体责任制可以促使我们根据评论本身的价值而不是评论者的身份来接受意见。当然,这并不是说所有的批评都相关,或者说专家总是错的而初学者总是对的,只是说我们不应该轻易地感情用事地驳回重要的反馈。
作为一家公司,这种思维方式对我们非常重要。我们希望在 Meilisearch 工作的每个人都能表达自己的意见并被倾听。我们在提供反馈时培养耐心和友善:这是一个双赢的局面,因为每个人最终都会在不同时间给出和接受反馈——是的,甚至包括创始人和经理!
这培养了一种内在的主人翁意识。人们觉得集体参与到我们工作的质量中。这是我们希望保留在 Meilisearch 核心的东西,因为它对我们处理自己的项目以及从协作中获得的乐趣和满足感有着巨大的影响。
在 42 学院,那些无法在团队中工作的个人能力强者,如果他们没有很好地融入他人,就无法通过“泳池”(为期 4 周的密集编程,用于选拔入学的人)。这与我们产生了共鸣:Meilisearch 是一个团队,我们认为作为一个团队,我们集体更强大。尽管渴望成为英雄并拯救世界是很正常的人性,但这实际上是不可持续、低效率的,也不是产生最佳代码的方式。
我们正在持续地在 42 学院理念的经验基础上发展。我们现在在一个更结构化的环境中运作,这给了我们与更大的团队在不同时区协作所需的自由。
作为一家开源公司,我们的贡献者和社区是我们工作的核心。在内部遵循同样的原则是合情合理的:能够依赖我们的同事,反之亦然,这意味着我们可以在一个安全的环境中继续学习和实验,同时确保我们的工作经过了彻底的测试和评论。这样我们就能真正地说,Meilisearch 的价值大于其各部分的总和——并为此感到非常非常自豪!
附注:你是否好奇这篇文章是协作的成果?当然是!非常感谢 Charlotte、Quentin、Ferdinand 和 Morgane 对本文的审阅,特别感谢 Gui,本文中的许多句子都出自他之手。