软件开发人员应该了解的学习规则
由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!
我最近换了工作,在这家新公司里,我们使用的技术栈与我以前习惯的有所不同。
我必须迅速学习新技术,这对我来说是一个挑战。
作为一名自学成才的程序员,我已经知道自己该做什么,以及如何高效快速地学习。
在这篇文章中,我将介绍我在学习新事物时遵循的十条规则。
1. 回顾你刚刚学到的内容
学完一章内容或完成一个编程练习后,去做点别的事情,同时记住你学到的主要概念。
试着在做一些日常活动时回忆这些概念,比如洗碗、去商店购物或洗澡。
能够回忆起你学到的新知识,将有助于你更容易地将它们牢记在脑海中。
2.实际编写代码
想象一下,你正在 YouTube 上观看一个很棒的 Laravel 教程。
现在你已经花了两个小时,却想不起来作者是如何建立并运行数据库连接的。
现在你必须回到那个特定部分,重新观看一遍。
真是浪费时间!
边看教程边编写代码。如果跟不上进度,请暂停视频,解决问题或解决编程难题,然后再继续观看。
3. 将想法和问题分块处理
组块法的理念是理解和练习某个想法或问题解决方案,直到你能在一瞬间回忆起它。
一旦你掌握了新的编程概念,就花点时间复习一下。想象一首关于它的歌,然后试着在脑海里一遍又一遍地唱出来。
这些信息将整合到一个信息块中,您可以随时建立联系并调出这些信息。
4.像训练身体一样训练你的大脑
如果你想增肌,就需要每天进行一些锻炼。
但你肯定不想一周七天都只锻炼一个肌群,那样肌肉增长效果不会达到预期。肌肉生长需要时间,组织需要时间再生和增重。
所以一个解决办法是将你的训练分成不同的肌肉群。第一天练腿和腹肌,第二天练胸肌,第三天练背肌,第四天可以练手臂。
这就是你学习时应该做的。
像健美运动员一样,每天分散学习一点。大脑就像肌肉一样——一次只能处理有限量的单一主题学习内容。
尝试将你的学习计划分解成类似肌肉群的训练:
– 数据库管理日(SQL/NoSQL)
– REST API 日
– Web 设计日
– 函数式 JavaScript 日
5. 混合使用不同的问题解决方法
解决问题的方法不止一种,这是肯定的。当你遇到一个任务,而你目前的解决方法似乎不太奏效时,不妨尝试另一种方法。
尝试不同的方法,看看能否想出多种解决方案。
每实现一个解决方案后,都要仔细检查错误,确保理解错误原因。然后,着手改进代码。
6. 适当休息
根据我的经验,第一次遇到问题或概念时,无法解决或理解是很常见的。
有时候,你会因为长时间被某个问题困扰,似乎找不到解决办法而感到沮丧。这时,正是你需要休息一下的时候。
放松一下,你会发现,有时候问题的答案会在睡梦中,或者泡澡的时候出现。
这是因为你的一部分大脑在后台运行,处理着你在集中注意力时可能无法处理的事情。
7. 用五岁小孩都能听懂的方式解释
你听说过这个概念Explain Like I’m Five吗?
甚至还有个专门的Reddit子版块。这真是一种很棒的思维训练。
当你遇到难以理解的概念时,问问自己,怎样才能用一个 5 岁的孩子也能理解的方式解释它呢?
这项练习旨在让你思考如何运用类比来简化答案。
例如,你会如何向孩子解释数据库?
我认为数据库就像一个水桶或玩具箱。
你可以把所有玩具都放进箱子里,这样就能整理好你的公寓或房子。否则,玩具会散落在各处,需要的时候就很难找到了。
数据库解决了所有这些问题。
8.保持专注
我敢肯定你以前已经听过无数遍了。这是一个充满各种观点和建议的话题,其中一些观点相当另类。
解决问题时,尽量专注于这项任务,这样才能尽可能提高效率。
如何集中注意力并长时间保持专注,这取决于你自己。
目前为止,我发现对我最有效的办法是关闭手机和电脑上所有会打断我的哔哔声、警报声和通知。
除此之外,我还喜欢听一些能帮助我集中注意力的音乐。我发现听没有歌词的音乐,比如后摇滚,能让我更好地集中注意力。
我创建了一个专门的播放列表,会在编程或观星时听。
点击这里查看。
9. 先做最难的事
利用休息充分的时间,把一天中最难的事情提早完成。
这样做有一些很好的理由。
先摆脱了那件令人不快的事情,你白天就会感觉好多了。
更难的事情需要付出更多努力。把一天中最难的任务安排在一天中最早完成,可以确保你有足够的时间来完成它。
此外,这也降低了你将最困难的任务推迟到第二天的可能性。
10.激励自己
有时你会觉得你付出的努力似乎毫无成效。
这种情况每个人都会偶尔遇到。说实话,这真的不是你的错。
如果你想保持动力,就让自己感觉正在取得进步。
无论生活中发生什么,总要有一件你正在取得进展的事情,这样你才会对自己和这件事感到满意。
例如,如果你想学习 JavaScript,那就把它作为你的首要任务。
每天你应该阅读几页你最喜欢的 JavaScript 书籍,或者从事一些依赖 JavaScript 的个人项目和/或开源项目。
如果你想了解更多关于如何保持软件开发人员积极性的技巧,请查看这篇文章。
结论
学习软件开发始终是一个过程,而非终点。不同的科技公司使用着各种各样的技术栈,因此你必须不断更新知识。
我希望这篇文章能帮助你克服编程中的一些障碍。
以上规则你已经遵循了多少条呢?