如何做一个有质量的技术分享
我不知道大家的是什么,我个人认为的好的文章是下面这样的:
- 把复杂的问题讲解的很简单也很清楚。比如我高中时期读到这本 1978 年出版的《从一到无穷大》,用各种简单通俗通懂的话把各种复杂的科学知识讲的清清楚楚。还有看过的几本很好的书,有一本是《Windows 程序设计》,从一个 hello world 的程序开始一步一步教你 Windows 下的原生态编程。
- 有各种各样的推导和方案的比较,让你知其然知其所以然。有了不同方案的比较,才可能让人有全面的认识。这个方面的经典作著是《Effective C++》。
- 原理、为什么、思路、方法论会让人一通百通。这里面最经典的恐怕就是《十万个为什么》了,在计算机方面也有几本经典书,有《Unix 编程艺术》、《设计模式》、《深入理解计算机系统》等书,以及《The C10K Problem》等很多技术论文。
所以,如果你想做一个好的技术分享的话,下面是我总结出来的方法,供你参考。
- 先描述好一个问题。这样能够听众带入进来,如果这个问题是他们感同身受的,那是最好了。千万不要一上来就说 What,或是直接冲进答案里。这样的分享是在灌输和填鸭。把 Why 说清楚。没有 Why,直接谈 What 的技术分享,通常来说价值不大。
- How 比 What 重要。在讲 How 的时候,也就是如何解这个问题。
- 先要把问题模型说清楚,有了问题模型这个框框后,方案才有意义。
- 然后要有不同技术的比较。有了比较后,听众才会更相信你。
- 直接上 What 的技术细节,其实没有太大意义。
- 一定要有 Best Practice 或方法论总结,否则上不了档次的。也就是分享中大家可以得到的重要收获。
说明了这个模型就是:问题 –> 方案 –> 总结。这其中是有一定的心理学模型的,具体表现如下:
- 用问题来吸引受众,带着受众来一起思考
- 用问题模型来框住受众的思考范围,让受众聚焦
- 给出几种不同的解决方案,比较他们的优缺点,让受众有一种解决问题的参与感。
- 最后,给出最佳实践,方法论或套路,因为有了前三步的铺垫,受众欣然接受。
- 整个过程会让受众有强烈的成长感和收获感。
这里有几个示例,也是我在我司 MegaEase 内部的技术分享,供你参考(我个人的 YouTube 频道)
技术分享:Prometheus 是怎么存储数据的(Youtube)
技术分享:Distributed Lock Manager(Youtube)
下面是我写在我们公司内的 Knowledge Sharing 中的 Best Practice,供参考