信息分享并非难事,即便是不善言辞的技术人员,也能通过博客、社交媒体或非正式交流等方式进行。然而,若要成就一次高质量、有深度的分享,则需投入更多考量。在我看来,高质量的分享应具备两大核心标准:一是内容具有持久的价值,不易过时;二是能够获得广泛的传播和认可。鉴于我们团队每周进行的技术分享主题虽有价值,但整体质量不一,我希望通过此文提供一些参考。
首先,我们不妨自省:我们认为的优秀技术文章究竟是怎样的?尽管大家的答案可能各异,但就我个人而言,优质文章通常展现以下特质:
它能够将复杂的问题以简单明了的方式阐释。例如,高中时期阅读的1978年出版的《从一到无穷大》,便以通俗易懂的语言清晰地讲解了各种复杂的科学知识。还有如《Windows程序设计》等佳作,从一个简单的“hello world”程序入手,逐步引导读者掌握Windows下的原生编程。
它会包含各种推导过程和不同方案的对比分析,让读者不仅知其然,更知其所以然。通过方案比较,能帮助人们形成全面的认知。《Effective C++》便是这类作品中的经典范例。
它侧重于原理、缘由、思路与方法论的阐述,使人触类旁通。这方面的典范非《十万个为什么》莫属。在计算机领域,《Unix编程艺术》、《设计模式》、《深入理解计算机系统》等著作,以及诸多技术论文如《The C10K Problem》,都体现了这些精髓。
事实上,从教科书到专业书籍,再到学术论文,上述这些优秀特质都普遍存在。
因此,若您渴望呈现一次卓越的技术分享,以下是我总结的方法和建议,供您参考:
开篇应先清晰地描述一个问题。这样能迅速吸引听众,特别是当问题与他们息息相关时,效果更佳。切忌一上来就直奔主题或直接给出答案,那只会变成灌输式教学。务必将“Why”(为什么)讲清楚。若缺失了对“Why”的解释,直接探讨“What”(是什么)的技术分享,其价值通常有限。
讲述“How”(如何解决问题)比“What”(问题本身)更为重要。在阐述“How”时:
首先要明确问题模型。有了这个框架,后续的解决方案才具有实际意义。
接着,应进行不同技术方案的对比。通过比较,能增强听众的信任度。
直接抛出“What”层面的技术细节,往往意义不大。
务必包含最佳实践或方法论总结,这是提升分享档次的关键,也是听众能获得的重要收获。
上述模型可概括为:问题 -> 方案 -> 总结。这其中蕴含着一定的心理学机制,具体表现如下:
通过提出问题吸引受众,引导他们共同思考。
运用问题模型限定受众的思考范围,帮助他们聚焦核心。
提供多种解决方案,并比较其优缺点,让受众在解决问题的过程中获得参与感。
最终呈现最佳实践、方法论或成熟套路,由于前三步的充分铺垫,受众会欣然接受。
整个过程将显著提升受众的成长感与收获感。
我在此分享一些我在公司MegaEase内部进行的技术分享示例,供您参考:
技术分享:Prometheus是如何存储数据的
技术分享:Distributed Lock Manager
以下是我为公司内部知识分享所撰写的最佳实践指南,希望能有所启发:
分享指南
请遵循以下分享准则:
理解分享的本质
分享是学习知识最为深入的方式。分享者从中获得的益处最大,远超听众。
分享能够为听众开启知识之门,但知识的获取仍需听众自身的努力。
最佳实践
为呈现一次出色的分享,请遵循以下实践:
避免选择过于宏大的主题,小而精的主题效果更佳。大主题容易使听众失去焦点。谨记:少即是多!
分享时长控制在60分钟以内为宜。
幻灯片内容建议使用英文。
在准备分享内容时,最好与资深同事进行讨论,这有助于全面把握整体图景、理解优缺点,并认知自身知识盲点等。
强烈推荐的材料大纲:
1. 问题是什么? 2. 如何解决此问题? 3. 最佳解决方案或实践。 4. 机制、关键技术及实现细节。 5. 优缺点分析。 6. 参考文献(供进一步阅读)。
例如,若您想分享关于Docker的主题,以下大纲将是一个不错的选择:
1. Docker需要解决的主要问题是什么(如环境配置、环境隔离等)。 2. 备选解决方案(如Puppet/Chef/Ansible、虚拟机、LXC等)。 3. 最佳解决方案——Docker,以及其优势所在。 4. Docker的关键技术——镜像、cgroup、联合文件系统、命名空间等。 5. Docker的优点与缺点。 6. 延伸阅读列表。
