程序员学习技巧

2025-05-24

程序员学习技巧

作为一名程序员,最具挑战性但又令人兴奋的部分之一是,这个领域在不断发展,学习永无止境。学习是我非常珍视的一个话题:我基本上是自学成才的开发者,我在大学学习教育学,并在训练营任教多年。我想写下一些我的学习技巧,希望这些技巧能在你的学习过程中对你有所帮助。

规划

学习的第一阶段是规划阶段:首先要确定应该学什么。对于刚入门的人来说,弄清楚自己需要了解哪些内容是第一步。对于在该领域比较有经验的人来说,你可能会因为某种原因而需要学习某个主题。

如果你刚刚起步,我建议你先探索一下——尝试编写一些代码,学习一些教程(这里列出了我最喜欢的一些),然后弄清楚你喜欢什么。然后明确你的学习目标:你是想成为一名专业的开发者,还是把它当作一种爱好,或者在你的技能组合中再加一项技能?

列出需要学习的技能清单后,就可以制定学习计划了。随着你对相关主题的了解不断加深,学习计划可能会有所调整,但列出学习内容的提纲有助于你分配时间和组织学习材料。这里一个很棒的视频,教你如何制定学习计划。

保持正轨!

你可能会忍不住彻底转换主题,尤其是当你当前的主题变得困难时。但是,只有在万不得已的情况下才应该转换主题。学习总是有高峰和低谷,你需要克服困难才能真正学到东西。

同样重要的是,不要陷入“闪亮物体综合症”(Shiny Object Syndrome)。当你看到一个新工具出现,或者看到有人讨论某项技术时,你决定放弃一切,转而学习它。坚持学习,在一个领域拥有深厚的知识远比用 20 种语言写出“Hello World”要重要得多。

养成习惯

我感觉我一半的博客文章都提到了“原子习惯” ,但它真的太棒了!像#100DaysOfCode这样的小组可以帮助你养成编程习惯,或者你也可以使用像Done这样的习惯追踪器。

不要只使用教程

我以前写过很多这方面的文章,但一定要亲自实践一下。解决问题的能力是程序员最重要的技能。

我上课时会遵循“我做,我们做,你做”的模式:我会从概念上解释一些东西,然后我们一起进行代码练习。我会在投影仪上写代码,然后每个人都在自己的电脑上跟着写,最后学生们就同一主题做一个练习。你也可以自己重现这个过程,比如观看或阅读教程,跟着代码片段学习,然后挑战自己用学到的知识构建一个应用程序或功能。之后,再在另一个场景下测试一下自己!

有研究表明,单靠讲座和阅读并不能使学习成果持久。辅导课也遵循同样的模式。一定要通过构建应用程序、做笔记和概念测验来测试自己。

就像学习一门新的口语或乐器一样,练习是关键。当你开始学习一个新主题时,它的神经模式很弱。当你完全掌握它之后,这种神经模式就会更加持久。大量的练习是最好的方法。阅读关于骑自行车的书籍会在一定程度上有所帮助,但到了一定程度,你必须骑上它才能进步。尽可能多地编写代码,并挑战自己去解决困难的模式。

学习风格

我敢肯定,你肯定被问过“你的学习风格是什么?”,或者被告知在学习新知识时要优先考虑这一点。事实证明,学习策略的概念,即有些人通过视觉学习效果最好,有些人通过文本学习效果最好,有些人通过听觉学习效果最好,这种说法大多已被推翻。事实证明,用多种学习方式学习同一主题,或者使用最适合该主题的学习方式,才是最有利的。所以,使用适合你的策略和资源,同时也要不断变换,尝试不同的学习方式。

策略

做笔记

大量研究表明,学习时做笔记非常有益,尤其是手写的笔记。我通常在学习课程时用 iPad 记下最初的笔记。然后,我会用Foam进一步整理这些想法,并将它们整理成可以随时回顾的内容。如果你有艺术细胞,速写笔记非常酷,这些图画能帮助你建立联系。

把你的学习放在具体情境中

在已有知识的背景下学习新知识效果更好。我记得我学习 React 的时候,有一个教程同时展示了如何使用我熟悉的 JQuery 和 React。了解熟悉和陌生的做事方式非常有帮助。将你已知的知识与新知识明确联系起来。你可以使用思维导图之类的工具来做到这一点,或者你也可以在日常笔记中注意标注链接!

公共学习

我最喜欢的一句话是罗伯特·海因莱因的名言:“一人教,两人学。” 巩固某个主题知识的最佳方法之一就是教给别人。你可以创建公开资源,例如博客文章或视频,也可以向朋友、甚至在聚会或会议上讲解你的学习成果!这里有一个很棒的资源,教你为什么以及如何在公共场合学习

测验一下自己

《Make it Stick》是一本很棒的书,教你如何巩固记忆中的概念。我通常认为,对于大多数开发人员来说,理解比记忆更重要,但如果你是在为面试或考试做准备,你可能需要更注重记忆。《Make it Stick》的作者建议你通过自我测试来增强记忆力。你可以针对你正在学习的主题制作一个抽认卡,或者挑战自己在没有任何资源的情况下创作一些东西或解决一个代码难题。

返回主题

不要一次性学完一个主题,而是要持续地重复学习。间隔重复是指学习时间较短,每个学习阶段之间有间歇。所以,你可以在一周前开始学习一个主题,一周后再回来学习,再过一周再回来学习。这段间隔时间会迫使你复习和回忆新知识,巩固检索信息的神经模式。有人告诉过你,为了考试而临时抱佛脚是个坏策略吗?这就是原因!

利用间隔重复的潜在计划可能如下所示:

  • 第一天:学习 CSS 基础知识
  • 一周后:学习基于基础知识的 CSS 概念
  • 一周后:构建一个使用这两个概念的项目

你不必重复阅读同一个教程,但要反复复习,这样才能越来越熟悉。学过一次通常并不意味着就能牢牢记住。

休息一下

我强烈推荐Coursera的“学习如何学习”课程。他们的重点之一在于两种思维方式:专注型思维和发散型思维。专注型思维是指你专注于学习或解决问题。发散型思维是指你处于一种更放松的状态。很多时候,发散型思维是指你从一个主题到另一个主题建立联系,并巩固知识。你可能听过“洗澡时解决bug”这个说法,它很有道理!一定要休息一下,远离电脑。这对于学习和生活的平衡至关重要!

此外,睡眠锻炼也有助于学习——确保你照顾好自己,而不仅仅是一直编码!

固定心态与成长心态

相信自己能够学习是真正学会某样东西的关键。卡罗尔·德韦克的著作《心态》探讨了固定心态与成长心态。固定心态的人认为自己的特质是静态的,无法学习或提升才能。而成长心态的人则相信自己可以进步和学习。拥有成长心态的人更有可能投入学习新知识所需的时间和精力,也更有可能享受学习的乐趣。成长心态与固定心态的差异有很多因素,例如成长经历和教育环境。但如果你发现自己处于固定心态,那就努力培养成长心态吧。

Ness Labs有很多关于神经科学的精彩文章,这篇文章也分享了一些进入成长型思维模式的策略。这些策略包括:承认大脑结构并非固定不变的研究成果、接受批评以及积极看待失败。

相信自己是一项被低估但又非常重要的学习!

学习的层次

布鲁姆知识分类法提供了一个很棒的框架,用于评估你对某个主题的知识和专业技能。首先是事实知识,然后是概念知识,再是程序知识,最后是元认知知识。

事实性知识类似于“CSS 使用花括号和文本”,概念性知识是“CSS 用于设置网页样式,使用选择器来选择要设置样式的元素或元素组”,程序性知识是使用 CSS 设置网页样式的能力,最后,元认知是了解您在 CSS 方面的优势和劣势,并能够将其融入到更大的 Web 开发视野中。

在您的学习过程中加入反思将有助于您在布鲁姆分类法中取得进步——将您的新知识融入您所有学习的背景中,并自我评估您的进步以及您不清楚或尚未学过的主题。

类似帖子

我过去曾写过很多与此相关的主题。

我希望这些建议对您有所帮助,如果您从这篇文章中学到一件事,那就是休息一下,一直学习是无效且不切实际的!

文章来源:https://dev.to/aspittel/learning-tips-for-programmers-12g
PREV
超越教程:解决问题的 8 个技巧
NEXT
通过艺术创作学习 CSS