paint-brush
四个 R:如何成为一名优秀的程序员经过@brbs
1,833 讀數
1,833 讀數

四个 R:如何成为一名优秀的程序员

经过 Tyler Berbert5m2022/07/15
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

在软件(或一般情况下)学习新东西时,检索、重新排列、休息和重复以获得最佳效果。它可以帮助“构建一些东西”,但优化学习远不止于此,了解它是什么最符合您的利益!

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 四个 R:如何成为一名优秀的程序员
Tyler Berbert HackerNoon profile picture


人们将继续成为软件工程师。有些将是刚毕业的计算机科学毕业生。一些寻找新挑战或更高薪水的人将来自其他行业。


所有人都会明白,你永远不能停止学习。有一天,这将是贵公司代码库的一个新领域的工作方式。改天,它将是您的团队刚刚采用的新库或框架。


“我如何学习一个新的 X”这个问题有很多答案,其中 X 就是其中之一。 “用 X 构建一些东西”是我看到的最常见的一种。这不是一件坏事,但如果不是优化的诀窍,什么能团结工程师呢?


在成为软件工程师之前,我学习了学习。我参加了有关它的课程,阅读了有关它的书籍和论文,并将其作为日常工作来实现。前几天,我发现自己第 100 万次使用这些知识来熟悉一个新的图书馆进行工作面试。


我确实给了自己亲身体验,但不是以任何有意义的方式“构建一些东西”。令我震惊的是,我所做的事情背后的原则是其他进入该领域(或已经进入该领域)的人可能想知道的。


四个 R

从学习文献中跳出来的四个主题是:

  • 恢复
  • 重新排列
  • 重复
  • 休息


当我描述每个人时,您将开始看到“构建某些东西”是如何成为参与其中的一种非常好的方式。您还将看到潜在的想法如何(并且已经)以更有针对性和小规模的方式使用,或者您如何以使更多学习发生的方式指导您的建筑。


恢复

我把它放在第一位是有原因的;这是最大的。检索在文献中也称为“主动回忆”或“生成”,在这里有一个特定的含义,即“识别”的反义词。你越是从头开始挖掘材料,而不是被动地从列表中挑选出来或再次查找,你就越能记住它。


它还使您更有能力在新情况下使用它,在这种情况下不清楚到底该做什么是正确的,这对工程师来说很重要。进行检索练习的两种特别有效的方法是自我测试和“阐述”,或向自己或他人口头解释某事。


重新排列

“交错”的概念在学习文献中很重要,指的是混合你正在学习的材料的顺序。例如,与其在连续的学习时间块(AAABBBCCC)中学习概念 A、B 和 C,不如在交替学习时间块(ABCABCABC)或随机学习时间块(ABCBACACB)中学习它们。


另一个有效的工具是研究正在使用的东西的例子,这是软件指南和文档的共同特征。这向您展示了一个概念如何在新的环境中发挥作用,并记住上一节中的回忆如何帮助您知道在开放式情况下该做什么?这是相似的。通过不是以孤立的方式而是以一种被不同环境包围的方式学习某件事,你的大脑会与它产生更多样化的关联,更好地掌握它的工作原理和使用方式。


重复和休息

我把这两个放在一起是因为它们相当简单,但它们对于学习过程同样重要。要学习新概念,您必须反复接触它们。你也必须睡觉。没有办法绕过它。这些是生物必需品;睡眠巩固记忆。


将学习某件事所需的多个会话间隔开来的有效性有其自己的名字,即间隔效应,实际上这是赫尔曼·艾宾浩斯在 19 世纪后期在学习科学领域发现的第一批东西之一。理想的难度是游戏的名称;你越能用力去记住某件事,及时回溯它,但最终还是记住了它,它就会越坚持。


将四个 R 带入生活

Duolingo 是一个很好地说明了如何使用所有这四种方法的组织。他们有涉及从头开始检索正确单词的练习,他们将旧词汇融入新课程,并希望您每天回到应用程序(并且不怕告诉您)。


“构建一些东西”,尤其是使用新的应用程序框架(本质上涉及构建应用程序的所有部分)可能是一种真正伟大的学习方式,并且可以涉及所有四个 R。你反复,经常在几天的过程中,必须从你的记忆中找回做某件事的最佳方式,而且通常是在不同的环境中。请记住以下几点。


在野外完成的项目不可避免地会让你或多或少地使用某些工具。如果你想真正学习一些东西,你还必须了解它的边缘案例,这可能会花费你的时间,或者它的利基工具,这可以节省你的时间。所以要结构化。专注于你正在学习的一个部分。如果可以的话,把碎片交错。不要试图一次学习所有部分。你会注意到,Duolingo 不只是把整个语言都扔给你。他们选择特定的新词汇集在每节课中介绍,最终为您提供全面覆盖。


不要太频繁地回顾文档。做检索练习。给自己一些小的、有针对性的挑战。例如,在学习一个新库时,您可以采用一些方法并说:我可以用这些片段做什么?然后想办法去做。然后取另一块,做同样的事情。随着时间的推移这样做,在学习课程之间给自己一些安稳的睡眠。 (我只给自己一个新的日期格式库,但有时即使这样也足够了。)


尽管它很有趣,并且可以填充您的 GitHub,但您不需要整个项目来学习软件中的新东西。在各种情况下用它弄脏你的手,在两者之间睡一觉,你会很开心。



也在这里发布。