有人提到这样一个观点, 就是说你想要把一项技术掌握得特别好, 那么最推荐的做法其实就是去做老师, 通过去教会其他人来掌握这项技术。在这个去教别人的过程里面, 你自己肯定是需要把这项技术的各种细节都深入了解一遍的, 你同时也要琢磨好方法, 要思考清楚到底该怎么讲才能让其他人听得懂呢。每一个真正做过这事情的人心里都特别清除, 这种做法肯定要比自己一个人闷头学习更加困难。我以前所带的团队之中, 都会存在比较好的技术分享氛围这一问题。我会强迫每个人都必须定期地去做一些自己所熟悉的技术分享内容目的有两方面一方面是来帮助大家一起实现共同成长, 同时也可以让自己有更大的成长可能性。当然我自己也是非常乐意去做这样的技术分享事情的。我一直都持有这样一个看法, 就是去帮助别人其实是一种非常快乐的感觉。技术分享的主要表现形式存在着写技术文章以及做内部技术讲座这样两种, 那么, 在针对无论是哪一种具体的技术分享形式去实施的时候, 都存在一些需要引起大家注意的基本事项这一点情况是客观存在的。每一次技术分享, 它的篇幅是有限的, 它的时间也是有限的, 听众的注意力同样也是有限的, 这就意味着我们一定要能够把主题给突出出来, 绝对不能什么问题都去讲, 否则的话到最后大家什么也记不住、没有什么印象了, 咱们得尽量在一个点上集中发力, 好让听众能够留下一个特别深刻的记忆。其实呢, 对于一次技术分享来说, 真要是能让绝大部分的听众在某个具体的知识点上面做到心里有点数、稍微掌握了一点皮毛, 这就已经是非常成功的一件事情了。例如, 前不久我刚在部门里组织过一场技术分享活动。这次分享的主题, 是关于一个聊天系统的具体技术实现方案。事实上, 这个系统的架构是相当复杂的。在服务端方面程序使用了node、redis和mysql等工具, 此外还涉及了负载均衡和安全认证等相关的技术手段。在客户端方面则用到了React、Redux、React-、SASS、Gulp、Babel以及ES6等多种知识点和技术特性。如果试图把所有的内容都完整讲解清楚, 那么花费一两个小时的时间是绝对不够的, 根本无法讲完。因此最后我决定采取取舍策略, 专门挑选大家关注度比较高的热门前端技术领域。也就是最终只围绕着客户端中使用的React和Redux这两项技术内容进行详细讲解。后来的事实证明, 效果还不错。在仅仅一个小时之内就基本上完成了任务。并且使得很多同事对于React以及Redux有了初步性的了解。明确受众在确定了分享的主题之后, 接下来就要做一件很重要的事情, 那就是去了解技术分享的听众, 这个过程就像是在做产品的时候要仔细去研究你的目标用户, 做技术分享的时候也必须要清楚你的听众都是谁, 有几点是需要大家考虑得特别明白和清楚的。例如我做过的那些技术分享, 通常面对的听众群体可以分成几种类型。从本质上说, 这也是一种进行期望值管理的行为操作方式。我们需要把受众群体的期望水平了解透彻。只有这样做了之后才能确保最终结果符合他们的心理预期。甚至有可能超出他们的原有期待。内容通俗易懂在去做技术分享之前, 要不是为了刻意炫耀自己有知识才去那样做, 大部分人其实还是愿意让自己的内容变得浅显易懂的。可是, 如果真的要把事情做起来, 却并不是那么容易的一件事。这其中也包含了我自己本人而言, 还有很多需要去提高和改进的地方。但是, 经过了这些年的积累, 我也总结出来了一些相关的经验教训。多类比做新技术分享的时候, 类比这件事非常关键。因为大家多多少少都已经有了自己的知识框架, 也积攒了一些经验。如果用听众本来就懂的知识来做对比, 他们就会更容易理解, 也更容易接受。比如, 如果要给搞技术的人讲清楚什么是React, 我会用模版、数据绑定还有函数式编程这些概念来做类比可是面对那些完全不懂技术, 或者只懂一点点技术的对象, 比如公司的老板, 我就只会直白地告诉他们, 这东西是一个类似的前端框架, 虽然一开始学习起来会有点费劲, 需要投入一定的成本, 但是一旦应用到了那种特别复杂的业务场景里, 它就能实实在在地提高开发的效率。多用图片和代码俗话说一图抵得上千言万语, 对于优质的代码而言同样存在这一现象。我在制作演示文稿或者撰写文章的过程中, 始终需要耗费大量的时间精力来进行图片素材的检索工作, 并且还要亲手绘制出一些简易的示意图结构, 以此来协助将相关的说明内容表达得更加清晰透彻。在诸多技术挑战里, 终极的呈现方式往往得落实于代码层面, 这点对专业人士而言特别关键。当你耗费大量时间与精力去费力解释一个难题时, 有可能只需要编写寥寥数行的代码, 就能将其说得明明白白从而彻底澄清。辅助演示在很多时候, 哪怕大家花费精力去反复解释, 听众可能还是不清楚这门技术具体能够完成哪些任务, 以及它到底能带来什么样的好处。如果此时配合使用一些直观的演示操作, 就能够让听众非常直观地去了解相关的功能点, 并且清楚地知道这项技术能够产生哪些具体的益处。良好的互动和答疑在一次技术讲座中, 时长短的会需要半小时多, 时长的会可能要到一个小时。在这个过程中, 想要让听众持续保持注意力集中是特别困难的事。要是只是照着PPT念那些内容, 那观众很可能就会觉得挺无聊的。其实, 进行听众互动是一种特别简单且有效的办法。这种方法能够有效地提高分享的效果。关于互动的具体方式, 其实是非常多的, 比如说可以针对听众进行提问, 还可以专门安排时间去让听众参与到某个游戏活动中去, 或者是直接回答他们所提出来的疑问。有一次, 我进行有关项目管理相关知识的分享活动。在那一次活动中, 我事先设计了一个游戏环节。在这个游戏里, 我把大家分成了几个组。然后, 要求每个组在限定的时间之内, 使用纸和笔来设计一款手机。完成设计任务后, 再进行分组上台讲解。在游戏结束之后, 我再结合项目管理的知识点, 做一些进一步的讲解和对各组表现的点评。采用这样的形式, 让所有参加的人都非常深刻地留下了印象。类似于之前的那段经历, 就是邹老师曾经组织过一款叫做「创新的时机 – 黄金点游戏」的活动, 这件事也让我的印象非常深刻。除了开展互动活动之外,在通常情况下还会安排答疑环节, 特别是对于采用现场问答方式的活动来说, 参与者所需要的就是平日里的知识积累以及即时性的临场反应。有一点需要特别注意, 那就是必须把被提出来的问题理解清楚, 如果遇到的确实是自己不会解决的问题, 那么坦率地说明自己不清楚这种情况也是属于非常正常的行为。控制好时间和节奏一次分享的时间通常是比较有限的, 所以必须要把握好节奏, 事先一定要做好计划, 要知道总体要耗费多少时间, 各个阶段分别要耗费多少时间, 还要预留出多少时间来安排答疑环节, 在实际上进行分享的过程之中往往会遇到一些意想不到的情况, 比如说对某一部分内容讲得太细了, 或者是前期的互动太多了, 这样极有可能导致后面的时间就不够用了, 因此要在整个过程中始终保持一种清醒的意识, 如果发现某一部分进度过快或者过慢的话, 就要及时地进行调整。若是有需要的话, 还可以让别的人来帮着进行一下提示和提醒。过去有一位友人, 他曾经去进行有关时间管理的演讲活动。然而结果是, 原本预定为仅需要一个小时就能完成的讲解内容, 实际上却花费了将近两个小时才结束。等到这个环节最终告一段落的时候, 现场的所有学员在当下这一时刻, 第一反应便是一致的动作, 那就是大家争先恐后地奔赴洗手间以便解决个人生理问题。