Uploaded avatar of iHiD

Exercism 的下一步是什么?

@iHiD
大约7年前

就在 12 个月前多一点,我们发布了新版本的 Exercism。这是一次彻底的改变:我们从零开始重新思考这个产品,并引入了进阶和正式指导这两个概念。

发布之后,我们修复了所有坏掉的地方,也补上了一些当初在概念上遗漏的东西,但主要还是在观察和学习大家如何使用新版本。这篇文章会说说过去 12 个月教会了我们什么,既有好的,也有痛的。它也会讲我们希望在接下来几个月里达成什么。

好的方面

Exercism 实现了巨大的增长,而这一切完全靠口口相传。自 2018 年 7 月以来,已有 134,000 名新成员加入。我们收到了 578,000 次提交的迭代、395,000 条评论,还有 2,500 多人注册成为导师,在我们的 Slack 工作区里互相写下了 75,000 条消息。社区成员互相支持、互相鼓励,Exercism 因此得以蓬勃发展。我们为此无比兴奋,也格外感激。

多亏了我们的维护者社区,各个语言轨道每天都在变得更好。在几个轨道上,得益于轨道解剖项目的工作,我们向前迈出了一大步。现在我们共有 3,000 多道练习,分布在 50 条活跃轨道上。

在 Mozilla 的支持下,我们实现了对提交的解答进行自动分析。我们的社区为十种语言构建了分析器,自发布以来已经分析了 14,000 份提交的解答。这些分析让我们自动通过了 4,000 份提交,为导师节省了大约 350 小时的工作量。

痛苦的方面

除了一些早期的磨合问题,过去 12 个月里最让人头疼的一点是:指导的响应时间太长,导致某些轨道积压了大量待处理的请求。指导延迟带来的挑战主要有三类:

  • 轨道结构: 如果轨道没有一条平滑的进阶路径,指导就会变得困难得多,每道练习所需的指导时间直线上升,导师和学生之间的紧张感也急剧增加。发布时,很少有轨道拥有一套层层递进的核心练习。
  • 指导必须有回报感: 一遍又一遍地给出同样的反馈很无聊。只有当反馈是个性化的、对话是围绕某个学生的具体理解量身定做的时候,指导才变得有趣。
  • 缺少社区感: 当指导变得孤独时,流失率就相当高。在那些有几位核心导师、彼此通过 Slack 工作区互相支持和鼓励的轨道上,导师往往能坚持下来。学生和导师之间的关系对这种社区感也很关键。人与人之间互相尊重、个性化的交流,会让人感觉是人在帮助人,而不是单纯在一个教育网站上答题。

过去一年里,我们花了大量时间应对这些挑战,也在幕后投入了巨大的精力,试图理解这些问题最核心的症结。我们接下来 12 个月的计划,目标就是解决这三个问题。我们希望在这段时间结束时,所有轨道都能有快速而稳定的响应时间。

接下来的 12 个月

我们未来 12 个月的工作分成几个部分。这份清单并不完整。比如我们仍会继续修 bug,也会对网站和 CLI 做一些常规调整。但下面这些会是我们工作的重点。

重新组织轨道,让学生更享受,也让指导更容易

轨道解剖项目在解决 Exercism 轨道当前一些紧迫问题上起到了关键作用。未来 12 个月,我们会更深入地探讨熟练、学习和忘掉旧知方面的问题,并挖掘不同语言独特或特别有挑战的地方。

能自动化的就自动化

我们现在已经在十条轨道上自动通过提交的解答。对于这些解答,我们还会提供自动生成的改进建议。

我们会扩展已有的分析器,让它们能处理更多练习,也会为其他语言添加分析器。我们还希望把分析更好地融入学生和导师在网站上的体验,特别是找出并报告那些阻碍自动通过的常见问题。

我们还会开始对提交的解答运行测试套件。

我们相信,这些额外的自动化会带来以下好处:

  • 减少学生的挫败感: 我们想给学生一个快速的反馈回路。如果一份提交的解答已经是最优的,就让他们继续往下走;如果它以可预测的方式失败,就告诉他们,好让他们改进。

  • 大幅缩小队列: 我们的原型测试显示,对于简单的练习,超过 90% 的情况都能提供自动指导。虽然在更复杂的练习上这个比例应该会低一些,但我们认为大约一半的提交的解答都能获得自动指导。

  • 让导师不再重复劳动: 大多数提交的解答都可以归入相似的类别。很多指导工作其实就是针对每一类解答复制粘贴现成的答案,就算是最有毅力的导师也会觉得枯燥无聊。把常见的解答从导师队列里移走,导师就能把精力放在真正需要他们知识和经验的案例上。

鼓励学生和导师之间建立互相尊重的关系

目前在 Exercism 上,指导还是一个非常交易化的过程:学生提交一份解答,导师给出评语。除了对话通常比较友好之外,导师和学习者之间并没有建立起什么“关系”。导师很难记住自己以前有没有给这个学生反馈过。也没法知道一个学生是初学者还是有经验的程序员,从而相应地调整反馈。学生同样无从了解自己导师的背景,也就无法在这个背景下去尊重和感激这些反馈。

我们会探索两件事,希望它们能让整个体验更有人情味,也让指导更有回报、更有乐趣。

第一件是给学习者和导师都提供更深入的个人资料,并让它与指导体验更紧密地结合。

第二件是学生和导师配对的想法。这样学生就能继续跟对自己特别有帮助的导师学习,导师也能和自己了解其学习方式或背景的学生长期合作。

把用户变成社区

轨道之所以能“正常运转”,是因为它们总有那么几位随叫随到的导师。这些导师会给别人提建议、改进导师笔记、欢迎新来的人、回答他们的问题,总之让人们觉得自己是某个群体的一部分。一条轨道只要有一位愿意在 Slack 上发声的核心导师,积压往往就会迅速减少。这种势头非常关键:当大家感觉积压在下降时,所有人都会加入进来出一份力,然后所有人都希望积压一直保持很低。

指导最频繁的那些导师,也是我们 Slack 社区里最活跃的人。我们相信这是因为他们和 Exercism 的连接最深,得到的支持也最多。对他们来说,指导不再只是回复学生,而是和一群志同道合的人一起追求更大的目标。

我们确信,Exercism 成长和成功的根本障碍不在技术,而在人。我们需要把 Exercism 看作一个社区,而不是一个网站或产品,一个人们可以把自己的时间奉献给帮助他人的地方。Exercism 能给人们带来连接、社区、意义和善意,但目前我们还没有很好地利用和鼓励这些东西。

接下来 12 个月,我们会研究如何让 Exercism 更像一个社区,而不只是一个网站。我们不想稀释学习和指导这些实实在在的功能。我们不想变成一个“社交网络”,也不想变成漫无目的的讨论论坛。我们希望参与 Exercism 的人,能感觉到自己和其他成千上万同样在使用它的人联系在一起。要做到这一点很复杂,会是一个缓慢而谨慎的过程。

一旦做对了,我们就会降低在 Exercism 上做指导的门槛。我们会让任何人都更容易帮助别人,因为他们知道背后有一个强大的社区在支持和维护网站里发生的一切。

为贡献增加额外的动力

在设计 v2 时,我们非常刻意地决定继续避免游戏化。我们认为,人们参与进来必须是因为他们从中找到了内在价值,而不是因为我们人为地去刺激他们的奖励中枢。

能一直保持活跃的人,都是那些在 Exercism 生态里不断用新方式挑战自己的人。无论是维护一条轨道、指导一门新语言、写博客文章,还是构建分析器,他们总能找到让事情保持有趣的新办法。我们为学生营造进阶感和意外奖励做了那么多工作,却对导师没有任何类似的安排,我认为这是一个真正的损失。

另外,我们希望人们付出的努力和了不起的贡献能被看到、被庆祝。

我们想探索一些方式,让社区成员在更多使用 Exercism 的过程中,获得新的挑战、机会和特权。我们会花时间思考:在不削弱那些必须持续驱动 Exercism 的内在动机的前提下,我们能添加哪些对 Exercism 有价值、也对社区里的人有价值的东西。

我们会小心行事,把这件事做对,我们坚信做对了会给 Exercism 带来巨大的不同。

大声讲出我们是谁

我们明年想做的最后一块,也是我们认为目前存在的最后一个大缺口,是更好地传达 Exercism 在做什么、我们是谁、我们想努力实现什么。当人们考虑是否要把时间投入到 Exercism 时,他们会根据我们的价值观、原则,以及他们在 Exercism 之外对我们的体验来评判我们。

所以我们要大声讲出我们的愿景,讲出我们是谁、我们相信什么。我们要不断向社区里的每个人重申这个愿景,一起为我们能用 Exercism 实现的一切而兴奋。我们需要会说话、能点燃热情的页面,也需要让人感觉文字背后真有人在的视频。我们的目的绝不是拉新,而是要让大家清楚我们是谁,让人们保持兴奋和动力,愿意成为我们的一部分。这可能会让我们增长得更快、势头更足,但那不是我们想衡量、想在意的。我们在意的是,每一个和 Exercism 有关的人都感到兴奋、有力量、有连接。

我们已经开始做一点点这样的事情,只是在社交媒体上更准确地表达自己,而这已经开始在我们社区成员之间带来更多兴奋和连接感,也帮助我们把“品牌”塑造得更正面。我们打算在接下来一年里谨慎地在此基础上继续推进,让 Exercism 成为一个所有参与其中的人都为与之相关而感到自豪的地方。

结语

对接下来 12 个月,我们真的非常兴奋:兴奋于我们能如何帮助 Exercism 迈出下一步、发挥它的潜力,也兴奋于我们能如何更好地服务社区、把社区连接起来。最后,我想对过去一年里每一位做出贡献的人说一声由衷的感谢,无论你是维护者、导师、学生,还是以其他方式参与其中。谢谢你们的热情、想法、贡献,以及在我们在不断改进的过程中给予的耐心。

顺便说一下,Exercism 有一份战略文档,我们会持续更新我们推动 Exercism 前进的计划,你以后可以留意一下。

2019年08月05日 · 觉得有用吗?