ArcBlock 北京黑客马拉松小记

作者 王仕军 (ArcBlock 资深前端工程师)

9 月 15 号,优客工场酒仙桥社区,工作多年的我首次参与了 ArcBlock 北京黑客马拉松的组织工作,内心充满期待、紧张、兴奋。

让近 80 位对区块链感兴趣的开发者开始尝试做出有趣、有用的东西来,完成演示的项目超 10 个,满意度调查显示 80% 的开发者认为活动整体超预期,ArcBlock 第三场内测版黑客马拉松算是非常成功的一次活动。

没有总结和复盘,就没有更好的迭代,下面跟大家分享下整个黑客马拉松过程中我从工程师视角的一些感悟。

赛前:不打无准备之仗

任何看起来的毫不费力,都需要耗费大量的心力去计划和准备。ArcBlock OCAP 服务上线 3 个月,还没接受过应用开发者的大规模检验,工程团队自行举办较大规模的黑客马拉松也是第一次,自然要求我们进行充分的准备。

OCAP 服务是弹药库

OCAP 服务作为目前 ArcBlock 对外提供的主要服务,会承载本次黑客马拉松的所有应用的大部分数据需求,自身的稳定性、正确性,以及围绕服务接入的 SDK、文档的易用性都非常重要,具体来说,我们的准备工作包括:

  • 遵循 “Eat Your Dog Food” 的原则,我们要自己能在 OCAP 上做出东西来,才能让开发者在 OCAP 上构建应用,黑客马拉松之前客户端团队有针对性的在 Javascript、Android、iOS 环境性开发应用,以检验服务和 SDK 能力;
  • 根据吃狗粮过程中遇到的问题、发现的痛点,去快速迭代 OCAP 服务、SDK,比如确保 iOS/Android SDK 里面支持的特性都能按预期工作,给 JS SDK 增加翻页支持,让 JS SDK 支持服务端、WEB 端、Native 端三端运行;
  • 建立自动化测试,确保 OCAP 服务所提供的所有接口、所支持的所有字段都能正常返回;
  • 站在用户的角度编写入门文档,整理各种可能遇到问题的 FAQ;

开发者是战友

对于喜欢创造的开发者来说,黑客马拉松就像是他们的节日,因为可以放开工作,根据自己的想法创造新的东西出来。要产生高质量的应用,就需要更多的开发者参与,为了招募到尽可能多的合格开发者,技术 VP 陈天把《ArcBlock 北京黑客马拉松,你来不来?》这篇文章前前后后改了 3 遍,如果你感兴趣,可以去翻来读读,保证你读完也很想来。

文章发布没过几个小时,60 个名额已经报满了,原计划是招募 100 名开发者,但是我们仔细评估了可用的场地之后,为保证到场的开发者体验,把报名人数调整到了 60。

为了不浪费开发者的宝贵时间,我们在黑客马拉松前精心准备了两个分享,方便他们更好的理解区块链、了解 ArcBlock 在做的事情。

场地、物料是后勤

给开发者提供良好的 Coding 环境,对保障创意顺利落地也至关重要,具体的场地、物料准备工作包括:

  • 提前两周开始联系、确认场地,提前一天调试场地中所有的电子设备,考虑可能出现短板的地方,准备应对方案,比如网络、插座;
  • 提前半天对黑客马拉松的活动做了演练,让所有团队成员了解活动的流程,知道自己的角色和分工;
  • 准备了充足的饮料,提前采购好,活动开始前放在场地内随手可及的地方,唯一的不足是矿泉水买少了;
  • 准备了 20 件印有 ArcBlock Logo 的 T 恤衫作为纪念品,虽然没有精美的包装,但是质量都不错;

赛中:实践让我们更接近真实世界

如果说每个人都生活在自己所认识到的世界里面,那么对于 ArcBlock 来说跟更多的开发者接触、倾听他们的需求、了解他们的困扰才能让我们更接近真实的世界,做出更有价值的东西来。

技术分享有必要,并且反馈不错

不少开发者事后反馈说赛前的技术分享很有必要,因为大多数开发者因为这样或那样的原因还没有正式接触区块链技术,系统的介绍能让他们更快的进入状态,即使没做出东西,也在成为区块链应用开发者的路上迈出了实实在在的一步。

开发者对于分享质量的评价也让我们备受鼓舞:后端工程师沛灵的分享中关于 UXTO 的解释尤其精彩,UXTO 本来是比特币里面一个比较晦涩的名词,他用现实世界的现金去做类比,让人立马理解比特币这种设计的玄妙;至于以太坊,还有什么比直接把数据结构摆在你面前更直白呢?毕竟搞清楚复杂系统的关键就是数据结构和数据流转。

我想偷偷的告诉你,有这样的评价也在情理之中,毕竟沛灵是通读过比特币和以太坊源代码的人。如果你想观看这两场精彩分享的回放,请移步:

鉴于此,我们决定开放所有的内部技术分享和培训,方便开发者更多的了解区块链技术、了解我们,《ArcBlock Technical Learning Series》已经开始运作,并办了两期。

OCAP 产品方向正确,细节需要优化

降低开发者读写区块链数据的门槛是 OCAP 服务的初衷,从开发者的反馈看,这个方向完全正确,最后参与演示的项目都用到了 OCAP 服务的数据,有的使用 OCAP 作为实时数据查询的服务,有的使用 OCAP 作为数据爬取源,有的在 OCAP 服务做一层代理,将其转变成小程序可用的接口。

于此同时,我们也发现了 OCAP 服务不能满足需求的地方、接口鲁棒性不够的问题,好记性不如烂笔头,我们把所有遇到的、听到的、自己解答开发者问题过程中想到的点全部记录了下来,最后都转变为内部的迭代需求,高优先级解决。

clubhouse

我们在 SDK 和种子项目准备过程中做了大量的准备,但是在技术培训环节关于这部分的介绍过于简略,导致部分开发者在把服务和自己熟悉的技术栈拼凑起来的过程中花费了比较多的时间,时间对于参加黑客马拉松的开发者来说才是最稀缺的资源,怎么让他们更快的进入创意实现阶段也是我们要考虑改进的地方。

团队要能快速感知和响应变化

真实的世界总会比我们想象的复杂,快速适应变化、找到更优方案的能力显得非常重要,比如:

  • 签到完毕后,发现实际到场人数超预期 50%,我们迅速联系餐厅把午餐预定量上调 50%,并确保能按时送到,确保大家不会饿着肚子 Coding;
  • 考虑到参会现场投影设备接口偏老的问题,我们快速吸收开发者的意见,使用内部沟通工具 zoom.us 去作为项目演示媒介,为演示评奖阶段节省不少时间;
  • 技术分享环节后是午餐时间,但很多开发者围着主讲人讨论技术问题,我们就给他们预留部分午餐,确保他们下午还有力气继续战斗。

赛后:一切才刚刚开始

这句话但是用在这里非常贴切,ArcBlock 北京黑客马拉松让我们学到、收获了很多,不信?黑客马拉松的参与者已经有本周入职 ArcBlock 的啦。

结合实践、围绕“如果再办一次黑客马拉松,我们如何做的更好”的问题,我们讨论列出了超过 15 页的总结,这些都将成为 ArcBlock 不断迭代和前行的宝贵经验。

recap

如果你对区块链有兴趣,为什么不加入我们呢?我们的招聘介绍在这里,欢迎来聊。