最近,在新冠肺炎大流行期间,我有机会参加了递归中心2020年秋季第一批活动。不幸的是,我只参加了一天。不过,为了顺应时代的精神,我想我应该写一篇回顾稿。是时候回顾我的RC之旅了!
我几年前通过(我相信)丹·卢的博客听说过递归中心。其基本理念是,RC是一个“针对纽约市程序员的自我导向、社区驱动的教育休养地”。我的心理模型是这样的:来自各行各业的人们聚集在一个共同的空间里,做一些很酷/有趣的软件事情。长期或总体目标因人而异(例如,有些人可能想转行,有些人想游手好闲,有些人想学一些非常具体的东西),但总的来说,参与者是为了学习、玩耍和提高作为程序员的水平。作为一家企业,RC通过向招聘人员提供一批才华横溢、积极进取的求职者来运营。但对于参与者本身来说,这是免费的,没有特别的工作压力。听起来很棒!
回过头来看我希望从RC中获得什么,主要是。
我想在软件开发方面做得更好,根据我的经验,做到这一点的最好方法之一就是与其他人合作。
分享我学到的东西让我很兴奋。我比较内向,但当谈到我感兴趣的话题(例如数学、编程)时,交流中有很多乐趣。
我很有兴趣了解更多关于“成人教育”的替代机构。在今天这个时代,大多数人不得不在一条不确定的职业道路上导航,这涉及到学习新技能,思考如何“重塑”自己,等等。我在学术界呆了几年(包括5年的教学),所以我完全知道这个系统是如何运作的,以及它所带来的负担(大量的时间咳嗽和债务咳嗽)。同样,既然我已经在工业界工作了几年,我也开始意识到许多雇主对“职业发展”的态度是多么不认真(尽管优秀的经理在这方面会自己照顾好自己的员工)。由于这些以及更多的原因,我觉得像递归中心这样的机构在未来可以发挥越来越重要的作用。
因此,我认为,除了独立的休假之外,递归中心还有很多东西可以提供。但是要去纽约并不容易。
我曾有一段时间想过申请RC,但个人情况使我很难接受。我第一次考虑参加是在2016年,当时我完成了数学博士学位。当时,我没有钱养活自己在纽约市失业三个月,所以我放弃了这个想法。我第二次考虑参加是在去年。我当时在旧金山湾区做软件工程师,有足够的钱支付账单,但当时我也在进行一段异地恋,不愿以一种会让我和我的伴侣之间有更多身体和情感距离的方式背井离乡(好消息是我们现在结婚了,住在一起了!)
由于新冠肺炎的流行,递归中心已经变成了只在网上使用的形式,突然之间,我不参加的借口消失了。我申请了一批,并通过了标准的面试流程:首先是一个快速的Zoom电话,谈论一些重要的事情(个人动机等),然后是一个结对编程会议(我用Python开发了一个玩具计算机代数系统)。就这样,我被录取了!
我很兴奋能参加。但最后一步也是最可怕的:我不得不辞去工作。在大流行期间辞去一份工作有一个令人伤脑筋的因素,但我觉得在我目前的角色中,我已经不再朝着积极的方向发展,并想象参加RC会给我一些时间和空间来推动事情向前发展。所以我这么做了--我在工作中递交了通知,并在过去的两周里尽最大努力让我的(前)队友在我离开的情况下处于一个成功的位置。
RC面谈过程相对简单:已经安排了两次Zoom调用,有关这些调用的信息在登录后立即显示在Recurse网站上。然而,一旦我被录取,事情就变得有点混乱了。
不用说,举办在线教育务虚会与面对面的有很大不同。在这批邮件的第一天之前的一周里,我收到了十几封电子邮件,内容涉及各种操作细节、加入Zulip(使用的聊天/讨论软件)、加入GitHub组织的邀请、填写我的Recurse个人资料的请求、标题为“Remote RC Orientation Guide”的文档链接,等等。要接受的事情很多,我即将结束最后一周的工作,但我想一旦这批工作正式开始,我就会掌握诀窍。
我还被分配了一位入职伙伴,在我第一天上班的前一个星期六,我和他聊天。这很有趣,因为我们碰巧有很多重叠的兴趣,所以谈话自然就顺理成章了。这一经历在我的脑海中强化了我做出了正确的决定:花几周/几个月的时间和这样的人一起研究软件东西似乎是一种真正的享受。
我记得入职的最后一件事是一个共享日历的链接,任何人都可以在这个日历上创建新的活动。那里已经有相当多的活动,比如为试图学习更多数学的人举办的每周一次的会议,ML阅读小组的另一次每周会议,每天的leetcode练习时间,由各种RC工作人员举办的“办公时间”,一些有趣的活动,比如周六的流式大提琴练习,音乐/读书俱乐部,等等。
我对远程参加会议的担忧之一是参与者之间的时差。我使用的是太平洋时间,递归中心本身使用的是东部时间,许多远程批次的参与者甚至更远:一些在南美,一些在欧洲,等等。但大多数活动似乎都来自北美,看到日历上的活动让人松了一口气:尽管有些活动在我可能不会参加的时候(例如,我凌晨3点有一个榆树黑客会议),但大多数都是太平洋标准时间上午10点到下午早些时候。
相当酷!周日晚上我上床睡觉,期待着我在RC的第一天。
我的第一天就像我最近的许多天一样开始了:我醒来,喂猫,煮了一些咖啡,然后坐在我的电脑前。祖利普有几次会议。我回复了ML阅读小组的回复,并提到无论他们在什么时候,我都很乐意加入他们(这个小组几周前就开始了,所以他们已经读了一本书的6章)。我用Python和某人Re:Asyncio聊天。我们讨论了如何将‘async def`视为普通python协程的语法糖,事件循环在做什么,等等。
我观察到,但没有参加一些稍微敏感的对话。其中一次讨论是关于一篇博客文章Re:Google,“不要作恶”,以及激励的实际性质。正如你所预料的那样,人们对此感觉相当强烈,在它被RC工作人员关闭之前,出现了两个阵营(一个大致是“资本主义糟糕;吃掉富人”,另一个是“欢迎加入现实政治;粉碎你的幻想”)。我承认,我对这场特别的对话很感兴趣,只是想感受一下围绕这样一场讨论的规范(即了解人们对我如何行事或讨论有争议的话题的期望,等等-基本上,我只想谈论代码和数学,否则就不想惹恼任何人)。递归中心有一套正式的行为准则和一套社区指导方针,但在任何组织中也有许多不成文的规则。例如,在这种情况下,我不确定讨论实际上是否违反了任何明确的指导方针,但一旦区域市政局的工作人员要求他们停止讨论,参与者就照做了。
事情就这样过去了。无论如何,在此之后,我开始确定要处理的第一个项目的范围:我想用python编写一个玩具版的MILL构建工具,以用于我参与的另一个项目(基本上是一个庞大的天文数据减少管道)。我仔细考虑了一下,起草了一些关于它的设计的笔记,然后吃了很晚的午餐。
有一个共同的梦想,这是许多人在生活中的某个时候经历的:他们第一天上课就出现在学校,结果却发现自己忘了穿衣服。我从来没有想过这会成为在线学校的一种形式。有了Zoom,任何人都可以穿着内衣出现,可能会认为相机关了。但是我已经穿好衣服了!
据我所知,RC使用六个不同的渠道向我传达信息:
直接电子邮件,这是我被批录取之前使用的主要渠道。
“递归社区”网站上的帖子,它支持类似留言板的东西(但它也会给你发送电子邮件)。
Zulip中的讨论(这似乎是最活跃的-每天都有很多对话)
日历本身,这是事件沟通和协调的主要方式。例如,我就是这样找到朋友一起谈论ML的。
还有一个“虚拟RC”空间,有点像2DHTML5画布MMO,在那里你可以把你的头像移动到不同的“房间”。有点可爱,有人在外面的一棵树旁露营。
受到所有这些信息的轰炸,其中大部分来自上周我试图结束工作的时候,我基本上a)在Gmail中添加了一个标签,至少将所有RC相关的通知都放在一个标题下,b)确保阅读“远程RC入门指南”,以及c)与我的“入职伙伴”安排1-1的约会。这似乎就足够了--我想,事情在最初的几天内就会自行解决的。
这就是我搞砸的地方。原来我应该参加的第一天早上有一个“欢迎活动”。我收到的一封电子邮件中提到了这一点(我的错是没有仔细阅读这篇文章),但在“远程RC入门指南”中没有提到,也没有在与“入职伙伴”的1-1中提到。它在日历上,但在我当地时区的早上7点15分,因此仅凭这一点,我就干脆忽略了这一事件(例如,没有点击它并阅读描述)。当我第一天上网的时候,它已经结束了(我想它大概运行到了早上8:30)。我不记得Zulip上有提到这件事,所以整个上午我都以为我在做的事情-与人聊天,制定阅读小组计划,以及移动我的头像-就像第一天早上远程RC的情况一样。
嗨,埃里克!我今天早上给你发了一封电子邮件,但没有收到回复-我们在今天早上的欢迎流或演讲中没有看到你,我们想登记一下,看看发生了什么。
您有没有收到我们的社区电子邮件,关于批次的第一天和日程安排?
参加欢迎活动是强制性的,我们通常要求错过的人推迟一批。如果您今天上午有急事不能出席,请告诉我们。
哦,糟了。我在服用Zulip,但是那天早上我没有检查我的电子邮件。
我会将我的回复粘贴到上面的消息中,但我没有它(我可以访问我收到的消息,因为Zulip也将它们发送到我的电子邮件中,但发送的消息对我来说是丢失的,因为我的帐户被停用了)。但粗略地说,当我收到Zulip的信息时,我回复说这是我的一次意外,我被通过各种渠道收到的信息量搞糊涂了。我问,尽管有这样的政策,是否可以继续(也就是说,如果有什么办法,我可以弥补我错过的会议)。我不认为我很粗鲁,除了我自己,我没有责怪任何人。
我们了解到,在批次之前,有很多电子邮件需要处理,特别是来自欢迎主题的电子邮件。我们很遗憾您错过了第一天的活动,但这并不能改变在线对他们的重要性。日程安排在8月5日发送的电子邮件中排在首位,也在RC日历上,自从我们运行RC Online以来,由于这个原因错过了第一天就再也没有发生在其他人身上了。
Remote RC Orientation Guide是为RC社区中任何刚接触Virtual RC的人编写的软件指南,而不是为新人编写的第一周的完整指南。我们将在它的顶部添加一个注释,以提醒人们查看社区第一天的日程安排,我们还将添加一个链接,指向带有“参与远程RC的工具”电子邮件的日程安排的帖子。
我们只对错过第一天有紧急情况的人例外,但在这一点上,你需要将你的批次推迟到第二天或更晚。我们将更新您的帐户,以便您搬出秋季1并能够确认新的批次-一旦完成,我们将向您发送电子邮件。
在那之后,我的Zulip账户被停用,我被从Github组织中除名,我的RC账户被重置。
我希望我在上面的互动中遗漏了一些东西,但事情就这么简单:我被告知错过了一个强制性的活动,我解释说,第一天我对协议感到困惑,然后在我有机会进一步回应之前,我被停用了。
这一切都让人感觉相当突然和充满敌意,我仍然不确定该如何理解。注意到上面的引述,RC工作人员说,他们“通常”要求错过欢迎活动的人推迟,但也提到我是唯一一个“一般”适用这一原则的人(至少对远程RC是这样)。同样,我仍然被认为与社区关系很好,但…。他们想让我推迟6周,因为我错过了一个Zoom会议。
从我在递归中心进行的一天的远程黑客攻击中,我可以得出什么结论?老实说,并不多。参与者似乎很有趣,也很有动力。申请和准备的过程耗费了一些时间,并迫使我辞去了一份无论如何都在考虑离开的工作。但是,作为传统机构的另一种选择,它是我见过的大学中最无情的。
现在我的空闲时间怎么办?这个计划和以前一样:黑客,数学,希望能以我能做到的适度的方式为开源做贡献。事实上,为了获得一点灵感,我现在正在重读递归中心网站:
我们的理念:我们相信,当人们掌握自己的教育,自由探索自己感兴趣的东西时,他们的学习效果最好。RC在很大程度上受到非学校教育的影响。