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 年,数学家 埃瓦里斯特·伽罗瓦在一本杂志上写了关于科学教育的文章(链接指向法语 PDF 文档):“[学生们]何时才能有时间思考大量的知识……为什么考官只以复杂的方式向考生提问?似乎他们害怕被他们提问的人理解……我们是否认为科学太容易了?”
为了奉承自我而使知识变得晦涩难懂在 191 年后仍然很常见。我们认为,在期望员工彼此竞争的公司中,自负和自命不凡的个性是一个反复出现的问题。虽然其根本目标可能是留住“最好”的人并抛弃其他人,但这种精英主义是纯粹的守门行为——我们认为这始终不利于产品质量。
在 Meilisearch,我们的目标是尽可能多地被人理解。我们在 42 的经验表明,只要人们能够自由获取学习该行业所需的知识,各种背景的人都可以从事 IT 工作。
这就是为什么文档从一开始就一直是 Meilisearch 的基石。我们希望让所有开发人员都觉得他们可以理解和使用 Meilisearch,无论他们是刚开始还是已经有很多年的经验。
学习 > 自我
然而,骄傲是一种非常自然的人类情感,而且很难放下它。(我特意避免写“let it go”,这样你就不会想到一首特定的歌曲,但我担心现在效果已经失效了。很抱歉。)例如,很难接受建设性的反馈,尤其是当它触及我们认为非常重要的事情时。
根据我们的经验,热爱学习新事物非常有效。如果您用更强大的东西(例如学习新事物的巨大乐趣)取代自己的自我和骄傲,那么接受反馈就会变得更容易!
从不同来源学习新事物使我们的工作更加愉快。我们不断地被新概念所吸引。有时我们的同事会给我们提供新的想法,有时我们会偶然发现它们,有时我们只是在尝试解决难题时寻找它们……无论来源和最终结果如何,我们都喜欢这个过程。
集体负责
如果您在努力摆脱自己的自我的过程中感到孤独,请不要担心!这很可能是最难实现的事情之一。我们都希望觉得自己有好的想法,并且我们的工作受到赞赏!
这是 42 的方法有用的另一个方面。42 背后的理念是,同事对项目的成果负有集体责任。这意味着我们都在一起,并承认所有的胜利(和所有的失败)都是集体努力的结果。您的同事可能编写了一段关键的代码,但如果没有您的支持,他们就无法做到这一点。
那么这种支持是什么样的呢?很高兴您问。一个人可能是他们正在从事的项目的负责人,但他们的同事是判断项目是否一切顺利并准备启动的裁判。这意味着人们在审查时必须非常严格。您的项目质量也是他们的责任!我们关心代码质量,作为交换,我们全心全意关注您的个人使命。即使在 Meilisearch 的个人项目也是集体的,因为对我们其中一个人有用的东西对我们所有人都有用——我们是一个团队,如果某件事可以让您更好地工作,我们所有人都会工作得更好。
我们的新员工很快就能适应这种工作方式。与同事进行建设性的对话比始终与他们竞争更舒适和愉快。
持续反馈
在 42,反馈与不断变化的状态齐头并进:一个人在一天审查一个项目,第二天就会被审查。由于审查者和被审查者总是在切换位置,因此学生自然会成长为既做出周到和建设性的评论,又认真对待反馈,无论其来源如何。当批评来自我们认为不如我们有经验的人时,我们的偏见可能会错误地导致我们无视批评。集体责任可以导致基于其自身的优点而不是提供反馈的个人来接受批评。当然,这并不是说所有的批评都是相关的,也不是说专业的专家是错误的,而初学者总是正确的,只是我们不应该匆忙地驳回基于怒火的重要反馈。
作为一家公司,这种思维方式对我们非常重要。我们希望在 Meilisearch 工作的每个人都能表达自己的意见并被倾听。我们在提供的反馈中培养耐心和友善:这是一个双赢的局面,因为每个人最终都会在不同的时间提供和接受反馈——是的,即使是创始人和经理!
这培养了一种内在的归属感。人们会感觉自己集体参与到我们所做工作的质量中。这是我们希望在 Meilisearch 的核心保留的东西,因为它对我们处理自己项目的方式以及我们从协作中获得的快乐和满足感有着巨大的影响。
在 42 学校,如果强大的个人表现者不能在团队中工作,他们将无法通过选拔池(为期 4 周的强化编码,以选拔加入学校的人),因为他们没有与其他人很好地融合。这引起了我们的共鸣:Meilisearch 是一个团队,我们认为作为一个整体会更强大。虽然想要成为英雄并拯救世界是很人性化的,但这实际上是不可持续的、低效的,也不是产生最佳代码的方式。
我们不断地在我们 42 学校的理念经验基础上进行建设。我们现在在一个更加结构化的环境中运作,这为我们提供了必要的自由,以便在不同的时区与更大的团队进行协作。
作为一家开源公司,我们的贡献者和社区是我们工作的核心。遵循相同的内部原则是有道理的:能够依赖我们的同事,反过来他们也能依赖我们,这意味着我们可以在一个安全的环境中继续学习和实验,同时确保我们的工作经过了彻底的测试和评论。然后我们可以真正地说 Meilisearch 大于其各部分之和——并为此感到非常自豪!
附注:您是否想知道这篇文章是否是集体合作的成果?当然是!非常感谢 Charlotte Quentin Ferdinand 和 Morgane 审阅这篇文章,特别感谢 Gui 写下了您刚刚读到的许多句子。