如何组织程序员集体学习活动 Code Retreat(一)

Code Retreat

本系列一共两篇:

Code Retreat 是什么

Code Retreat,又叫代码静修,代码精修。
想要编写出更好的代码,和更优雅地编写代码的程序员来说,Code Retreat 是最棒的集体学习活动
它通过结对编程并频繁轮换搭档的形式,极大地开阔程序员的眼界和思维
不同于 Hackthon(黑客马拉松),Code Retreat 通常为期一天,不以完成题目为目标,每一个小时都会删除全部代码,找个新搭档,针对一个目标进行练习

为什么我要写这个

从 2012 年在北京第一次参加 Code Retreat 开始,这几年,我在深圳和成都组织了 5 次 Code Retreat 活动。每一次都让我非常震撼,并且参加的人也觉得很有收获,他们在结束后最常问的问题是:「下一次活动什么时候啊?」
第一次在深圳组织的时候,我像无头苍蝇一样,到处找场地,找赞助,查资料,宣传,手忙脚乱。
担心报名的人不多,担心活动当天下雨,担心大家没学到东西,担心控制不好现场...
到现在,我已经轻车熟路,可以在一周以内,不费力气地组织一场 Code Retreat。
我想把我的经验写出来,让更多的人可以开始,在自己公司内部、在社区,组织 Code Retreat 活动。

如何组织

最早,我们参加的是 Global Day of Code Retreat(全球代码静修日,简称 GDCR),在每年的 11 月,全球多个国家和城市同步举行,有数千名程序员参加。
2015 年,我们觉得一年一次不过瘾,于是在姚若舟的牵头下,中国区的组织者们一起准备搞一个 Chinese Day of Code Retreat,后来又有其他国家的组织者参与进来,于是变成了 APAC Day of Code Retreat,在 6 月举行,这样程序员们就可以每半年参加一次。
上周末,我在成都组织了一场 Code Retreat,既不是 GDCR,也不是 ADCR,就是一场普通的社区活动。
你可以随时随地组织一场 Code Retreat,没有人会阻拦你。


接下来,我从活动的前中后三个阶段来描述,在这三个阶段分别需要做些什么。

活动前

怎么挑个好日子
首先需要确认活动的日期,你需要查看一下,当天是否是公共节假日,或者是否有其它社区活动。还有别忘了查看一下天气预报。
如果当天是公共假期,也有其它活动,并且当天天气并不怎么样,那么,这就是最适合举行 Code Retreat 的日子。
只有这样,你才能找到真正热爱编程,追求匠艺的程序员一起来玩。
我在深圳组织的时候,就经常和深圳敏捷部落,珠三角技术沙龙,GDG 等社区活动同一天进行,就是要强迫兴趣广泛的程序员们,做出一个拷问内心的选择。我是不是太邪恶了?
当然,如果你是第一次组织,并且是以推广软件匠艺为目的,就最好选一个,普通的周末,没有其它社区活动,且阳光明媚的日子。
最好再查一下「程序员老黄历」:

程序员老黄历

怎么找场地
Code Retreat 并不需要很大的场地,能容纳 10 几个人的会议室就可以。
这些年参与和主办过很多活动,提供过场地的公司有:腾讯、迅雷、锦会、中兴通讯、金斧子、ThoughtWorks 等。
为什么他们要提供场地呢?仅仅是出于支持公益活动吗?非也。我总结了如下几点:

  • 大企业看重雇主品牌。比如,上周的活动在 ThoughtWorks 举行,回顾的时候有个参会者就感叹说:「有个好的工作环境非常重要」。(啊,看这软广打的,按惯例 ThoughtWorks 应该给我几万的广告费~)
  • 创业公司看重宣传和招聘。锦会是个联合办公空间,当时刚开业,需要更多曝光。金斧子是专注互联网理财的创业公司,正在飞速发展,对工程师的需求很大。
  • 传统公司看重氛围。中兴通讯更多的是看重,将对代码精益求精的态度和积极学习的氛围,带入到公司内部。
  • 企业大学看重形式。迅雷当时在搞迅雷学院,更多的是多了解一种培养人的方式。

再次感谢以上帮助过「软件匠艺社区」的企业,祝没上市的早日上市,已上市的基业长青!
也感谢这些企业里给我提供帮助的朋友们:军少,贺鹏飞,范堃,黄泽武、张晔,王拓,海侠。希望以后还有更多的合作~

所以呢,不要担心没有人提供场地,多找社区的朋友问问,实在找不到就在自己公司搞。
差点忘了,场地方还需要确认一下设施:

  • 饮水
  • 插排
  • 投影(VGA,HDMI)
  • 白板
  • 空调
  • 空气净化器(深圳除外。妈蛋,好怀念深圳~)

宣传报名
确认了时间地点,接下来做什么?
首先要做一个报名表单,推荐用金数据:

报名表单

有了报名表单,接下来就该去宣传了,你也不想一个人独守空房是吧~
2013 年第一次在深圳组织的时候,不到一周的时间,我加了各种 QQ 群,对,那时候流行 QQ,Java,C#,Ruby,Python,JavaScript 等。当时最有意思的是,QQ 群里一个人说:「周末还 TM 写代码,屌丝注定孤独一生。」
除了 QQ 群,还可以到开源中国、V2EX、RubyChina 等社区去宣传。
当然,也可以把活动发布到 「MeetUp.com」,「活动行」等自带流量的活动平台,虽然我没试过。

做了几年社区,现在也有一点影响力了(臭表脸的说),宣传报名也简单多了。这次活动,我在 CodingStyle.cn 上发了个帖,在朋友圈转了一下,就有 1000 多阅读,20 多人报名。不信自己去看 #活动报名 #成都 2月18日,Code Retreat Day - 代码静修日
这次我也忘记了一点,报名后最好加个微信群,方便后续沟通。

题目选择
GDCR 的题目是 Game of Life,一直没换过,官方的解释是:

Code Retreat 的题目既不能太难也不能太简单,太难的话大家就会一心专注解题,忽略了练习目标,太容易的话大家会觉得无趣。一直没找到可以替换的题目,所以就一直用这个。

我也尝试过用 Tennis Kata,确实不如 Game of Life 好。


写到这里,奋笔疾书了 90 分钟了,已经快两千字了。
关于活动当天如何组织,明天再跟大家分享,喜欢请点赞,没人点赞就不写了~
如果等不及,可以先看看 以往的活动回顾