Just in Case VS. Just in Time

John Cook 曾经是一位数学教授,程序员,统计学家,现在则是一名咨询顾问。他喜欢利用他以往在数学、统计学,还有软件开发方面的经验和能力帮助公司和组织解决一些特殊问题。

在这篇文章中,John Cook 讨论了 "just in case" versus "just in time"学习的重要性,以及为什么 "just in case" 学习对于 "just in time"学习来说必不可少。

Just in Case VS. Just in Time_第1张图片
image via flickr

当你为了应对未来万一需要的时候,你会学习些什么?当你为了应对当前需要的时候,你又会学习些什么?

一般来说,你在学校学习的一些东西只是为了防止未来万一需要的。一旦你进入工作环境,当你在工作中有实际需要的时候,你肯定会学到更多的东西。

如果你的学习目的是出于现实需要,你的学习动机最强烈。你不会对为什么要了解这类知识或者技能有任何质疑,因为有一个现实问题就摆在那里,等待你去解决,而且就是现在!但是,你不可能对所有的事情都采用这种现用现学的方法。在你能够想象其具体用途之前,你必须预先了解一些事情。当你在现实世界中能够识别它们之前,在你的大脑里需要具备一定的模式。

若干年以前,有人告诉我,他没有学习过代数,也从没有感觉有必要学习它。但是,我学习过代数,而且一直在使用。能够学以致用,我当然感到幸运。但这真的又不是什么幸运。发挥一下你的想象力吧,如果我不去学习它的话,我又怎么能够知道如何使用它呢。

应对万一式(Just in case)的学习和现用现学式(Just in time)的学习的不同就好比训练与尝试的差异一样。你不太可能尝试一次马拉松就能跑完全程。第一个通过尝试跑完马拉松的人,在跑完全程之后就死掉了。你需要为此训练。你不可能说,当我需要参加马拉松比赛时,我自然就能跑完26英里全程。

软件按工程师喜欢现用现学这种学习方式。实际上有太多的知识和技巧,你不一定都会用得着。你不可能了解每一个操作系统,每一种编程语言,或者,每一个编程库的每一个细节。在你从事真实工作之前,你只能记住一些没有特定需要的随机信息。即使你在一个抽象的层面上将这些东西全部都了解了,一般情况下,你也需要十年以上的职业生涯才可能真正产生一定成果,或者有所贡献。而且,通常信息技术的生命周期都很短暂,因此,在你还无法确定你真的会用到它们之前,没有必要学习太多东西。

从另一个方面来说,即使你采用了现用现学的方式,在你需要了解一些细节之前,你也很有必要预先知道有哪些东西实际上是真正有效可用的。如果你连什么是版本管理系统(管理和保存代码的软件)都不知道的话,你不可能说,“我需要学习版本管理系统,就是现在!” 。你必须通过预先储备和日常学习来积累一定的基本知识、技能和见识。你当然可以采用现用现学的方式来了解 API (应用程序可编程接口)。但是,在什么东西值得学习与什么时候应该学习它们之间,确实存在一个模糊地带,对此,我们很难准确无误地知道。

  • 原文:Just-in-case versus just-in-time

  • 感谢:Qingniu 帮助审阅

P.S. 如果你阅读到这里,而且喜欢这篇文章,请关注一下我们。

你可能感兴趣的:(Just in Case VS. Just in Time)