2023.03.17 《程序员的三门课:技术精进、架构修炼、管理探秘 / 于君泽等著》学习笔记
学会学习
- 一、高效学习的方法
- 1、管理好自己的目标
- 1)评估能力
- 2)制定目标
- 3)评估目标
- 2、利用好碎片时间
- 3、在同一时间只做一件事
- 二、高效学习的途径
- 1、阅读书籍
- 2、参加在线课程
- 3、参加线下会议
- 4、贡献开源项目
- 5、编程竞赛
- 6、创建博客
- 7、编码训练营
一、高效学习的方法
高效学习的方法:管理好自己的目标、利用好碎片时间、在同一时间只做一件事。
1、管理好自己的目标
目标管理,主要可以分为如下几步:评估能力、制定目标、评估目标。
1)评估能力
目标管理的第一步,就是正确评估自己的能力。
每个人都有不同的能力,并且自己其实是最了解自己能力的人。
在评估自己的能力时,可以给自己画一个简单的雷达图,并正确评估自己在各个方向上的能力指标。
示例:
例如在学习方面,可能要依赖如下几种能力:理解能力、自控能力、坚持能力、智商能力、专注能力。
2)制定目标
在正确评估自己的各方面的能力之后,就可以根据实际情况及时间等因素,给自己制定目标了。
在制定目标时,建议给自己制定两个目标,一个长期目标和一个短期目标。短期目标可以有长期目标分解而来。这里的目标其实等同于计划,不仅有自己要达成的目的,还伴随着时间节点。目标的设定模板可以是:
在什么时间节点完成什么事。
示例:
比如计划在三个月内学会 Java 9 的新特性,那么可以计划第1个月学会Jigsaw,第2个月学会JShell,第3个月学会Stack-Walking API。
3)评估目标
在评估好能力并制定好目标之后,还要养成定期评估自己目标的习惯。这就是我们为什么要设置短期目标,以及为什么要有时间节点,因为这样可以方便我们进行目标的回顾和调整。
示例:
例如,对于学习 Java 9 的新特性这件事,在第1个月要完成时,要及时检查一下自己是否真的学会了Jigsaw,并根据实际完成的情况重新评估自己的能力和制定新的短期目标,以期完成自己的长期目标。
2、利用好碎片时间
3、在同一时间只做一件事
在碎片的时间里如何更好地达成目标呢?那就是专注,即在同一时间只做一件事。在学习方面就是指在同一时间只专注地学习一种技术。
示例: 比如计划学习 Java 9 和 Spring Boot 2.0,则最糟糕的做法是同时或者交叉学习,这会导致两个技术都学不好。只有专注,才能达到高效学习的效果。
小结:
通过管理好自己的目标、利用好碎片时间及在同一时间只做一件事这三种方法,读者就可以高效的学习了。
二、高效学习的途径
1、阅读书籍
开卷有益。一般来说,学习知识最好的途径就是阅读,这是一种很古老也极其有效的方法。
互联网上各种平台,为我们提供了不同领域的内容,但这些内容大多数比较零散,不成体系。
阅读书籍则是一种比较好的选择,而且对于技术类知识来说,书籍中的内容也相对权威一些。书籍内容的特点:
成体系
、相对权威
。
如果你想高效地学习,那么阅读相关书籍绝对是很好的选择,它可以让你对所学的知识建立一个很好的知识体系,并且在学习过程中通过反复翻阅来巩固那些容易遗忘的知识点。另外,你在读书的过程中有足够的时间来思考,这个思考的过程在学习中是十分关键的。
阅读书籍的优势:有助于
建立很好的知识体系
、可通过反复翻阅来巩固知识点
、读书过程中有足够的时间来思考
。
非常适合
原理性
的技术知识,也适合实战类
的知识学习。
- 适合对象:所有人
- 目标:构建知识体系、巩固知识点、有足够时间思考。
2、参加在线课程
对技术知识的学习,主要包含两方面:原理和实战。对于原理性的技术知识,建议通过阅读书籍等方式来学习;对于实战性的技术知识,则可以考虑学习在线课程,这或许会更高效一些。
优势:比较直观,可以看到真正的操作步骤,比较容易理解,很适合实战类的知识学习。
弊端:不容易使参与者集中注意力、没办法带动参与者一起思考等。
比较适合
实战类
的知识学习。
- 适合对象:所有人
- 目标:可以更好地学习和理解实战类的技术知识。
3、参加线下会议
线下会议,也是近年来比较流行的一种方式,适合有一定经验的开发者,人们可以在会议中和其他人交流。很多时候,别人的经验是很宝贵的,所以,也是一种很不错的学习方式。
国内有很多类似的线下会议可供参加,比如 QCon、ArchSummit 等。
- 适合对象:有一定经验的开发者。
- 目标:可以在会议中和其他人交流,吸取别人的一些宝贵经验。
4、贡献开源项目
对于有经验的程序员来说,保持自我进步的最好方法就是参与开源项目。
- 适合对象:有经验的程序员
- 目标:保持自我进步。
5、编程竞赛
解决问题是提升开发者编程能力的最好方式。
国内外编程竞赛网站:TopCoder、CodeForces、Hackerrank、LeetCode 等。
- 适合对象:所有人
- 目标:提升开发者编程能力。
6、创建博客
创建并记录博客也是一种学习技术的好方式。“教是最好的学习”,学习某技术的最终效果,就是能够把学到的新知识经过自己的理解给其他人将清楚。
相比其他几种学习方式,创建博客也有很多好处。
能更深入地了解技术。在很难多时候,当我们想学习一个知识并且把它写成文章时,为了避免文章的内容出错,一般都会尽量阅读很多文献,来确保内容是正确的。所以,写文章之前的准备也是自我学习的一个阶段,而且学习的内容往往是比较深入和透彻的,这样才能保证自己写的内容具备权威性。
能更好地记忆知识点。写作的过程就是最好的记忆过程。因为在写文章的过程中会仔细推敲每一句话。这个过程就是多次记忆的过程。很多时候,你记不住别人说的话是因为其思维方式和你的不一样,但是通过自己的思维方式表达出来的内容就会很难容易记住。
- 适合对象:所有人
- 目标:能更深入地了解技术;能更好地记忆知识点。
7、编码训练营
我们一般称其为参加培训机构。
- 适合对象:新手
- 目标:成为一名开发者。