如何优雅地参加技术分享会?

NingJS 刚刚落下帷幕,参加 宁JS(JSConf CN 2016)是个什么样的体验? - JavaScript 也成为一时热议。

诸如此类技术分享会每年都有很多,热心参加这些会议的人重合率很高,但是,除了公费旅游(宁 JS 主持人 Goddy Zhao 现场统计非自费参会者,目测大约八九成)和面基蹭饭之外,技术分享会的真正价值何在?参会者应该以怎样的期望和态度参加此类会议?本文想谈谈我在回程路上的一些思考,以供抛砖引玉。


下策:学技术

一个很直接会想到的答案是,技术分享会,我们当然是去学技术的

以这样心态参会的童鞋,很容易抱怨“都 TM 是广告,干货也太少了吧”、“这个讲得太基础了吧,好几年前的技术了,还来科普”、“这个好像很干货啊,干得嚼都嚼不动啊,我没用过这类框架,讲师到底在讲什么”等等。

那么,我们不妨思考一下,一个理想的技术分享,究竟应该怎么讲。

以《3D on the Web》为例,讲师先是介绍了 WebGL 的渲染管线,再引到很大程度上简化工作的 Three.js,后面花了大量篇幅介绍了 Three.js 入门教程,最后展示了 AutoDesk 在做的一些非常酷炫的三维工具等等。

因为我对 WebGL 方面有点了解,所以同事问我怎么评价这个分享。我觉得大概作者在一上台时,分享的这个名为《How to Draw A Horse》的著名漫画或许就是一个非常恰如其分的自我评价:

图片来自:oktop.tumblr.com/post/1

此处完全没有黑讲师的意思,对于像 WebGL 这种大部分人都听说过、小部分人知道个大概、很小部分人真正在日常业务中有需求的技术,即使是再过几年,仍然不会明显提高实际使用者的比例。而如果在场的大部分听众并不具备图形学的储备知识,要讲进阶教程也的确差强人意。所以,这就造成了年年只能科普 Three.js hello world 的局面,当然我一再强调,这一点完全不能怪讲师。

事实上,像这个分享做到介绍一门技术能够实现如何酷炫的效果(对于其他框架,也可能替换成解决的实际问题)以激发听众了解或是进一步学习的兴趣,展示入门学习曲线的平缓以缓解初学者的顾虑——这几乎就是将学技术视为目的的人能指望一次技术分享可能带来的最大收获了。


中策:了解别人遇到的问题,参考别人的解决方案,借鉴别人解决问题的思路

对于讲师来说,难度很难把握。讲深了,大家不知所云,要是还是个不会讲段子的讲师,可能大家就都刷知乎去了;讲浅了,大家觉得没啥意思,抱怨没什么干货。而更困难的是,底下听众的水平参差不齐,连让大部分人满意都很难做到。对于这个问题,我觉得常常是听众对参会的定位不是很合适,有时候,也是讲师对分享的定位不是很合适。

我们都非常清楚,任何一种技术的掌握都不可能在短短的几十分钟的分享中完成。显然,实践、阅读文档、查阅 StackOverflow、看相关技术书等,是更高效的学习方法。而技术分享有其自身的价值——比如在中策中我想说的,让你发现一个原来没听说过的新技术或是一个别人碰到的问题,下次等你碰到相似的需求或是问题的时候,就可以回想一下,以前听过的这个技术是不是能解决你的问题。

有些讲师不太注重“我讲的技术解决的是什么问题”,而一直在强调“我讲的技术多么牛逼”。对于这样的讲师,我想说——他要么是一个不太称职的布道者,要么就是一个恶意安利的传销者

我想请那些觉得不知道讲师在讲什么的听众再回想一下,你之所以一脸懵逼,到底是因为你对这个话题一无所知,还是因为讲师没有说清(san)(bian)这到底是在解决什么问题?

拜托,要是你对这个话题很熟悉,难道在台上的不该是你吗?

对于中策而言,重要的是理解讲师想解决的究竟是一个怎样的问题;他是如何解决的;(如果可能的话)更进一步地,他是如何(经过了怎样的失败尝试之后)想到这样的解决方案的。

因为他讲的技术可能你(暂时)用不着,但是他解决问题的思路(尤其是踩过很多坑的老司机的思路)——作为一种更抽象的存在,是更通用,因而也更有价值的。

你可以不用在会后了解每个分享提到的工具或技术,但是应该对上面的这些问题有一个比较明确的记录——无论是记在笔记本里,还是脑子里。


上策:使自己跻身于一个更积极的技术氛围

多年在较好的学校学习的经验告诉我,名校的价值,相比于更优质的师资力量,一个重要得多的因素,是一起学习的优秀伙伴。他们使你见贤思齐,成为你努力的动力和目标,而完全不会有诸如“好像抄个作业老师也完全不会知道”这样的思考模式。

或许之前的种种经历使你并没有一个很好的机会进入一个有健康技术氛围、或是有足够业务需求锻炼你能力的工作环境。那么,这样的技术分享就是一种非常好的打破原有技术圈的渠道。

即使是处于技术氛围非常好的公司团队,接触(尤其是高质量的)多样性程序员仍然是有非常积极的作用的。

不要以为,你天天加班努力工作就可以比别人成长得更快——笨鸟先飞的故事,(有意)错误地假设了每只鸟的效率是一致的,而我们根据常识可以知道,至少人的学习效率可以有天壤之别。

由于人是一个社会性动物,我们跟怎样的人相处久了,也会由于趋同性成为他们那样的人,即使我们在一开始的时候抱怨他们是多么的不堪。所以,和优秀的人多交流,不仅仅是为了从他们那里学到什么具体的知识——一个重要得多的目的是,让自己认同“奋斗成为他们那样的人”是一件理所当然应该做的事


那么,具体如何通过技术分享,使自己突破在公司业务中打交道的技术圈子呢

一、永远带着问题去

虽然技术最牛的人未必都热心此类会议,但的确这些前端网红们大多是抱团的,对于新人而言,可能会疑惑如何融入其中。虽说是“网红”,我看谁也没认真把自己当“明星”了,最多也不过是知乎抖个机灵多几个赞的小虚荣罢了,绝大部分大家眼中的这些前端“网红”的都没什么架子的,甚至大多都是非常热心的布道者

那么,为什么常常你在微博的留言或是知乎的私信都没有回复呢?不要再问“在么”、“我能问你一个问题吗”之类的问题了,甚至连“我好崇拜你”的开头也可以省了。想清楚、讲明白你的问题,提供足够的信息,尽可能不要问抽象到没法回答的问题——能做到这一点,基本可以不至于使你的问题有去无回。

二、尝试做一个输出者

但是,“解决问题”和“加入这样的圈子”之间还是有很大的距离的。毕竟,如果你要的只是解决问题,那 StackOverflow 懂的恐怕要比任何一个大牛全面而迅速。

这就是技术分享会能够提供的好机会了——再没什么比这种一个炸弹可以让中国前端倒退十年的会场更适合接触到圈内人士了

把提问作为一种契机,是认识他们的好方法。但是,如果希望能够长期融入其中,一定不可能只做一个听众自己也一定需要有足够的输出,这样的关系才是互惠平等、因而健康的。

三、思考!思考!思考!

即使你有机会被邀请和他们在这样的技术分享会后一起吃饭,如果你只是听他们谈笑风生,这和在微博上看他们的段子又有什么区别?

作为一个业务经验不多的人,很多时候思考只能是空想。但一个有空想的人是可以和有经验的人交流(即使是错误的)想法的,而一个不会自己思考的人,即使一直听大牛们步道,也是没法真正吸收的。

你想从他们这里学什么?这个问题只有你自己才能回答,而这也是决定你能从中收获的最重要的答案。


当然,上面所说的,都只是我的一些思考,可能非常片面而狭隘。但应该也不失为一种拓宽思路的方向。


下面说一下我算是融入圈子以来的一些收获和感想,可能有些偏题,可自行略过。

(不要脸地说)作为一个因为写了一本总被人以为是翻译的电子书,网页简历被盗版得满天飞,在去年在 ShenJS 上通过 Lightning Talk 上初露头角,以及因为一些花哨的项目吸引眼球的前端网红圈新成员,我深知自己的华而不实和圈子里这些前辈的差距。有时候在谈到严肃的技术问题的时候,也会让我觉得有插不上话的自卑。但正是这种差距的存在,才让我这种人生观非常虚无的人还能有点努力的动力。

很神奇的是,不知道为什么,在这个圈子里,我认识了非常多让我非常敬佩的人,因为这个比例在现实中还挺低的。不仅仅是技术方面很牛,更是他们的为人让我感觉如沐春风——包括并不限于 @徐飞@贺师俊@赵锦江(勾三股四)@大漠 。在这个圈子中,让我有很多能够聊得来的朋友,或者只是远远地欣赏他们的为人,让我这个理想主义者在现实中还不至于那么孤独。

对此,我心存感激。

编辑于 2016-09-06