开发人员学习策略

149 阅读15分钟

前言

作为一名开发人员,您将需要不断学习新技术、技巧、流程、业务领域等。我在2000年开始学习编程,并于2001年开始担任开发人员。我仍然需要学习新技术等. 定期进行,并跟上现有的变化。而且变化的步伐似乎还在加快。

温和地说,跟上我们行业快速变化的步伐是一项挑战。它需要我们花大量的时间去学习。学习的过程可能是令人兴奋、有趣的,但也可能令人沮丧和有压力——即使经过多年的学习和经验。至少有时对我来说仍然如此。当我理解或不理解我正在学习的东西时,我仍然在感觉聪明和感觉愚蠢之间摇摆。

在本文中,我将概述我多年来所采取的一些学习策略,以帮助我应对学习困难的情况,这样我就不会感到沮丧或压力,也不会轻易放弃。

一、开发人员学习策略

1、接受学习是困难的事实

在我生命中的某个时刻,我意识到我对特定情况的许多负面看法往往来自于对该情况没有满足自己的期望。

我是在看一部电影时才意识到这一点的。有时我对一部电影的期望很低——然后当它马马虎虎而不是糟糕时,我感到非常惊讶,并认为这种体验总体来说相当不错。有时我对一部电影抱有很高的期望,但当它只是马马虎虎时我感到失望 - 并认为这种体验令人失望。

经过几次这样的经历后,我开始意识到我对任何情况的期望都会极大地影响我对该情况的看法。

认识到这一点后,我的思维方式就是预期很多情况都会很困难。这样——如果很难,我就不会对其进展感到失望——因为我预计它会很困难,对吗?如果情况比预期的要容易——我会感到非常惊讶。因此,接受学习是困难的事实可能是一种有用的思维破解方法,可以减轻因学习困难而产生的负面情绪。

简而言之 - 如果你认为生活会很艰难 - 生活会感觉更轻松。

2、学习困难的原因——那不是你的错

接受学习是困难的事实——不仅仅是一种心理欺骗。学习有时真的很难。造成这种情况的原因有很多——其中一些不是你的错。一旦你意识到学习困难的原因并不全是你的错——当你遇到学习困难时,你就不会那么责备自己了。

在下面的部分中,我将解释其中一些原因 - 以及我为尝试解决这些原因而应用的一些解决方案。

3、问题:学习材料不好

糟糕的学习材料是学习困难的主要原因之一。我在大学学习期间看过我分享的学术教科书,令人惊讶的是他们的学术写作风格能够使这些书阅读起来如此困难。几乎就像这些书是为了向同行(其他教授)展示他们的学术修辞技巧而写的,而不是为学生写的。

公平地说,不只是学术教科书难以阅读。许多技术书籍可以用更易于理解的方式编写。同样,许多开源项目可以有更容易理解的文档。在线教程和视频也是如此。这并不是说所有的学习材料都是不好的。只是大部分的学习材料都有这种情况。

3.1、解决方案:切换学习材料

我发现针对不良学习材料的一种解决方法是接受并非所有学习材料都同样好的事实。因此,如果我不理解某本书中的所有内容,我经常会转而阅读同一主题的另一本书,看看那本书是否能更好地解释我正在努力解决的部分。有时确实如此。或者 - 我在谷歌等上搜索有关该特定主题的教程。

很多时候,学习材料对不同部分的解释比其他学习材料更好或更差。当我发现当前内容难以理解时,通过切换学习材料 - 我发现我通常能够从另一个来源更好地理解给定的子主题。因此,我经常发现我能够从一本书/课程中理解某个主题的50%,从其他来源理解另外25%,从第三方来源理解另外10% 等等。最后,我得到了越来越好的理解整个主题的一部分,但我必须将不同学习材料中的理解拼凑在一起。

3.2、解决方案:稍后再回到主题

如果技术是新的,并且还没有很多可用的学习材料,我倾向于等待一段时间 - 也许 6 - 12 - 18 - 24 个月,然后我回到主题来寻找新的学习材料。通常,您可以找到更新的学习材料来解释您第一次无法理解的部分技术。

4、问题:学习“覆盖材料”

有时在大学期间,我会在下一节课之前阅读大量材料。通常,我发现自己只是快速阅读这些材料,就能说我实际上已经阅读了这些材料。但我并不总是完全理解我所读到的内容。我阅读的目的是根据要求“涵盖材料”,而不是真正“理解材料”。

4.1、解决方案:学习以理解

我发现的一个解决方案是“学习以理解”——这意味着我学习不仅仅是为了能够说我已经读完了这些材料。我反复阅读这些材料,直到理解为止。如果我不理解课程/书籍提供的部分材料(如上所述)等,我会切换学习材料。理解才是最重要的——而不是翻阅材料。

5、问题:记忆很重要

当学习一个主题时,理解后面的部分很大程度上依赖于理解前面的部分,你对前面部分的记忆真的很重要。

我经常遇到这样的情况:我把学习拖了太长时间,以至于当我学习后面的章节时,我忘记了材料前面几章的部分内容。这使得学习后面的部分变得非常困难。

5.1、解决方案:重复直到你记住为止

我发现一个防止忘记主题前面部分的解决方案就是复习。当时可能感觉像是浪费时间 - 但试图理解一个主题后面的内容也是浪费时间,因为这个主题需要你理解并记住前面的部分。最后,我没有找到任何方法可以回去重复之前被遗忘的部分。

我们的记忆并不完美。我们有短期记忆和长期记忆。即使您在第一次学习时就理解了给定的主题,这种理解也可能不会存储在长期记忆中。

更好地记住的最简单方法之一就是重复。我们的记忆工作方式是,您重复给定主题的次数越多,它被存储在长期记忆中的机会就越大。它可能需要重复 6 次(甚至更多),才能真正有效地存储在您的长期记忆中。

5.2、解决方案:使用记忆技巧

我发现有效的另一个解决方案是使用记忆技术,使信息在记忆中的存储更快、更容易、更持久。

这种技术是绘制思维导图,概述我正在学习的主题的不同部分。有时我也会画技术图表。

绘制思维导图或技术图表可以帮助我更好地记住它们,因为我可以利用我的视觉记忆,这似乎更持久(有研究表明)。此外,如果/当我稍后必须返回并重复该主题时,思维导图和图表是很好的。它们帮助我更快地记住主题的要点。

6、问题:疲倦或压力大

如果我感到疲倦或有压力,我的学习肯定会受到影响。一点压力实际上有时会有所帮助,但压力太大,我的学习能力就会崩溃。

6.1、解决办法:休息、冷静

我发现缓解疲劳和压力的最佳方法是休息并尝试冷静下来。它实际上并没有太多魔力——尽管你可能会从正念技巧、冥想等中受益。

6.2、解决方案:一次专注于一件事

有时我会因为同时发生太多事情而感到压力。不幸的是,这种压力削弱了我的学习能力。我解决这个问题的方法是尝试一次专注于一件小事。接下来要学习的小东西。这可能是接下来的 15 分钟到 2 小时。然后忽略当时的一切。

当削减较短的时间进行集中学习时,我不会因为可能占用一整天的学习课程而给自己带来压力。我专注于那一个学习课程——那个主题。完成后,我会重新评估还剩下什么时间、我的动机、那天我还需要完成什么等等。

6.3、解决方案:关注此时此地

对我来说,另一个应对压力的方法是尝试专注于此时此地,稍微忘记未来。只剩下一个任务了。之后,就是下一个任务。接下来要学习的事情等等。这通常可以帮助我集中注意力,当我开始完成事情(例如学习东西)时,我开始感到压力减轻,因为我实际上正在取得进展。

7、问题:学习速度错误

我学习时遇到的一个大问题就是学习速度。如果一门课程的进展速度比我内化材料的速度快,或者如果我同时学习太多课程,就会削弱我的学习能力。

我已经尝试过几次,在课程中“感到自己太笨”,因为我跟不上——这意味着我无法理解最后的部分,我应该理解。起初我想也许我根本没有能力理解这个话题。但有几次,我不得不在稍后重新访问与课程无关的项目的材料,因为我可以按照自己的速度完成材料(例如教科书、幻灯片等),并且有时间使用替代学习材料,我发现我突然能够更轻松地理解该主题!

这些经历让我相信,存在着个人理想的学习速度,对于不同的主题,它可能会有所不同,具体取决于您先前对该主题的了解、您的动机、精力和压力水平、学习材料的质量和导师等

如果您被迫以高于或低于理想的学习速度学习 - 这可能会损害您的学习能力。我实际上尝试过感觉课程太慢了 - 只是稍微休息一下 - 后来在课程中意识到我错过了一些重要的东西。当学习太慢时 - 我失去了注意力 - 然后在课程后期也落后了!

7.1、解决方案:找到您理想的学习速度

当你觉得自己被迫以太快或太慢的速度学习时,我所知道的唯一解决方案是在无法控制学习速度的课程中尽可能保持专注。那么,在业余时间你就得自己补偿一下学习速度了。无论速度太快还是太慢,你都得靠自己的时间来弥补。回家学习你在课程中不理解的内容(如果节奏太快),或者回家学习你想学的内容(如果节奏太低)。

如果可能的话,您可以要求老师放慢速度或加快速度,但是参加同一课程的人越多,难度就越大,因为学习速度的变化会影响课程中的每个人。

8、问题:不知道从哪里开始学习

有时,一个主题太大,而且子主题可能相互交织,以至于您不知道从哪里开始学习!这可能是一个大问题——尤其是对于缺乏文档或文档较差的新技术。

8.1、解决方案:使用概述-细节风格学习

如果文档不错,但主题太大,一种解决方案可以是使用“概述-细节”风格的学习 - 正如本文后面所解释的。我经常使用它,即使是较小的主题。

8.2、解决方案:询问了解该主题的人

如果您不知道从哪里开始学习一项重要的新技术,解决方案可以是找到一个已经了解该主题的人,并询问他们从哪里开始 - 或者他们在开始时做了什么来学习该技术。从内部人士那里获取建议确实可以帮助指导您的学习之旅。

二、额外的学习策略

1、找到您喜欢的学习方式

不同的人有不同的学习风格。有些人喜欢在开始学习如何在实践中使用某项技术之前对它有更深入的理论理解。其他人更喜欢立即开始使用该技术,以了解该技术的工作原理以及可以用它做什么。这些人倾向于通过实践经验随着时间的推移建立理论理解。

无论您喜欢哪种学习方式,至少了解它是什么是有益的。了解最适合您的学习方式和学习策略。您可能并不总是能够根据您的风格调整学习课程 - 但您可能能够更好地弥补学习风格不匹配的情况。

2、做练习

另一个让我受益匪浅的解决方案是针对我正在学习的主题进行实践练习。实践练习证明我确实理解了我刚刚学习的内容。

练习还会减慢学习过程,并迫使您专注于与特定练习相关的主题部分。

当您需要重复/刷新某个主题的一部分,或者当您实际上需要在现实生活项目中进行练习时,回到练习也可能是很好的选择。

3、自己做更大的项目

使用您正在学习的技术参与开发一个大的项目也很有用 - 以验证您是否知道如何将所有单独的部分组合在一起形成更大的东西。通过这种方式你可以学到很多东西,并且你经常会被迫解决课程或教科书可能没有为你准备的问题 - 但你必须自己找到解决方案。

顺便说一句,更大的项目也可以作为工作面试的展示。

4、使用概述-细节学习方式

我经常使用的学习策略是我所说的“概述-细节”学习风格。我不认为我发明了这种风格 - 但我也不知道我首先在哪里读到它,也不知道它在那里被称为什么,所以我只是将其称为“概述-细节”学习风格。

首先,我更快、更轻松地浏览材料,以了解较大主题中的主要子主题的概述,并了解它们如何相互关联等。我将这个概述写成子主题的项目符号列表,或者可能绘制思维导图或一些技术图表。

其次,我从我认为最核心的子主题开始,一一深入探讨各个子主题。从那里开始,我转向越来越多的边缘子主题 - 直到我最终涵盖整个更大的主题。

概述确实有助于更好地锚定知识,并有助于指导各个子主题的研究。概述对于以后重新讨论该主题也很有用。另外,将来可以与该主题的其他学生分享概述。

访问所有子主题的过程可能会持续数月甚至数年。我经常遇到这种情况。

三、写在最后,就是不要放弃

我想贯穿上述所有策略的总体主题是:

学习很困难——但不要放弃!

接受学习是困难的事实——你的知识往往是一小步进步的。尝试另一种方式,另一次,投入更多的时间和精力等,看看你是否不能一点一点地增加你对这个主题的理解。

我有一些书我必须读五遍才终于觉得我完全理解了!在过去 20 多年的开发过程中,我一次又一次地访问了一些主题。

这就是我的学习策略——我的学习风格。我希望其中的部分内容对您也有用!