(原创升级版)构建一份提升学习效率 99% 的私藏秘籍
这是 JsonChao 的第 164 期分享
在我们学习一个技术之前,判断一个技术是否真正有价值,是否值得花费足够的精力去深挖,是非常重要的。这其中的关键就在于——未来几年甚至十几年,它是否可以真正地解决项目研发过程中的一些痛点,让企业的收益最大化。
但,更为重要的是这一点:个人的技术成长与你的底层能力系统是密切相关的,换言之,要想保持长久的技术提升效能与持续成长,就必须有全面、强大的底层能力做支撑。
从我们认知的整个思维结构上来说,一个人的底层能力是比数据结构与算法、计算机基础更加底层的东西。而,越底层的东西它的持久力、生命力以及带给我们的收益就会越大,因此,这就是我为什么一直要在每周坚持抽出 30% 的时间去系统地学习与构建自身的底层能力系统。
在整个底层能力系统之中,最重要的莫过于——构建一个健全完善的学习系统。在本篇文章中我们将深入探讨如何去构建一个属于你自己的学习系统。
一、学习认知强化
1、学会提问
提出一个深入的探索性问题是一种学习效果非常好的方法。在问题牵引下的学习,会帮助我们连续不断地构筑着知识之间的联系,这样,我们就能够把新习得的新知识与之前的旧知识糅合在一起,并在头脑中建构出新的知识体系。
提问,是将我们引向深度学习的起点。
只有真正深入到一个领域,才能培养出对其的真正兴趣。如果对一件事的了解不深、不透,总是浅尝辄止,那自然体会不到这件事的妙处,也自然不会产生持久的兴趣。这让人容易滑入一个死循环:了解不够导致兴趣不足,而兴趣不足又无法加深对它的了解。
下面,是我在学习的时候,总结提炼出来的「提问七步法」:
是什么?即它的含义。 如何使用? 为什么?即它解决了什么问题。 如何解决问题的?即内部的实现原理。 优缺点是什么? 与同类技术的相同/不同点在哪里? 有哪些重要的关键细节和结论需要注意?
因此,一个学习高手,必定也是一个优秀的提问者,他会在阅读、观察和思考的过程中产生问题,先解答表层的、容易的那部分,留下深度的、探索式的问题给自己,并在由此问题招致的持续困扰和折磨中开启卓越的心智旅程。
2、刻意练习
经常有人会问我,现在学什么最好?我都会这样回答:那些你每天花费时间做的最多的有价值的事情,就是你应该系统学习的地方。花费时间越多,学习的优先级越高。有这么好的刻意练习的场景,为什么不好好专注于此,系统提升呢?
知识的刻意练习迫使我们对现有的知识进行更加深入的审视,对现实的情境和问题进行更加细微的观察,并且致力于创造两者之间的关联。
有一点要注意的是——重复阅读不等于刻意练习。只有将学到的知识转换为你自己所能讲出来的知识时,才算是练习。表面上来看,思考转换为自己的语言并写下来的过程比较耗时,但,这正是将你脑海中旧知识和新知识进行关联缝合的过程,你思考的越深入,连接就越紧密。但如果仅仅是重复阅读,偷懒省去这一步,其实你所阅读的东西,能真正被你吸收的不到 5 %甚至更少。
我们在实践的过程中,不要依靠自身的惯性去进行自然的实践,而要去进行刻意练习,在实践中不断改进实践本身,精益求精。
所以,学习的本质就是将新的知识纳入到现有的知识体系当中,并通过刻意练习的方式将连接处进行深度缝合,最后,便形成了一个新的、稳固的知识体系。
那么,为什么在学习过程中一定要结合实践呢?
当你一次一次地通过实践去检验学到的认知时,会不断加深对认知的理解,直至掌握一个经过大量实践检验的方法认知。
用实践检验认知需要遵循三个步骤:
1)、首先,进行分析推理,自己在脑海中思考模拟实践的过程。
2)、然后,进行刻意练习,自己挑自己的问题。
3)、最后,真实实战,让大众挑你的问题。
那么,在实践上,人和人怎么彻底拉开学习差距?我认为可以分为三个层次:
1)、低阶的学习者,会不断地主动学习新的方法认知。
2)、中阶的学习者,除了会持续大量地学习新的方法认知,还会不断地结合实践去检验自己学到的所有方法认知。
3)、高阶的学习者,不止于学习方法认知和检验方法认知,他会在实践的过程中,去不断地优化已有的方法认知,进而创造出更加高级的方法认知去指导自己练就更高阶的实战能力。
3、极致专注
我曾看到过一段让我非常有感悟的一段话,那是刻在英国威斯敏斯特大教堂的一块墓碑上的一段话 ,上面写着:
"当我年轻的时候,我梦想改变这个世界;
当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;
当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。
当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界”。
所以,最重要的事情是认识到这一点——控制你能控制的,接受不能控制的,这不仅是一种能力,更是一种智慧。换言之,你只能控制自己,然后用自己的行为影响他人。
所以,专注于自身的成长才是最重要的事情,一个虽然不完美,但是愿意通过践行来达成目标的人,和一个只说不做,并且时常讥讽嘲弄他人的人,虽然外表上看起来没什么区别,但,其实根本就是两类人。
如果想通了这件事,其实就知道我们没必要拼命寻求周围人的认可,因为我们有可能压根就不是一类人。
每个人的精力都是有限的,如果你不专注,你单位时间的效率就会很低。而所有的那些高质量输出、爆发性成长,实际上都来源长时间的高度专注。
4、找出知识短板
知识短板会严重阻碍我们进步。准确识别它们的最佳方式之一就是看看自己在哪些工作上花费了大量时间,或者一直进行重复性的劳动。例如没有掌握键盘快捷键可能就是一个知识短板。
5、结合学习与工作
在一周的时间内,工作会占据一个人一半的时间,如果你在业余时间学到的知识,不能很好地应用到工作中来,就无法给知识塑造一种良好的实践环境,就无法形成一种输入和输出的闭环,也很难真正高效透彻地把知识转换为你自身的技能和能力。
因此,学习计划最好能结合工作计划,理论结合实际,快速学以致用。
首先,我们应该 优先学习的是工作中会用到的或将会用到的技能。
然后,在完成了自己的本职工作之后,我们应该去尽量地考量公司中各个系统和业务模块,看看有哪些不合理和可以改进的地方。
接着,尽力去提升自己相关方面的技术,并去识别和优化它们,在优化的过程中我们可以优先参考其它公司的技术方案。
最后,在做好本职工作的前提下,8 小时之外持续不断地学习,提升自身的认知水平,然后及时和老板沟通心得。那些经常能站在较高视野和上级进行沟通的人,他所能得到的机会要比那些整日默默无闻的人要多得多。这就是所谓的 “眼界高于能力”,从而得到很多可以提升自己能力的实战机会。
6、体系化学习
真正有效的学习,核心其实就一句话:在你掌握了一门技能的最少必要知识之后,就马上开始行动,然后就把你的注意力专注在不断改进技能本身上。
开始的时候,要循序渐进:先从专注做好一件事情开始起步,当你完成它时,所获得的的激励要远远好过于在几件事情上半途而废。
但,更为重要的是,学习的时候如果没有注重体系化地学习与思考,而是东学一点西学一点,那这些知识就会零散地遍布在我们脑海的各处,无法在实战中发挥出应有的效果。
为了解决这个问题,我们需要首先需要把目前所学的知识列出来,然后尽可能地找到这些知识点的联系,让它尽量体系化,将其绘制成一幅属于你的思维导图。
二、掌握学习十步法
对技术人成长最重要的,必定会包含如下三个核心要素:
1)、学习-具备持续不断地提升自身深度与广度的能力。 2)、思考-系统深入地解决问题的能力。 3)、实践-大量的刻意练习能让我们真正地理解一个技术的本质。
而学习十步法的精髓就在于 「学习 => 实践 =>(碰到问题 => 学习 => 实践)=> 掌握 => 教授」这一系列过程。注意()内的过程,我将其称之为探索,通常需要多次反复进行深入探索,直至最终掌握这个技术点。
学习十步法,充分利用了我们天生的好奇心来帮助我们掌握更多的知识,这将会持续不断的激励我们,通过大量的刻意练习向着目标前进,而不仅仅只是读书或者看教学视频。
1、了解全局
了解全局的作用在于 【快速甄别,决定哪些事情值得花费你宝贵的时间和注意力】,通常是 做一些基础性的研究,例如网络搜索、查阅一下该主题相关的书中的介绍性章节。
2、确定范围
我们应该 【聚焦学习范围,关注重点内容】。这里需要 充分利用自己在第 1 步中收集到的信息,找出自己的学习范围,也可以借助自己的学习理由来决定学习的范围。
选择一个专注而聚焦的范围,明确学习范围的时候需要尽可能地充分考虑所学内容的性价比。
那么,如何衡量所学内容的性价比呢?
1)、评估掌握一项技能在短期和长期内对我们的重要性,通常来说,越长期的内容,性价比越高,尽量多学具有长期保鲜的内容。 2)、我们应该对这门技能所花费的时间成本进行详细地评估,以确定时间投入是否值得。 3)、一些简单、仅仅需要了解的知识点直接利用碎片时间去完成即可,但如果是需要掌握甚至“精通”的一些知识点,我们需要为它划分出一整段的时间去系统深入地学习。
此外,在这一步中,有两个点需要注意:
1)、很多知识的获取是需要 循环渐进 的,除非你已经有了非常扎实的基础,否则跳级进阶只能是吃力不讨好。 2)、有些知识点例如 源码、晦涩的一些概念 等等,只要它们是足够 重要 的,弄明白它们就是 非常值得 的。
3、定义目标
好的成功目标应该是 具体、清晰、足够明确 的。例如在学习 ASM + Gradle 时,我定义的目标是:使用 ASM + Gradle 实现一个 全局的 Bitmap 泄露监控组件,。
4、寻找资源
目前,我学习的主要信息来源包括如下 九个渠道:
1、官方文档:第一手资料。 2、源码:第一手资料。 3、Github 开源项目:定期查看 GitHub 的热门榜,看有没有需要的优质项目(至少每周一次)。 4、微信读书 5、极客时间 6、慕课网 7、得到 8、百度云盘 9、WanAndroid 优秀文章
在这一步,记得也要寻求一些好的入门文章,在我们刚开始学习这门技能时,便会从它们开始。
5、创建学习计划
我们需要 根据自己个人的时间去制定适合自己的学习计划,这一步我们可以查阅该主题对应图书的目录。
6、筛选资源
计划学习前要考虑清楚,一旦开始执行学习计划,就应尽量保持少的变更,除非后续发现计划有较大问题。因此这里我们需要多加一步去 选取品质最高的资源覆盖学习计划,对于一些付费资源可以通过查看评论的方式进行评估。
7、开始学习,浅尝辄止
这一步的关键在于 过犹不及。你会很容易就失去自控力,开始消化学习清单中列出的所有资源。但是,你会发现,如果能经受住这样的诱惑,你会取得更大的成就。我们应该要 专注于掌握自己所需的、能在下一步动手操作的最小量的知识,即:只要学到了能让自己动手的知识,就马上去实践,看看真实的反馈是什么。
好记性不如烂笔头,在学习的过程中,学习的东西至少要做好笔记,并且后续需要 按照一定的间隔时间去反复复习。
8、动手操作,边玩边学
万事无他,唯手熟尔。教育的首要目标,并不在于”知“,而在于”行“。
对于计算机领域的学习来说,教材的意义其实远远小于实践的意义。真正动手实践去编程是异常重要的。这就好比学游泳,必须下水去游泳;或者学开车,必须亲自上路。否则你说的再头头是道,一个小学生文化水平的人,只要他开过车,游过泳,都能在这两个领域瞬间秒杀你。
真正的学习上的提高,就发生在实践的过程之中。例如,Debug 就是一种高效的实践方式。它不仅仅是找到代码错误,解决错误的手段,其实更是一个重要的深入学习的手段。
因此,我们应该要 通过探索和实践进行学习,在实践中碰到的问题会引导着我们走向真正重要的方向。当回过头寻找问题的答案时,不只是这些问题迎刃而解,而且你记得的东西将比你学到的东西要多得多,因为你所学到的都是真正重要的东西。
最后,在实践中,在某些关键动作上进行刻意练习,也会取得事半功倍的效果。因为持续刻意地练习改进与思考可以改变大脑的结构,大脑其实就像肌肉一样,挑战越大,影响越大,所以学习会更高效,并且会产生突破性的增长。
9、全面掌握,学以致用
我们 应该以解决在动手操作中发现的问题为主要目的,没必要把收集到的所有资源全部仔细看一遍。试着把自己正在学习的内容与最终目标关联起来,你掌握的每个模块,都应该以某种方式推动着你向着终极目标前进。
同时,我们最好能给自己设置一系列的挑战阶梯,例如对于学习音视频的同学可以给自己设置如下的挑战阶梯:
使用 Android 音视频 API实现一个播放器 => 使用 FFmpeg 与 OpenGL 实现一个播放器 => 定制 FFmpeg 的源码、掌握 OpenGL/Vulkan 的高阶用法实现功能更加强大的播放器
学习某一个技术其实到最后会形成一颗 技术树,我们可以使用 思维导图,例如 XMind 或 幕布 进行描述。而对于一些涉及 流程 相关的技术点,我们可以使用ProcessOn 来绘制对应的流程图。
10、乐为人师,融汇贯通
如果你能将自己所学的东西都教给别人,那么你不仅能够记住,而且还能够理解得更加深刻。
重点在于,我们需要花时间将自己所学到的东西从大脑中提取出来,并以别人能够理解的方式组织起来。在经历了这整个过程之后,你会发现,有很多你以为自己明白了的知识点,其实并没有摸透。这一步对深入理解知识而不只是流于表面至关重要。
分享,就是一种很好的教学方式,而且它的时间成本也相对较低,目前常见的有 三种分享方式:
1)、博客文章 2)、技术视频 3)、部门/社区内的技术分享
分享的真正意义在于,总有一部分知识我们并没有真正理解透彻到可以向别人解释,而 ”教“ 的过程能够迫使你面对这一部分。在教别人的时候,我们迫使自己面对课题中的难点,深入探索,从只知皮毛变成完全理解。学习知识是暂时的,而理解则是永久性的。
当我们试图教别人的时候,会强迫自己重新组织大脑中的各个知识节点。最好的思维方法就是用你自己的语言解释某样东西并将其记录下来,融入到你的知识体系当中。要想教别人,我们得先把自己教会。
三、总结
绝大部分内容,如果只学一遍,不会那么好的掌握吸收,很多可能就是当时听很有启发,过了几天就随风而逝了。
所以多学几次,让所有主题分支慢慢的都融会贯通后,你才会逐步真正掌握,这些 “信息”,才会变成 “知识”,进而变成 “智慧”、“思考”、“判断力” 等,后面你做 “实事” 时,才能真正不由自主地用上这些 “知识” 去指导实践,那样你才能把这些事做得比大多数人漂亮。
想真正掌握,就要学会接受 “慢”学习+“重复”学习,熬得住时间,坐得住板凳,耐得住枯燥。
这个世界有一个巨大的公平,巨大的机会:只要你在一个领域里用正确的方式做巨量的改进练习和综合实战,你一定能成为高手。不管我以后进入哪个行业,哪个领域,只要我遵循这个规律,努力三年必定能做出成绩。
加油,一起来做真正的实干学习者,不做假装学习者。
出身普通的人,如何真正改变命运?
这是我过去五、六年一直研究的命题。首先,是为自己研究,因为我是从小城镇出来的,通过持续不断地逆袭立足深圳。越是出身普通的人,就越需要有耐心,去进行系统性地全面提升,这方面,我有非常丰富的实践经验和方法论。因此,我开启了 “JsonChao” 的成长社群,希望和你一起完成系统性的蜕变。
星球目前有哪些服务?
每周会提供一份让 个人能力和财富增值,避免踩坑 的硬干货,价值 100 * 52周 = 5200元。 每日以文字或语音的形式分享我个人学习和实践中沉淀的 思考精华,价值 10 * 365天 = 3650元。 提供 每月三次成长、技术或面试指导的咨询服务,价值 200 * 3 = 600元。 星球总价值 == 9450元,且有更多不定期的星球会员专属超级福利,实际总价值过万,付费学习就是用金钱换时间进行弯道超车。
超哥的知识星球适合谁?
如果你希望持续提升自己,获得更高的薪资或是想加入大厂,那么超哥的知识星球会对你有很大的帮助。 如果你既努力,又焦虑,特别适合加入超哥的知识星球,因为我经历过同样的阶段,而且最后找到了走出焦虑,靠近梦想的方法。 如果你希望改变自己的生活状态,欢迎加入超哥的知识星球,和我一起每日迭代,持续精进。
星球如何定价?
365 元每年,每天一元,给自己的成长持续加油💪。
为了回馈 JsonChao 公众号的老用户,我申请了少量优惠券,8.3号过期,先到者先得,错过再无。
END
参考链接:
1、通往高手之路
https://appt2ioq9ws3997.h5.xiaoeknow.com/coupon/get/cou_62aaaad0e008b-FHWJzh?share_user_id=u_614dd826ce0c7_cR3cBlJpBz&entry=2&entry_type=2002
2、《软技能 代码之外的生存指南》
https://book.douban.com/subject/26835090/
3、《精进 如何成为一个很厉害的人》
https://book.douban.com/subject/26761696/
4、《跃迁 从技术到管理的硅谷路径》
https://book.douban.com/subject/30198038/
5、如果学习有什么高效秘诀的话 就全都在这里了
liuyubobobo,公众号:是不是很酷如果高效学习有什么秘诀的话,那就都在这里了:)
往期推荐
这两年,我打造了一份令人喜极而泣的 Framework 通关秘籍
技术人如何让自己更值钱?
分享一份我打磨了两年的面试题库
JsonChao:这 29 年,从迷茫到觉醒,我做对了什么?
Flutter 编码提效最佳实践
点击下方卡片关注 JsonChao,为你构建一套
未来技术人必备的底层能力系统
▲ 点击上方卡片关注 JsonChao,构建一套
未来 Android 开发必备的知识体系
欢迎把文章分享到朋友圈