如何在繁重的工作中持续成长?

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信进群。

以下是 ConardLi 大佬的分享。


在本届稀土技术大会上,我做了一次关于成长的分享,以下是分享的全文~

在加班文化盛行的互联网文化中,很多开发者为自己的个人成长感到迷茫。这篇文章将会从我的个人经历出发,从打破成长的误区、如何高效的利用时间、以及坚持沉淀和写作三个方面介绍,如何在繁重的工作中也可以做到持续成长。

认知:打破成长误区

首先,我想跟大家谈几个关于成长的认知。包括我在我的职业生涯的前期,以及我身边的一些同事和读者,对成长的一些误区。

a87bc799df5696859faf82a640cb38a1.png

你觉得自己处在下面哪个状态里面呢?

如果你不知道该做点什么,只是机械的重复着每天的工作,那很有可能处在了迷茫期。

如果你感觉做什么事都什么动力,上班的时候就想着下班,那你可能处在了舒适区。

迷茫和舒适可能都会让我们处于一个停滞不前的状态,最好的状态就是两者之间,持续提升自己、持续保持成长。这个时候有的同学可能会说了,工作真的太忙了,真的没时间顾及个人的成长啊。

误区1:个人成长和工作相互冲突

这就是我想说的第一个误区,很多同学觉得个人的成长和工作互相冲突的。其实恰恰相反,因为工作和成长本身就是密不可分的。比如:

  • 「业务能力」:对工作中业务的深入理解,可以让你在大部分没有深入理解业务的同事里面脱颖而出,甚至可以让你成为某个领域的专家,这就是最直接的成长。

  • 「编码能力」:有的同学可能会去刻意的学习一些,看起来很高深的算法去提升编码能力。其实仔细想一想,你能够在工作里面把你的业务代码重构的更清晰一点,或者说在开始编写业务代码之前,就把你的代码架构,设计的更合理一点,这可能是个更好的选择。

  • 「编码技巧」:有的同学可能会去想做一些开源库的源码的解读分析,希望从里面能获得一些编码技巧,其实在工作中能把平时的 Code Review 做好,你也可能会从很多经验丰富的同事中获得很多收获,而且这些收获都是可以直接运用到工作里面的。

  • 「影响力」:在平时工作中的,各项技术方案的设计和评审也可以无形中提升你在团队内的影响力,当然以上的前提是,你一定要认真对待。

所以我一直认为个人的成长有很大一部分都来源于工作,关键是你怎么看待成长和工作的关系。切忌为了所谓了个人成长而怠慢了平时的工作,「从工作中谋求成长才是最佳的选择」

误区2:做自己没了解过的事情才是成长

第二个误区:很多同学觉得一定要做自己没了解过的事情才是成长。其实在平时的工作中,只是被动执行着一件事情,和将一件事情做到极致,最终取得的结果是完全不同的。「与其浪费一些时间去了解一些可能未来不可能在工作中用到的技术,为什么不能选择把现在手上负责的事情做到极致呢?」

误区3:学的东西越多,成长越快

第三个误区:和前面的问题很类似,学的东西越多一定成长越快吗?实际上往往会起到相反的作用。

a49894695af9de1e243cc6ca467b8497.png

一个人的脑容量和记忆力是有限的,拓宽自己的眼界和知识广度是完全没问题的,这可以让我们在思考问题的时候思维更加活跃,但是拓宽知识广度的前提一定是你已经有了一项非常擅长的方向,前面的 15% 带给你的收益要比后面的 85% 大很多。

那么怎么才能让我们有限的脑容量和记忆力发挥出更大的作用呢?选择合适的方向是最重要的。

以我个人的经验来看,「一定要选择你工作中可能会用到的方向,或者说可以落地到工作中的方向」。比如,你想要研究性能优化,你现在的工作是 TOB 方向,那么一定要把重点放在研究 PC 场景下的性能优化。如果你想研究 TS,那一定要争取把工作中项目的 TS 覆盖率和编写质量提升上去。

这样,你的个人成长才能更好的融入到工作中,才可以让你受益最大化。大家一定要明白这一点,否则你可能付出再多的努力都是徒劳的。

实施:如何高效的利用时间

在前面,我们纠正了几个关于成长的误区,但是当我们满怀期望的去投入到我们选择的方向中去的时候,可能就要面临一个新的问题。时间不够用啊,特别是在互联网公司上班的同学,因为大环境的影响可能工作都非常的卷,怎么才能高效的利用时间呢?

75abebfe3efd66a7deba6c031430e1e7.png

我一直在坚持对外输出一些技术文章和分享,在社区也比较活跃,所以我经常听到读者对我提这样的问题:

为什么字节工作这么忙,你还能持续输出这么多内容?

你可能会觉得,我是不是可能会在工作中偷懒,或者说放水呢?我身边比较熟悉我的同事可能都知道,我在工作中基本上也是最卷的那一个,我也经常听到同事对我这样的评价:

感觉他可能是晚上不睡觉。

为什么感觉他的一天可以当两天用?

我当然不可能不睡觉啊,我更没有“时间转换器”这样的神器。人的一天只有24小时,我其实只是“时间管理”方面做的好一点而已。

关于时间的困惑

15fd4d606ce6baa49713f637bbb797e9.png

为什么做好“时间管理”这么重要呢,我们先来看看下面几个场景,大家是不是也有过这样的想法?

  • 当我们面前有一大堆需要处理的事情的时候,很多同学第一想法就是先把最简单的完成了

    • 混乱型,缺乏对时间和精力最基本的安排

  • 有时候我们从早到晚忙了一天,很累,但是又感觉自己什么也没做

    • 缺乏对事情优先级的判断和复盘,会让我们丧失对工作的成就感

  • 还没有到 DeadLine,再躺一会吧

    • 拖延症嘛,确知道我要干什么,就是提不起动力

其实,如果我们不去对时间做一些思考,不引入一些适合自己的方法的话,上面这些问题我们是很难规避掉的。

af8fdb0952416d8641d5c119c796932f.png

这可以用我们物理学里面非常重要的一条定律来解释,就是熵增定律。

在一个「孤立」系统里,如果没有「外力」做功,其总混乱度(即熵)会不断增大。

因为事情总是向着熵增的方向发展的,所以所有符合熵增的,都非常容易和舒适的。比如我们喜欢做简单的事情、不喜欢把事情安排的很有序;喜欢拖延、不喜欢自律。但是,熵增定律也是一直被认为是让全宇宙都很绝望的定律,因为持续的熵增会让事物走向衰退。这个概念往大了讲,就是地球必定会走向灭亡。回到我们现实生活中来,就是人一定会在熵增的过程中走向衰退。所以薛定谔在他著名的生物学著作《生命是什么》里面也有提到过:

人活着就是在对抗熵增定律。

怎么对抗呢?其实从它的概念里面我们就可以知道,「想要避免熵增,光靠自然的变化是很难的,我们必须引入一些外力。」

常见的时间管理法

回到时间管理,有哪些外力呢?我们可以先来看几个方法论。

6298dee5aec18178b3c3b2c974a0590e.png
  • 「GTD」 「时间管理法」:通过记录的方式把头脑中的各种事情移出来,然后整理安排自己去执行。它的核心是围绕 收集、清理、组织、回顾、执行,五个点来管理时间:

    • 收集:所有需要消耗时间的事情收集到一个地方,比如说我们看到了一篇文章,现在没时间看,要先收藏起来;老板临时安排了一件事情,但是现在有其他更高优的事情,要先记录下来。这都是收集的过程。

    • 清理:这个过程其实就是清理我们的收集箱,因为收集的过程往往都是很匆忙的,不会经过过多的思考。我执行之前很难从一大堆收集来的事情里面去挑出来现在要做的那一件。所以要有一个定期清理的过程。

    • 组织:清理出来的事项,我们需要把它们进行更细粒度的安排,比如较大的事项我们要进行合理拆分。根据事情不同的优先级和重要程度,我们要把它们分配到不同的日程里面去。

    • 执行:根据我们之前已经组织好的事项按照具体的时间和地点去执行就好了。

    • 复盘:定期进行回顾检查,因为计划肯定赶不上变化,我们要随时对我们已经安排好的事项进行调整。

  • 「三只青蛙时间管理法:」如果现在有三只青蛙,先把最大最丑的那只吃掉。也就是说当你面临三个重要任务的时候,先做更艰巨、更重要的那一个。这个其实本质上就是对事情优先级的管理。

  • 「番茄时间管理法」:把执行的时间划分为多个番茄时间。一个番茄时间包含两个部分:25 分钟的工作学习和 5 分钟的休息。当每四个番茄时间之后呢,可以暂时停止一下工作,进行一次较长时间的休息,大约 15 到 30 分钟。这里有一个很重要的点,就是一个番茄时间是不可再分割的。这个法则可以帮助我们专注的执行,同时也能做到张弛有度。

「时间管理的方法论还有很多,但是大家一定要避免进行生搬硬套」。每个人可能实际情况都不一样,适合的方法也不一样,比如我就觉得 GTD 太复杂了,所以我根据自己的实际情况对它进行了一些删减,同时在不同的步骤里又融入了其他的方法。我把它分为记录、整理、执行三个步骤。

记录:提醒事项

第一步,是记录。我会将我所有现在不能立刻去做,但是需要做的事情记录下来。你可以把它类比于 GTD 里面的收集阶段,但是又不完全一样。

「我在记录的时候会明确的将这件事情打上标签」,比如:

  • 「工作执行上的」:老板临时安排了一件什么工作、昨天评审了一个需求;

  • 「技术写作上的」:刚刚收到邮件,Chrome 更新了 104 版本,要研究一下有哪些策略变化;

  • 「日常生活上的」:酱油快吃完了,下次去超市买一瓶。

按照标签归类可以让我更清晰的知道我需要在何时何地去完成这些事情,会让我后续的步骤更加轻松。当然,我实际的标签要比这个更复杂一点,每个人可能需要根据自己的实际情况去进行不同的归类。

「如果这件事情有明确要完成的时间,一定要挂上 DeadLine 的时间提醒」。注意这里不是要执行这件的时间,而是这件事情完成的截止时间,这可以让我们在后续的优先级判定中更轻松。

注意:执行时间需要根据我们当前已有的事项安排以及这件事情的紧急重要程度综合判定,而截止时间往往是很明确的。

969e72a1bceefe674348e6854e3b6475.png

那记录这一步用到的工具呢,其实我们的需求非常明确:

  • 有一个 TODO List 功能

  • 可以对每条 TODO 进行标签归类

  • 可以有时间提醒功能

  • 可以跨平台,在 PC、App 上都可以同步操作

之前我也尝试了很多个 App,最后,我发现苹果的提醒事项简直是为我量身定做的,可以满足上面我提到的所有要求,而且功能非常简洁,就只有我要的这几个功能。

好,现在我们已经把所有需要做的事情记录下来了,我们要在什么地点什么时间把这些事情完成掉呢?之前张一鸣在他的一次采访里曾经有这样一句话,我印象非常深刻:

更大的效率来自于重要事情上做得好,而不是在处处做得好。

事情是永远做不完的,但是时间是恒定有限的,我们在提醒事项里记录的事项会越来越多,下面最重要的就是如何在有限的时间里把这其中最重要的事情完成掉,以取得最大的收益了。

整理:优先级 & 制定计划

下一步是整理,也就是把我记录的事项按照优先级和重要程度安排到具体的执行计划中去。这一步实际上是我对 GTD 中清理和组织两个步骤的融合。

3ab811865d5d5b9d36a7232c5ec50c57.png

这里用到了一个非常重要的法则,就是四象限法则,我们根据事情的重要和紧急程度分成四类:

  • 「重要且紧急的事情」:如果我现在没有其他重要紧急的事情,我一般会选择立刻去做。如果现在没时间的话,那我就会把它安排到最近的时间中去。

  • 「重要不紧急的事情」:既然事情很重要,我们一定要把它做好。如果事情比较大,我们可以把它拆分成一些小的任务,有计划的安排到日程中去。这里我可能会用到两个工具,第一个是需求管理工具,它可以让帮助我更好的进行任务拆分、团队协作、跟进进度等等,在这一步实际上就完成了从代办事项到需求管理的转换,相信每个公司都有自己的需求管理工具,你们也可以自己选择;第二个是日程管理工具,它可以更细粒度的安排我们在什么时间执行什么事情,避免事情过多的时候不知道该做什么,比如字节的同学大部分应该都会用飞书的日程管理,「它不应该只作为一个约会的工作,更建议大家把自己的事情和计划也记录上去。」

  • 「不重要但紧急的事情」:这种事情,我们可以把它让给别人去做,对你来讲可能不重要,对其他人来讲可能就是一次机会,所以这里其实也是想说,不一定所有的事情都要亲力亲为,其他人不一定会比你完成的差,或者说「在你有其他事情并行的前提下,做对 “取舍” 是很重要的」

  • 「不重要也不紧急的事情:」这种事干脆连计划也不要做了,什么时候前面三种事没有了,再拿出来看这些事情。另外也不建议就把它们放在待办事项本来的位置,因为随着时间的积累这种堆积会让你的记录很难整理。建议把它们单独归置到一个或多个归档区域,下次在做整理的时候也要拿出来看看,因为不紧急的事情随着时间的推移也有可能变得紧急。

但是,计划永远赶不上变化,你可能已经安排好了你一天的规划,但是突然接到了其他的事情,这是非常正常的,这种场景基本上也发生在我每天的生活工作里面,我相信大家也都一样。

结果其实只有两个,做还是不做。如果做,是现在做,还是以后做。我们同样可以用四象限法则思考:

b57e70a40b8cc60e7bfd0c17948d96f2.png

「如果是不重要也不紧急的事情,现在就直接和对方说 No,如果事情很重要,但是不紧急,你依然可以现在和对方说 NO,但是你可以和对方明确 DeadLine,然后将它记录到待办事项中去」。我见过很多同学不太会拒绝,可能遇到了临时的事情立刻就去做了,实际上你现在做和以后做这件事可能没有什么区别,对方可能也不着急,只是需要你一个排期,但是这可能会导致你现在高优先级的事情 Delay。这也有可能是导致你四处救火,但是一天下来却又觉得什么也没干的原因。

如果是重要紧急的事情,那需要和你现在在做的事情对比一下,「如果确实比现在的事情优先级要高,就乐观的面对计划调整就好了,你要明白,这依然只是你在在重复执行你的 “整理” 这个过程」。还是那句话,事情是做不完的,但是时间是有限的,我们只要按照我们的标准对事情进行记录、整理、执行,不管是之前计划好的事情,还是临时新增的事情,根据我们的方法最终都可以被安排到具体的计划中。严格执行我们既定的标准,乐观的面对计划调整。

执行:张弛有度的专注

最后,就是执行阶段了。对我而言,番茄时间管理法还是很不错的,只不过我可能会适当的调整一个番茄钟的时间,我会把一个番茄钟的时间调的更长一点,这个因人而异,大家可以多尝试一下,找到自己更舒服的时间。

对于短时间休息,方式有很多种。比如,远眺放松一下眼睛属于休息、站立活动一下脊椎属于休息,回复一些消息也属于休息。如果只是坐在座位上刷刷手机,这种休息可能没有什么意义。长时间休息,我会选择处理一些临时插件来的事情、包括重新进行记录、安排的步骤、或者解答一些问题、做一些 CodeReview 等等。

番茄钟有个非常重要的特点,就是「执行时一定要保持专注,如果不是什么特别重要、紧急的事情一定不能打断这个种」,尽量到达休息时间再去处理其他事情,养成这样的习惯,就算时间很少,执行一件事的效率也会非常高。

70b92d6f7d744c9501e57c0a784240b1.png

在工具上,市面上有非常多使用番茄时间管理法的工具,做的花里胡哨的,选择使用也是因人而异。如果你自控能力较差,你可以选择一个帮你自动锁屏、屏蔽其他应用的 App。不过我更倾向于更简洁一点的,只需要带有番茄钟和休息时间的倒计时提醒以及简单的统计功能就可以了。

以上就是我的时间管理方法,其实可以看作是一个精简版的 GTD,我把 GTD 中的清理、组织和复盘进行了合并。同时在每个步骤里根据我的个人情况融入了一些其他方法。大家也可以根据自己的实际情况,磨合出属于自己的一套方法。现在方法有了,如何能把这套方法实施下去,做到知行合一,就很关键了。我这里也有一些自己总结出的一些技巧分享给大家。

技巧:找出事情的交集

我们会在记录的阶段堆积出非常多需要做的事情,虽然是一件一件记的,但是没必要一件一件的去执行。「我们只要在整理阶段更好的找到这些事情的交集,就可以更高效的利用有限的时间。」

6c66e0a8190df22613049100c3f224bf.png

比如,我们在写作的 tag 里记录了最近要输出一篇技术文章,另外在工作的 tag 里记录了系统稳定性很差,需要进行一次优化。那么两者的交集就可以是:研究并落地系统稳定性方案,并将实践经验整理成一篇技术文章。

技巧:高效沟通

在现阶段的工作中,和别人交流沟通,会占用掉我非常大一部分时间。我们需要评需求、跟进度、推专项、解答问题等等,如果这些事情都要靠打字来完成,效率是非常低的。一般来讲,「面对面沟通的效率要大于语音沟通,而语音沟通的效率要大于打字。」

9c4036b11fa51dbc9366a1416c265a2c.png

因为我们在打字时,就算加了再多的表情和语气词也很难清晰的感受到对方的语气、态度、心情,更是很难探寻出一些深层次的想法,打字时的无效沟通会浪费掉大量的时间。所以,当我要沟通一件稍微复杂一点的事情的时候,如果需要沟通的人离我很近,我一定会选择面对面沟通;如果和我不在一个位置,我会尝试语音沟通;如果对方短时间内无法语音交流,再选择打字沟通。

当然,这里只针对一些比较复杂的内容沟通,如果你需要沟通的内容有明确的结论比如:有、没有、对、错,这样的答案,打字反而更省事一点。

技巧:碎片时间

最后一个,就是碎片时间了。这个也是因人而异的,在我的日常生活里有两段非常固定的碎片时间。因为我住的离公司比较远,所以我每天通勤时间是很长的。大概上班要一个小时、下班要40分钟。但是这两段时间对我是非常重要的。

6dfa1bfc468f44effe355de89458dd71.png

我一般会在上班通勤中进行 “整理” 这个步骤,定制我一天的计划。如果当天事情堆积较多,我会在晚上通勤的时间进行适当调整,补充到第二天的计划中。剩下的时间就是阅读了,我在一周中大部分的阅读时间就来自于这两段通勤。这里的阅读不仅仅会包括一些技术文章和书籍,也会包括当天工作中要涉及的一些文档。这不仅让我可以快速调整进入工作状态,也能让我持续保持接收新鲜事物。所以,在我之前的工作经历里面,对通勤距离一直都是很包容的。甚至中间有一段时间我搬到了离公司很近的地方,还让我非常不适应。

我相信大家或多或少在平时也都会有这样的碎片时间,因为你不可能所有的时间都花费在紧张的工作中,毕竟人的精力是有限的,不可能所有时间都在保持专注。「所以怎么去安排好这些碎片时间,可能会成为你能脱颖而出的一个制胜法宝」

秘诀:坚持沉淀和写作

关于时间的分享都是这么多,下面我们来聊聊沉淀和写作。我认为它是能让我们保持持续成长的秘诀。

c1edd45732efedadc3cf034490643acb.png

技术写作不一定是对外发表的一篇文章,我个人把写作分成了两类:

  • 个人的沉淀:可以是平时的工作记录、一些知识碎片、你的个人知识体系等等;

  • 对外的分享:包括工作中的技术方案、对外发表的技术文章等的。

两者各有各的好处,我建议大家两类写作都要执行起来,我们可以先从最简单的个人沉淀开始。

个人沉淀

有什么好处?

做个人沉淀有什么好处呢,首先就是可以帮助我们巩固记忆。关于记忆,我相信大家在上学的时候都学过一个理论,如果我们记住了一个知识点,那么一个月过后,你对它的记忆可能只会剩下 20%。当然如果是天才的话我们就不说了哈,我相信大部分人,包括我也是一样的。

8ffec762d27c4d862402e67219b4e888.png

比如,有时候我们完成了一件工作,可能当时成就感挺强的,但是如果不进行总结和沉淀,过了一段时间你会发现脑子里关于它的记忆已经剩不下什么了,可能到达一定的时间之后,这件事是不是你做的好像没有什么区别了。所以很多同学工作很长时间了,但是又想不明白自己做了什么,虽然表面上工作经验多一点,但是跟刚毕业的同学有什么区别呢?相反,如果你每完成一件工作就进行适当的沉淀和总结,那结果可能就完全不一样了。一段时间之后你会清晰的知道你学到了什么,留下了什么,甚至对你工作中遗留的痛点以及对未来的规划都会非常清晰。

另外一个非常重要的点,就是我们可以把工作中沉淀下来的工作总结、知识碎片,完善到我们的知识体系中去。我认为「一套自己的知识体系是每个人在成长过程中不可或缺的一部分」。它的作用非常大,首先它可以让我们对自己的认知更加清晰。比如:我到底了解多少内容、我最擅长什么、我有哪些能力比较欠缺、欠缺的这些能力哪些是工作中需要用到的?

其实就这简单的几点好多同学都说不清楚。另外它也可以作为我们的知识索引,就像前面提到的:就算我们及时进行了沉淀和总结,也不可能保留 100% 的记忆,但是当我们用到这些知识的时候,有一个地方能够进行快速索引帮我们找到它们,就可以帮我们节省大量的时间。

构建个人知识系统

所以下面我们来看看怎么通过沉底和总结构建我们的个人知识系统。一个基本的个人知识系统需要满足下面三个要点:

10c43d0431ad43d153b16bb263218202.png
  • 「方便管理:」整个流程我们不要设计的太复杂太长,否则很难持续下去。我曾经也沉迷于各种花里胡哨的笔记软件的迁移,后来发现很多功能都用不上、复杂的流程也比较难坚持下去,其实只要能满足我们对知识管理最基本的要求,最简洁的就是最好的。

  • 「要体系化:」比如我们可以用思维导图的方式将你的整个知识体系呈现出来,否则如果只是杂乱无章的记录,没有成体系的整理。那后面这个知识系统肯定会废掉,这其实还是一个熵增的过程。我们必须要经过体系化的整理才能将知识变得有序,避免系统崩溃。另外,体系化的组织会让我们随时看到我们的知识体系是不断扩充的,这会让你非常有成就感。同时知识体系完善的过程中,你也能清晰的看到你的强项和欠缺之处,让我们对自己有更清晰的认知,也能让我们有针对性的制定学习计划。

  • 「方便提取:」如果知识的获取路径很深,就算是记录下来,那后续可能也要吃灰了,所以快速索引的能力还是很重要的。

就像上面的时间管理一样,知识管理也是因人而异的,大家需要根据自己的个人情况选择适合自己的方法,下面讲讲我对知识管理是怎么做的。

如何做好知识管理

42c2f8346fc716b98cf3a714d2b5274b.png

最下面的提醒事项和飞书日程其实也是上面我们时间管理的一部分,所以我的时间管理和知识管理也是有交集的。最直接的就是对外部输入的记录了,我把它们分成三类:

  • 「需要执行的事情,我会记录在提醒事项中」:提醒事项中的记录我会通过整理,将他们转换成飞书日历中的日程和计划,在执行之后,我会对完成的事情进行复盘和反思,整理成文章,完善到知识库里。

  • 「平时的一些灵感、想法、以及一些碎片的知识,我会通过语雀小记记录下来:」语雀小记中的知识碎片,我也会通过定期的归档和总结完善到知识库里。

  • 「平时看到的一些不错的文章,我会在 Cubox 中收藏下来:」在阅读中产生的记录和思考,我会记录在小记中,如果有完整的总结和沉淀,我会直接记录到知识库中。

知识库里的内容,已经经过了分类和系统化的总结,我会将新增的内容完善到知识网络中。其实知识网络也就是对知识库中分类和目录的组织。经过长时间的沉淀和整理,我的知识网络和知识库已经非常复杂了,所以我对我个人的认知是非常清晰的。我知道我掌握了哪些技能和知识,我在利用的时候可以随时随地的把它们提取出来,同时我也知道我有哪些分支是比较薄弱的,如果这些分支我比较感兴趣,或者说和我未来的工作可能有交集,我就会有针对性的去学习他们。

对外分享

有什么好处

下面我们再来说说对外的分享,能够将自己的写作内容对外输出,其实好处就更大了,这里我说三点。

a8fb80e4b4f1764b70f99cb81dac8c4a.png

首先关于个人对知识的理解方面,有时自己理解一个知识其实是比较容易的,可能你读完一篇相关的文章,就会觉得自己已经理解了。但是当你尝试把自己理解到的知识给别人也讲明白的时候,会发现可能远远不是你想的那么简单。「你可能需要数倍的深度理解才能做到把一个知识给其他人讲明白」。当然,对外的分享除了带给你个人的提升,还会给你的职场带来收益,比如可以提升你个人影响力,带动团队的整体技术氛围等等。下面跟大家介绍几个我的写作方面的经验。

写作技巧:先枝后叶

个人的沉淀,最终是给我们自己看的,所以写的再乱,只要我们自己能理解就没问题。但是「文章如果是要对外分享的,一定有拥有清晰的条理和结构,最好是先枝后叶,先把文章整体的结构和大纲列好,再往里填充完善」。在结构上有很多法则可以大家可以套用,一个最简单的法则就是 2W1H 法则,也就是:是什么、为什么、怎么做。比如我最近的一篇讲解 Early Hints 的文章是这样拆解的:

f123094c7a04983ca82bc84f40214405.png
  • 「Why」:为什么需要 Early Hints?资源加载的性能问题

  • 「What」:Early Hints 到底是什么?HTTP 的 103 状态码、什么样的网站适合 Early Hints

  • 「How」:如何启用 Early Hints

拥有一个好的结构和大纲不仅会让你的写作更加轻松也会让读者更加舒服。

写作技巧:善用图片

第二点就是善用图片。「有时候可能需要一大堆文字描述才能说明白的内容,一张图片就能搞定」

比如:我们要在文章中讲解怎么理解负载均衡这个概念?

c3e6bcd5bc174904c9a52b965f92ec0f.png

我们可以在图中发现:前面是众多的服务窗口,下面有很多用户需要服务,我们需要一个工具或策略来帮助我们将如此多的用户分配到每个窗口,来达到资源的充分利用以及更少的排队时间。

我们有三种测策略可以选择:

dd5b356104063c8096b6c08d5855007e.png
  • 第一种是默认的轮询策略,也就是将所有客户端请求轮询分配给服务端。

  • 第二种是将请求优先分配给压力较小的服务器。

  • 第三种是有限选择响应时间最快的服务器。

大家可以看一下,是不是增加了几张图片,就可以胜过大批量的文字描述呢?

写作技巧:从读者角度思考

最后一个我想说的就是,多从读者的角度思考。因为「我们对外的文章第一目的还是要给读者去看的,读者不一定有和我们一样的知识背景」。试着想一想,如果你是一名没有相关知识背景的读者,想要获取相关的知识,你想要看到一篇什么样的文章呢?当然不是满屏的专业术语、或者杂乱无章的笔记、甚至是毫无任何的搬运。我相信呢,如果大家能做到这一点,写出的文章一定不会太差。

以上就是我个人的一些经验之谈,仅供参考,本文完。


我在阿里招前端,我该怎么帮你?(现在还可以加模拟面试群)
如何拿下阿里巴巴 P6 的前端 Offer
如何准备阿里P6/P7前端面试--项目经历准备篇
大厂面试官常问的亮点,该如何做出?
如何从初级到专家(P4-P7)打破成长瓶颈和有效突破
若川知乎问答:2年前端经验,做的项目没什么技术含量,怎么办?

如何准备20K+的大厂前端面试

192ce5ada84fcef89822114cf33f8345.gif

················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》20余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经坚持写了8年,点击查看年度总结。
同时,最近组织了源码共读活动,帮助4000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。

d51df570234c8dd2ef07cc09351c32c0.jpeg

扫码加我微信 lxchuan12、拉你进源码共读

今日话题

目前建有江西|湖南|湖北 籍 前端群,想进群的可以加我微信 lxchuan12 进群。分享、收藏、点赞、在看我的文章就是对我最大的支持~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

熊kong作品资源链接_Kong雀技术:向世界展示您的设计作品

熊kong作品资源链接The door opened and I entered the bedroom of an apartment I was looking to rent. No furniture or items inside, it was almost empty except for a frame in the wall. It was a photo of a peacock. As I stared at it, I could not shake one clear…

漫谈前端工程化基建和架构设计 | 留言送书

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。本文留言抽奖送书,具体规则看文末。透过工程基建,架构有迹可循。前…

设计模式 日志系统设计_模式:我们设计系统的故事

设计模式 日志系统设计Design Patterns are some of the most over-used concepts in design today. And we all know what happens when you have some ideas all over the place. We start repeating them like parrots and applying them to everything, therefore distorti…

前端好还是后端好,看看7年前端和后端怎么说

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

提升UI技能的5个步骤

element ui 步骤重点 (Top highlight)What to do when you know how to use the software and know the basics of designing interfaces? There are a few simple things that you can do to take your skills to the next level, and you don’t need to invest in expensiv…

空降进阿里的 P10 都是什么人

周末见了几个朋友,吃饭时聊到他们前老板郭东白(阿白),对了,我朋友在速卖通,他说阿白是 14 年来的阿里,直接就空降进了他们部门,当上首席架构师,后来又升到了 CTO&#xf…

linux下练习 c++ 关联式容器multimap特性

/* multimap特性 key可以重复 不支持下标访问 */ #include<iostream> #include<string> #include "print.h" #include<map> using namespace std; typedef pair<int,string> pairmp; typedef multimap<string,double> MS;int main() …

一致性设计,而不是一致性

一致性设计重点 (Top highlight)If we ask any design system advocate what are the main reasons to build and maintain a design system, chances are ‘Consistency’ will come up as first or second in their list, together with the ‘A single source of truth’ po…

如何在 React 应用中使用 Hooks、Redux 等管理状态

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系…

长语音识别体验_如何为语音体验写作

长语音识别体验重点 (Top highlight)“Voice User Interface (VUI) Designer” is an increasingly prominent job title in the tech world. A VUI designer typically writes the conversation and designs the flow between a VUI — an invisible interface that communica…

分析了1011个程序员的裁员情况后得出的启示

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系…

定义设计系统

System is “the whole creation, the universe,” from Late Latin systema “an arrangement, system,” from Greek systema “organized whole, a whole compounded of parts”.系统是晚期拉丁语系统的“整体创造物&#xff0c;宇宙”&#xff0c;是希腊语系统的“一种安排…

2w行代码、200个实战项目,助你修炼5大编程基本功。【送书《设计模式之美》】...

大家好&#xff0c;我是若川。之前送了很多书&#xff0c;现在又和异步图书合作再次争取了几本书&#xff0c;具体送书规则看文末。所谓练武不练功&#xff0c;到老一场空&#xff0c;以技术为驱动的程序员同样如此。面向对象编程范式、设计原则、代码规范、重构技巧和设计模式…

C++第10周项目2扩展之2参考——迭代求和

课程首页地址&#xff1a;http://blog.csdn.net/sxhelijian/article/details/7910565【项目2扩展之2&#xff08;选做&#xff09;】计算下面的式子&#xff0c;不能使用求幂函数pow()式一&#xff1a;#include <iostream> using namespace std; int main( ) { int i,m1;…

swift自行车品牌介绍_品牌101:简介

swift自行车品牌介绍Sometimes when I’m around designer friends and there’s a lull in the conversation one of us will blurt out, “What is branding, anyway?” Then we shrug our shoulders and chuckle, knowing that the answer is far too complex to sum up in…

flutter 透明度动画_Flutter中的动画填充+不透明度动画✨

flutter 透明度动画Flutter SDK provides us with many widgets which help us in animating elements on screen easily by implicitly managing the animations i.e. we need not worry about creating and managing intances of AnimationController during the lifecycle o…

阿里 P10 是怎样的存在?

谈起中国顶尖的程序员&#xff0c;很多人首先会想到之前的雷军、张小龙&#xff0c;还有现在的多隆、行癫、道哥等人&#xff0c;但今天我想聊一聊的这位大神&#xff0c;他的技术成就也同样令人瞩目。19 年获得国家技术发明二等奖、20 年获得国家计算机协会颁发的“ CCF 杰出工…

vba交付图表设计_您是在为交付目的而“设计”吗?

vba交付图表设计重点 (Top highlight)It’s a regular Monday morning. All the design team is organizing the tasks for the ongoing week and reviewing requirements and deadlines for the various projects at the studio or company you work at. Suddenly, among the …

前端必读书籍推荐

大家好&#xff0c;我是若川。持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系…

window程序设计学会_是时候我们学会设计合适的饼图了

window程序设计学会Pie charts are common in data science — next to the 饼形图在数据科学中很常见- bar chart and the line plot, the pie chart is incredibly standard and simple. A circle is split into several slices, with each slice’s angle representing how…