Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何做出色的技术分享 #45

Open
lietoumai opened this issue Feb 15, 2018 · 0 comments
Open

如何做出色的技术分享 #45

lietoumai opened this issue Feb 15, 2018 · 0 comments

Comments

@lietoumai
Copy link
Owner

有人说,如果你想掌握好一门技术,那么最好的方式就是去当老师,去教会别人这门技术。在教别人的过程中,你必须要去深入的了解这门技术的方方面面,同时还要思考怎么才能让别人理解。每一个做过的人都知道,这要比自己学习更难。

以前我带的团队中,都会有比较好的技术分享的氛围,我会逼着每个人都定期做一些自己熟悉的技术分享,一方面帮助大家共同成长,同时也让自己有更大的成长。当然我自己也很乐意做这样的技术分享的事,我一直觉得能帮助别人是一件快乐的事情。

技术分享有主要的形式有写技术文章、做内部技术讲座。无论是哪一种形式的技术分享,都有一些基本注意事项:

  • 突出主题
  • 明确受众
  • 内容通俗易懂
  • 良好的互动和答疑
  • 控制时间和节奏
  • 突出主题

每一次的技术分享,篇幅有限,时间有限,听众的注意力也有限,这就要求我们必须能突出主题,不能什么都讲,最后什么都没印象,而是尽可能聚焦于一个点,让听众留下深刻印象。事实上,一次技术分享,能让大部分听众在一个知识点上有所理解和掌握,就已经非常成功了。

例如前不久我刚在部门做了一次技术分享,关于一个聊天系统的技术实现,事实上这个系统比较复杂,服务端用到了node、socket、redis、mysql,另外还有一些负载均衡、安全认证等技术,客户端用了React、Redux、React-Router、Immutable、SASS、Gulp、Babel、ES6等知识点,如果要完整的讲一遍,那么一两个小时是不可能讲的完的,所以最终我选取了大家比较感兴趣的热门前端技术,仅围绕客户端React和Redux来讲。事后证明效果不错,在一个小时内基本完成,并且让很多同事对React和Redux有了初步的了解。

明确受众
在确定主题后,接下来一件很重要的事情就是要了解技术分享的听众了,这和做产品需要了解你的目标用户一样,做技术分享也需要了解你的"用户"。有几个点是需要考虑清楚的:

  • 听众是谁?
  • 听众想要什么?
  • 听众的技术基础和接受能力如何?

例如我做过的技术分享一般有几类听众:

  • 公司内部技术人员:这部分人群都是同事,相互都比较了解,有一定技术基础。他们希望能通过参加技术分享,了解技术动态,提升自身技术水平。
  • 外部技术人员:有时候会参加一些外部的技术分享,听众来自于各个公司的技术人员,这部分人群水平有刚毕业的学生,也有行业专业。他们诉求不一,有的是希望了解技术提升水平,有的是想来解决工作中遇到的问题的,有的是打算过来交交朋友的。
  • 公司老板: 很多老板虽然本身不负责技术,也没有技术基础,但是他们对技术有兴趣,也希望对公司的技术现状有更多了解。
  • 在清楚受众后,准备的内容就需要有所差异了,对于公司技术人员,可以随意一点,内容可以更贴近工作;对于外部的,需要准备更充分,内容也要尽量显得高大上一点;对于老板这种,内容得浅显易懂,对于老板关心的成本、安全性等问题要重点介绍和精心准备。

这其实本质上也是一种“期望值管理”,只有了解好受众的期望值,才能最后符合期望甚至超出期望。

内容通俗易懂
去做技术分享前,如果不是为了装逼需要,大部分还是愿意让自己内容浅显易懂的,但是真要做起来可不是那么容易,包括我自己,还有很多需要提高的地方,但这些年也总结了一些经验。

多类比
类比对于在做新技术的分享的时候尤为重要,每个人都或多或少已经建立了自己的知识体系,有一定的积累,用听众已有的知识去类比,会比较容易理解和接受。比如说要给技术人员介绍React,我会类比模版、数据绑定、函数式编程,但如果是不懂技术的或懂一点技术的例如老板,我只会解释说这是一种类似jQuery的前端框架,前期有一定学习成本,对于复杂的应用可以提高开发效率。

多用图片和代码
一图胜千言,好的代码也是如此。写PPT或者文章的时候,我总需要花很多时间去搜索图片,然后自己再画一些简单的框图,帮助说明清楚。
很多技术问题,最终是要反映成代码,尤其是对于技术人员,你费劲解释很久的问题,可能几行代码就写清楚了。

辅助演示
很多时候,费劲讲半天,听众可能还不明白这门技术能做什么事情和带来什么好处,配合一些直观的演示,可以让听众很直观的了解可以做什么,有什么好处。

良好的互动和答疑
在一次短则半小时多则一小时的技术讲座过程中,要想让听众一直能集中注意力是很难的,如果只是照本宣科念PPT,恐怕观众很容易觉得无聊。而听众互动是一种非常简单有效的方式来提高分享的效果。
互动的方式有很多,例如向听众提问、让听众参与游戏、回答听众疑问。

有一次做项目管理相关的知识分享,我事先设计了一个游戏,把大家分成几个组,然后每个组在限定的时间内用纸笔设计一个手机,然后再分组上台讲解。游戏完成后,我再结合项目管理的知识点做一些讲解和点评,这样的形式让参加的人都印象深刻。类似的还有以前参加过邹老师组织过的一次游戏「创新的时机 – 黄金点游戏」,也是让我印象深刻。

除了互动,一般都会有答疑的环节,尤其是对于现场答疑这种,需要的就是平时的积累和现场的反应了。需要注意的是要理解清楚提的问题是什么,如果实在是不会的问题,坦然说明不知道也是很正常的事。
控制好时间和节奏

一次分享往往时间有限,所以对节奏的把握很重要,事先要有计划:总体耗时多少,各个阶段要耗时多少,留多少时间答疑。在实际的分享过程中往往会有些意外环节,例如对于某部分内容讲的太细,或者前期互动太多,这很可能导致后面时间不够,所以在整个过程中,需要有清醒的意识,当某部分过快或过慢的时候要及时调整。如果有必要,也可以让其他人辅助提醒。

以前有个朋友,去讲时间管理,结果原定1个小时的内容,讲了快2小时,最后结束的时候,所有的同学第一时间冲向厕所:)
原文

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant