软件工程师是否应该“以防万一”学习新事物,以防将来我们需要它们? 还是当我们意识到确实需要时,我们应该“及时”学习所需的东西吗?
即时与即时的术语实际上源于库存管理。 如果您库存了将来可能需要的材料,那么当您需要它们时就已经准备就绪,并且交货时间更少。 但是,您最终会产生存储这些材料的开销(以不同的形式,例如存储,损坏,库存中捆绑的资金机会成本等)以及您实际上可能永远不需要这些材料的风险。 像丰田这样的公司开创了准时库存管理和制造的先河,这意味着交货时间短,管理费用低和精益生产。
![](https://i-blog.csdnimg.cn/blog_migrate/8a6a3d58e92b5707b3f3fe37b253fbee.png)
这个类比可以很好地学习新事物。 在极端情况下,按需案例学习基本上是您在学校和大学中获得的。 您将学到各种各样的东西,您可能很快将不需要使用它们。 问题在于:
- 您实际上可能永远不需要您正在学习的东西。 它们可能不会出现在您的职业/生活中(我正在看您,西方文学史),或者它们可能变得无关紧要。
- 除非您不断地更新知识,否则您可能会忘记大部分学习的知识,这确实是低效的。
- 当您真正关心的是清晰而直接的需求时,您实际上会学得更好,因为您的思维更加投入。
另一个极端是即时学习,它可以避免大多数此类陷阱。 明显的不利方面是,有时“交货时间”意味着您在需要时就没有正确的知识,但是与“浪费的”即时案例学习相比,这是一个很小的代价,对吧? 许多可信的人主张只在需要时才学习(只有Google会在这种情况下提供即时学习还是即时学习)。
我认为这忽略了即时学习的一些好处,我将在其中列出。
元学习
通过即时案例学习,您仍然可以从“元学习”中受益。 如果您认为“学习新事物”是一项技能,那么学习新事物的次数就越多,您就会越熟练。 因此,下次您需要及时学习某些东西时,您将更有效地学习它。
有时,这是因为您正在学习与以前学过的东西以及将来可能需要学习的东西类似的东西。 例如,多年来我已经学习了许多编程语言,以至于学习一种新的编程语言(至少从表面上讲,我可以用该语言编写和审查基本代码)的任务对我来说变得非常容易。
另一方面,有时您会学到的东西与您所知道的其他东西完全不同。 这也很有用,因为它迫使您以不同的方式学习。 例如,学习一种新的编程语言与学习AWS截然不同,两者都会教给您不同的学习技巧,这些技巧可能会应用于未来的场景。 您什么时候问可信的人,以及如何找到可信的人? 您什么时候边做边学? 你什么时候看书? 技术文档? 编码? 知道如何学习的艺术是可以锻炼的肌肉。
消除盲点
有时,立即学习不需要的东西是消除“盲点”的好方法。 盲点是您甚至不会认识到的东西, 除非您学习了它们 (或基础知识), 否则他们将不会从学习中受益。 如果您以前从未真正使用过或看到过它,则可能不知道工具或模式的存在。
我发现真正有价值的一条建议是,在学习新知识时,请始终考虑一下哪些问题可以帮助我现在和将来解决? 这样,当您在现实生活中确实看到该问题时,大脑中会升起一个小旗,上面写着:“哦,我知道我可以用什么来解决该问题。” 解决该问题的一种方法是,最初开发此工具/模式要解决哪些问题? 如果有人花时间在构建工具或思考模式上,而在不了解他们试图解决的问题的情况下学习该工具或模式,则实际上是缺少了森林。 无论如何,您都会忘记树木,但是您可能会遇到很多森林。
例如,我的大脑中有一个模式匹配器,它知道当我看到一个令人尴尬的并行问题(或很容易并行化),而不是实时问题(或不需要完全实时) ,甚至很大,可以使用大型分布式数据处理引擎(例如Spark)来解决。 现在,我前一段时间学习了Spark,并且忘记了如何构建(更不用说优化)Spark作业的大多数细节,但是至少我建立了联系。 否则,我可能永远不会考虑该工具,并且可能走了一条完全不同(且代价高昂)的道路。
本质上,即使您忘记了大多数细节,学到的东西越广泛,盲点就越少。 您将学会将事物识别为“ 其中的另一个 ”。
最后,与盲点消除有关的是探索。 也许您总会发现一些真正神秘或无趣的东西。 如果您对此有所了解,您可能会意识到您的假设是错误的。 我已经看到,职业生涯的路径因这些类型的实现而发生了变化(确实很棒)。
图层和图
我们的大脑不断做出决定,决定哪些信息有用,哪些没有用。 那些不会萎缩的人会被遗忘。 您可以搜索和阅读有关认知的很多科学知识。 一种很明显的技术就是重复,人们想出了诸如“ 间隔重复 ”之类的技术,该技术基本上是我们在学校可能都使用过的“闪存卡”技术,并考虑了何时重新使用“闪存卡”。
重复是一种向大脑发出信号的重要方式,它应该被保留。 它适用于简单的“记忆”任务,但在“刚入情况”场景中,要保留软件工程知识显然很困难。 但是,还有其他方法可以使大脑发出一些重要的信号。
当您在学校上大学时,您是否曾经觉得自己在本学期早期学习的材料比在课程后期学习的材料更好? 我以前认为那是因为早期的东西更容易。 但是实际上还有更深层次的事情。 以后的材料建立在早期的材料之上,您的大脑可以识别这些依赖关系,并使用它们来决定保留什么。
您可以将其视为琥珀色或沉积物层。 顶部的层很松散,很容易拆卸,但会压缩并固化下面的层。 另一种将其概念化的方法是想象您的大脑构建自己的信息依赖性有向图。 当您的大脑删除事物(或更正确地说,决定不“更新”或保留事物)时,更有可能从图中较高的事物开始,而依赖于此的事物更少。
如果您正在学习很多东西,那么您的大脑可以更好地理解该图及其依赖关系。 它开始理解几何,微积分和许多其他技能都依赖于基本的代数。 想想一下,一个小的垃圾收集器在您的大脑中运转,忘记了那些不经常使用或不依赖的东西(或者,有一点缓存刷新器在运转,以确保重要的事情不会萎缩)。
![](https://i-blog.csdnimg.cn/blog_migrate/a6c9157e3a755c71b7ed45c9a206e9b4.png)
余额
那有什么平衡呢? 您显然不应该四处学习可能永远不会有用的随机事物。 但是我希望通过概述“按需学习”学习的一些好处,我已经使您相信,学习并非立即直接适用于您的工作的东西会有一些好处。
我认为最好的平衡是有周围的事物,你可能会用一定的时间在未来的一个战略,事情是立即到你的职业/生活和事情,如果你更多地了解他们, 可能是有益的有益之间的平衡。
From: https://hackernoon.com/just-in-case-vs-just-in-time-learning-c87f61d24360