如何选择一个讨论话题

叁叁肆2018-11-20 13:40

翻译:孙文学

欢迎访问网易云社区,了解更多网易技术产品运营经验。


我们的CFP课程开课有几个星期了,有很多人都在搜索主题,有时他们会咨询我们该如何选择一个主题。对于这样的问题,很难给出一个满意的答案。因此我尝试着总结一些我曾用来选择话题的方法。


我先简短自我介绍下。我曾在五十多次会议上发言。在我写这篇文章时,我最受欢迎的演进被观看了有50万次之多。(Wat的演讲已被观看至少三百万次,但他的发言非常简短,不是我们要讨论的内容)。我曾组织过一个专注于谈话质量的会议(你可以从你现在正浏览的这个网站上找到)。


我的大多数演讲都会有一两个令人新奇,或至少比较有趣的点,将要表达的观点串联起来。例如,我们可以从以下两点来理解。


第一:完全孤立的测试会使得你在模拟时存在问题。 但是,小而纯粹的功能组件(“功能核心”)则可以让我们多次测试,同时它们也没有这些缺陷。


第二:我们不能用功能齐全的组件来构建大型系统,至少在大多数流行语言中都是这样的。但我们可以对系统进行组织,对核心功能进行封装,然后在外层进行调用,但反过来做就不行。这使得核心功能组件能够保持独立且不复杂,易于测试和理解。


上面只是概括的讲了下。下面将详细展开说明。如果你感兴趣的话,可以只是看看。 如果它有帮助,我将用更加专业的术语来说明它:


1.小的,非交互的,纯功能的调用可以在非模拟的情况下自然地展开隔离测试。


2.多个小代码片段可以组合成一个大型功能代码片段,从而可以构建大型系统。


边界中的一切都来自这有这两种关联。对于熟悉这些概念的人而言,他们并不会感到惊讶,但我从未见过有人能够把它们组合在一起来讲述整个故事。我把这两个想法用几个单词进行概括,将他们组合在一起从而扩展为一个谈话。


(谈话准备阶段本身就是一个单独的过程,我想在其他时间写一些关于它的东西。它比我们在这里介绍的要复杂得多。)


现实情况是我们随时可能产生一个想法。每当我们解决一个编程问题时,解决方案都值得聊一下。 但我们很少会记录下来以方便后人了解。 那么问题来了,我们该如何记录它们,从而可以在CFP中提交后来进行查看?


我创建一个名为_ideas.key的文件,这个文件中记录了我的一些想法。 对我自己而言,这就是一个简短而神秘的笔记。(这里的下划线是为了让它在文件列表中排在第一位。)



人们经常想在会议上发表谈话,但他们不知道该谈什么。_ideas.key这个文件就是我话题的来源:如果我想做一个谈话,但我不确定它应该是什么,我可以翻一下我多年的笔记,看看都是哪些事情让我感兴趣。_ideas.key中可以记录任何内容-代码片段,屏幕截图,看似相关的想法列表,笑话;但它们都是我感兴趣的东西。


下面的屏幕截图是第一次展示这个文件。它是存放在我的_ideas.key文件中的其中一张幻灯片。这个幻灯片的唯一作用就是提醒我曾有过的一个想法,所以它非常简洁。你看到这其中的关联了吗,还是太神秘了? (我真的不知道;我对它太熟悉了!)



该幻灯片将一系列“左手侧”值与“右手侧”值相关联。它表明,在任何情况下,左边增加的速度要快于相比右边的线性速度。例如:如果diff的长度为D,我们理解它的能力是U,那么对于某些常数k,有可能关系是U=KD2,或者U = 2D,但绝对不是U = kD。用更通俗的话说,差异越大,你每添加新的一行对你造成的困扰就更大。


这是一个疯狂的猜测。它用过于量化的语言表达;我永远不会站在舞台上说“理解力就像kD2”。在2015年写这篇文章之前,我没有对此进行过任何研究,即使在我写这篇文章的时候,我也没有花超过一分钟的时间来思考它。但它的表达方式就是如此简洁,我相信未来我会理解。


(请不要拿这个来做一个名为“超线性”的演讲!)


所有这一切都存在一个问题。CFP很快就结束了,所以你没有一年的时间来记录东西到你的_ideas.key文件中。但谁也没有规定你必须被动的来记录它。


现在你的任务是立即创建一个空的_ideas.key文件。然后浏览下面的每个类别,并记录下你能想起的例子。每个想法或事情做成一张幻灯片。字要大写,格式没有要求;只是要白色背景黑色字体。要添加足够的细节来使得你可以记得这个想法;不要分段写。以下是一些类别:


·人们很少一起使用的成对的或者三个的工具/想法/实例,但一起使用对你而言很有用。


·最近让你困惑的问题中,那些看到答案之后感觉很简单的问题。


·有没有办法防止再次发生这种情况?


·你能解释一下那个答案吗,来帮助其他人节省时间?


·您最近观察到或参与到的编程实践中存在分歧的地方。


·这是否是一语双关? (这样的事情有很多!)


·这是否是人们在不同的情况下使用了相同的方法,而忽略了它们使用的场景? (例如,“X不扩展”...到1,000个节点,但我们的服务器基础结构当前是10个节点。)


·你能否从分歧中找出一些话题吗,然后在在舞台上谈论这个话题?


·有没有你了解的在其他领域存在的类似的编程问题。


·兼职程序员经常使用它来产生不错的效果。但它确实需要的是一个没有其他领域经验的程序员。首先让一些程序员朋友运行它,最好是那些会提供诚实反馈的人。


·有没有你利用一些比较特殊的方式来解决一个问题,而且它至少成功了三次,同时你也没有见过其他人讨论它。


·同样的事情但结果相反,我们在某些任务中不断失败但却没有注意到。


·反馈及其虚拟DOM就是这种思维很好的例子。奖励积分是因为大多数人都会认为它不切实际。惊喜!


您可能没有这些列出的经历,或者说大部分没有;我们并没有注意到同样的事情。出于同样的原因,我可能会错过我所忽视的所有大类别。但我敢打赌,至少其中一些会让你有些想法。


制作那份笔记清单,不要担心它们是否是“好主意”或者是否会营造一个“不错的谈话”; 没有人会看到这个清单。(除非你在五年内写出这样的东西,但即便如此,你也可以像我一样选择一个不那么令人尴尬的例子!)。当你浏览你的_ideas.key文件时,我打赌你会发现一些可以成为谈话的话题。


很难知道哪些想法以后会变得有用。有时,一个想法是如此引人注目,我当场起草了一个谈话。在其他时候,我会浏览_ideas.key来准备一个演讲,并寻找一些看似相关的东西。 举例说明下,以下是我在一些非常喜欢的演讲中使用的核心观点:


·对于Boundaries,它是隔离测试的纽带,它由纯功能组件和小型shell组成。


·对于JavaScript的诞生和死亡,它建立在内在的web汇编语言与编译器的普遍性基础之上。这让许多程序员感到惊讶,特别是在2014年。


·对于意识形态而言,它是程序员声称相信的东西与他们似乎真正相信的东西之间的产物(实际上是不和谐)。这可以通过第二种关系来理解:人们对于类别(类型)与例子(测试)的看法,以及由此产生的矛盾。


如果你从未发表演讲但却考虑开始,那么现在你的机会来了。我们将于2018年1月31日晚上11:59点开始征集建议。这是一个不同寻常的会议:我们的大多数发言人都是受邀参加,所以我们仅对首次参加者开放。我们负担所有差旅费用,我们会为您的第一次演讲提供指导,而且我们会向您支付和主题发言人相同的演讲费(有时是如此)。


准备你自己的_ideas.key文件(或_ideas.ppt;我们不做要求)。找到最有趣的一个话题,或者两个也可以,这两个以某种方式相关联。花30分钟时间讲一下这个话题的概要,每次两分钟,重复十次,直到你能清楚的讲出你的核心点。然后给我们发一个视频!一旦你的演讲被认可,就可以好好的准备你的演讲了。


原文:https://www.deconstructconf.com/blog/how-to-choose-a-talk-topic


免费体验云安全(易盾)内容安全、验证码等服务

更多网易技术、产品、运营经验分享请点击