课程:工程师个人发展指南
https://time.geekbang.org/column/article/758476
我打赌,大概率你有自己的工作笔记,无论是纸质的还是电子的都算。如果没有,那就值得你特别重视了,俗话说“好记性不如烂笔头”,记忆力再好,花了很大精力搞明白但又用得少的知识点,可能过个两三年就忘光了。
让知识增值
回想我工作之初,除了重视做笔记,还会不时花时间整理。后来做着做着基本上就能第一时间做到位了,慢慢地花在整理笔记上的时间也就越来越少了。我之所以花时间整理笔记,是为了每次求助于笔记时,能以最快的速度调出所需的知识点。这种行为,其实也是在专业化,咱们前面讲过,专业化是指任何有助于提升工作质效的方法。
笔记可是咱花了心血才沉淀下来的,它的含金量自然很高,甚至可以成为个人的核心竞争力来源。那咱是不是应当私藏好自己的笔记,免得他人学走了而影响自己的核心竞争力呢?这里有个误区我可得提醒你了。
不知你在工作中是否有这样的体验,工作笔记中曾经当作是宝贝的知识点,过了几个月回头看时,发现过时了,因为全团队的人都知道了。这个现象很好解释,我所碰到的难题,别人也会碰到,多个人碰到后总有人会分享出来,让其他人也掌握解决那个难题的方法,最终曾经的难题带来了每个人都掌握的基础技能。那如果我一掌握那个宝贝知识点就分享出来,又会是什么结果呢?
还记得 10 讲聊到的心理学中的互惠原理吗?当我将自己的知识分享给他人时,他人也会将他的知识分享于我。如此一来,我会收获更多的知识。
你发现了吗?知识因分享而增值,因封闭而贬值。咱一旦学到了别人还没掌握的知识点,最好的办法是第一时间分享出去,不然就浪费了一次给人恩惠的机会。还有呀,个人选择分享自己的知识是大家一起学,封闭个人掌握的知识是单打独斗地学,你会选择哪一种方式呢?
话说,对一个团队来说,每个人都分享出自己的知识时,就会面临知识的组织问题,否则运用知识的效率就上不去,出现更高的知识获取成本,甚至有可能恶化到知识太多却完全发挥不出效用。这就好比图书馆为了管理那么多的书,需要引入编目学。看来团队的知识也得引入管理,而且越大的团队,对这一点的要求越急迫,为此我们有了知识管理的概念。
什么是知识管理
知识管理是指一个组织、团队或个人,对知识进行创建、获取、共享、利用和维护的过程。它涉及一系列策略和实践,用于识别、创造、表示、分配和使知识系统化,以提高组织、团队和个人的工作效率和竞争力。你看,知识管理的目的与我们每个人做笔记是一回事,也是为了效率和竞争力。有了知识管理的概念,看来咱得将“做笔记”这个概念升级为“个人知识管理”。显然,无论是组织、团队还是个人知识管理,个人既是知识的创造者,也是知识的使用者。为了方便,接下来我们就称知识管理中的个人为知识管理者吧。
你一定很关心,在落实知识管理时,在自己的日常工作有哪些具体的表现,不然让人有点看不见摸不着,有劲也不知往哪使。好消息是,不同类型的文档(含图、表格等)是知识管理的基石。如果你有自己的私人笔记文档,那恭喜你已经掌握了知识管理的基石。接下来,我就说说落实知识管理的几个关键点吧。
-
第一个关键点是,采用方便更新和查阅文档的工具。办公软件发展到今天,这个问题在全社会范围内都解决得相当好了。比如,钉钉、飞书、企业微信都集成了在线文档功能。有的还实现了知识库功能,具备基于人、群去设置文档的使用与编辑权限。将即时通信与文档管理打通,就能很方便地实现文档的存取和传播,这是落实知识管理非常重要的一步。今天的文档存取已不仅限于工作电脑上了,还得在手机端上,以便随时随地存取和沉淀知识。
-
第二个关键点是,基于知识管理者的场景,确保知识的体系化,让人找具体的知识点时更快。为了方便你理解“场景”这个词,我打个比方。在组织知识时,就得考虑到谁会用那些知识。是客户端开发工程师、前端开发工程师、还是服务端开发工程师?针对不同岗位的知识点,需要考虑采用独立的文档去组织,这样他们各自找知识时,就能快速地缩小范围。场景所强调的是知识管理者得像电影的导演那样,在组织知识时,头脑中勾勒出清晰引导他人到达所寻知识点的蓝图,让寻找知识点的过程自然而流畅。
千万不要被“体系化”这三个字给吓倒哈,因为体系化是可以通过持续优化去完成的,没有人说“罗马必须一天建成”。对于你来说,最重要的是写文档时不要东一个、西一个,需要考虑合并同类项和分门别类,也就是说架子一定要先搭好,“肉和皮肤”可以后面再填进去。当然,架子自身也是可以持续完善的,没有必要给自己背上非得一步到位的包袱。
第三个关键点是,日常工作中养成创建、使用和持续优化文档的好习惯。具体说来,当别人口头向你请教问题时,除了及时回答,想一想是不是有必要写成文档,这样下次别人再问同样的问题时,你就让他读文档就是了。小心别成为老好人,谁来问你都口头回答。注意到了吗?这也是专业化很微小的一个点,但威力可不小。
当然,文档是会过时的,可能是业务场景发生了变化,运用了新的技术,出现了之前没有考虑到的点,这都意味着得注意优化文档。我的一个让自己变得高效的秘密是,努力基于文档去开展工作,而不是基于与他人的口头沟通。碰到信息不全的情形时,我会请求对方给我份文档;有时与人沟通后,我会补上文档请对方确认。这些习惯不仅有助于做好知识管理,还可以规避不少扯皮的现象,基于白纸黑字解决问题总是更好吧。
我用下面的图简单小结一下。落实知识管理最重要的三个关键点是:
- 一,选择称手的工具,“便”字当头;
- 二,让知识基于使用场景体系化,“快”是追求;
- 三,形成创建、使用和优化文档的习惯,才能收获知识管理所带来的“效”率和“效”果。
这一讲,我们从一开始的个人工作笔记这个小概念,讲到了知识管理这个大概念,你可能有个问题一直憋着:“做笔记与写知识管理文档可不是一回事啊,写笔记我可以随便点,哪怕是用只有自己能懂的黑话也行,但写知识管理文档就不能那样了。可我只擅长编程,不擅长写文档啊?”
写文档的难
如果你的问题,只是为了表明自己写起文档有困难还好。要是将那当作是不写文档的借口,那就糟糕了。相信你也知道,这个借口带来了工程师群体的“文档悖论”,即工程师们抱怨其他人不写文档,但他们自己又不想写文档。死锁了!
写文档确实不容易,不光对你,对我也一样,因为那是非常消耗脑力的事,背后意味着得消耗更多的生理能量,从而导致了大脑对它的抵触。如果我告诉你,写文档需要的能力与编程是类似的,你会意外吗?
说写文档难,是指要写出具有一定质量水准的文档难,而那样的文档意味着得有良好的知识架构。什么是知识架构呢?我归纳为如下五大要素。
- 系统性。指站在什么位置和从哪些视角去组织和表达知识。系统性强调文档基于主题所提供知识的整体性和全局性。显然,主题越大,其系统性的要求就越高,也越复杂。
- 结构化。指借用一些思维框架来辅助思考,对碎片化和复杂的信息进行内在联系的识别和整理,对其进行分组、归类的过程,它是在知识整理时的思维方法。
- 层次感。文档是否具有层次感首先依赖于前面说到的结构化思考,但结构化思考更多是确保了文档整体内容上的结构,这里提出的层次感还包含了:内容的主次之分;段落之间的联系、推进;章节内容前后的引导和总结;以及排版和格式上的层次感设计等。
- 逻辑性。层次感已体现了一定的逻辑性,这里的逻辑性,除了结构和内容层次感体现的逻辑性外,还包含了因果推导的合理性、概念的一致性、前后句(或段)的逻辑关系、行文的严密性等。
- 清晰度。一篇具有清晰度的文档,除了逻辑性的要求外,还体现于文档内容中的用词准确、语言简洁不累赘、没有语病、信息真实等更细节的要求上。
为了帮助你更好记住这五个要素,我用下面的雷达图进行表达。你可以理解为,小到一篇文档,大到整个组织的知识管理,都可以通过这五个要素去评估其质量。
你看,这五点中的每一个都是需要深度思考才行。注意到了吗?编程时也需要注意程序的这五点,只是“知识架构”换成了“软件架构”。在软件架构下,前三点好理解,逻辑性可以理解为概念之间的关系,清晰度可以理解为编程时的命名,命名这事可是每个程序员的痛啊!
当你理解了知识架构的存在,相信能很好理解为什么写文档那么难。考虑到写文档与编程所需的技能是相通的,我希望你不再以“我擅长编程但不擅长写文档”作为自己不写文档的借口。写作是一种技能,是需要练习才能掌握的,如果你花在写文档上的时间远少于花在编程上的,那能擅长吗?
写作技能是个人编程技能的镜子,如果你不擅长写文档,那大概率你的程序写得也好不到哪去。但愿你能认同我的这一观点。
除了知识架构带来了写作的难,我后来发现还有一个原因加剧了这个难,那就是阅读太少。你想啊,知识架构是很丰满的事物,如果阅读少的话,拿什么去填充呢?我知道有相当多的工程师,一年书籍的阅读量不会超过三本。你可能会想了,那读博客文章,针对问题网上搜索和学习解决方案不也是阅读吗?那当然不一样。
书之所以是书,原因在于其知识架构更庞大、更复杂。阅读书籍的过程,也是个人掌握其中知识架构的过程,是提高写作能力很重要的内核基础。阅读书籍与我们在软件开发活动中做大型项目类似,小项目做得再多,因为复杂度小对个人的能力锻炼是极为有限的。
写文档除了有助于提升你的编程能力,我还想告诉你它对于专业化的其他好处。
写好文档是专业化必须
你如果平时会多,那大概率是很多会都开得很低效。你仔细观察一下看是不是有这种现象,会议召集人拉着大家定方案,但他自己却没有事先准备好方案,美其名曰“集思广益”。这不是他事先得深度思考,文档中写清楚方案 A 与 B 各自的优缺点,会前发出来,然后再到会上讨论吗?如果没有这样的文档,那个会能开出效率来吗?
咱别只往外看说是别人的问题,如果你是那位拉着人定方案的会议召集人,你觉得需要写好文档吗?如果你说你不擅长写,那咱说好的专业化怎么办呢?
前面讲到知识管理需要个人能写好文档,这里讲到开会也要个人具备写好文档的能力,除了技术方案文档,会议纪要也是需要相当的写作能力才行,少了高质量的会议纪要,很可能会就白开了。可以说写文档是工程师的必备技能。否则我们就没有办法通过文档来提升自己的工作效率,难免将我们本应用于学习与生活的时间浪费在低水平、低效的事上。
总结时刻
这讲结束前,让我来总结一下。这一讲从个人的工作笔记引出了个人职业素养非常重要的一个维度——知识管理。重视知识管理,需要个人建立起“知识因为分享而增值,因为封闭而贬值”的意识,且需要注意在每次学到新知识时,通过分享于人的方式,发挥心理学中的互惠原理的杠杆作用,帮助我们实现知识的增值。
要做好知识管理,除了选择称手的便利工具,还得形成创建、使用和优化文档的工作习惯。称手的工具确保知识管理的落实,不会卡在“最后一公里”,而良好的习惯不仅能夯实知识管理,还能减少没有必要的工作扯皮,深化个人的专业化从而更好平衡工作与生活。
落实知识管理一定离不开个人掌握写作技能。小到一篇文档,大到一个组织的知识管理,写作的难,难在梳理和设计知识架构,难在通过阅读有内容可写。
写作既然是一种职业技能,那就一定得花时间练习才行。那些将“我不擅长写作”作为不写文档的借口的人,很可能是没有花足够的时间去练习,也可能不知道,提升写作能力是有助于提升自己的编程能力的。换句话说,练习写好文档,不只是为了做好知识管理,还包含提升个人的专业技能。
最后,我想请你思考,对于你来说,写文档时最大的卡点是什么?期待你留言与我分享交流。
问答
有文档书写模版吗?
文档模版取决于你的目的。我给一个概要设计的文档模版供参考哈。
【腾讯文档】概要设计 - 文档模版
https://docs.qq.com/doc/DVHNzZ0xoSkF3dmZt
最近每两周要写一篇分享,个人的写文档现状是“想的太多、读的太少、写不出来”。会有很多想法,点子,但缺乏体系;输入的内容太少,缺少词汇、论点、论据,缺少好文章的样例;最终的结果就是写不出来。
咳,这个过程咱都得经历,坚持下去会好起来的。这就好比你在爬坡了,翻过去就好了。
文档不会是一蹴而就的,肯定会根据自己对这一方面的不断了解和个人写作能力的不断提升而不断调整的,文档的质量刚开始不是最重要的,最重要的是将文档先生成,后期再不断调整完善。所以说要敢于写文档,只有产出了文档,那么写作能力才能慢慢的成长起来。
你对文档的理解其实想表达的是“做中学”吧。是的,写文档不在于一上来要好,先将事情给说清楚就行,至于其他的手法、行文质量可以在后续对文档的优化中一步步学习、练习和完善。
说白了,与咱写代码是一回事,回顾咱的经历,自己写的代码三个月后去读,觉得“这谁写的代码,好乱啊”,一查commit log,“嚯,是我自己写的”,那赶紧改好来。
路走对了咱就不怕远。:-)