注:可能并不是该章节全部内容的笔记,后续会继续完善。
自我教育
教育体系的设计初衷针对群体而非个人。但是,如果想成为最好的软件开发人员,就必须学会自学。主动学习是效率更高的方式。
学习知识最好的方式就是立即付诸实践,即使你还不知道自己在做什么。玩耍是一项强大的学习机制,乐在其中。
最后,将自己所学打包教给别人。
http://simpleprogrammer.com/ss-learning-myth
十步学习法
背景
- 我们往往没有时间通读全书
- 书本里很多内容更适合作为参考资料,而不适合学习。
掌握一门技术的三个要点
- 如何开始:准备后备知识
- 学科范围:开始阶段不需要了解每个细节,但需要了解轮廓,以便将来发现更多细节
- 基础知识:20%能满足 80%日常应用,要想办法优先学到那 20%的基本案例和最常见的问题解决方案
Why?
- 可以高效地学习一门技术,无需通晓全部细节。这种新方法能让你关注重点。
- 提前掌握所有知识,那只是在浪费时间,因为真正重要的内容会湮没在那些细枝末节中。当确实需要了解更多细节时,可以利用参考资料来弥补这些不足,这些基础知识的基础上进行扩展。
- 从头到尾仔细阅读一本技术书籍,却发现自己实际用到的也只是书里的技术的一小部分。
- 如果选择通读全文很容易忘记,因为用到的很少。通读全文的方式可取,但非最优。
十步学习法
- 了解自己不知道什么,利用这些勾勒学习范围,及学成之后会获得什么。
- 依靠这些知识找出各种书外资源辅助自己学习
- 创建学习计划,列出学习课程
- 筛选学习材料,只保留帮助自己达成目标的优质内容
- 学习——实践——掌握——教授
http://simplegrogrammer.com/ss-10steps
快速学习思想核心:聚焦学习范围,关注重点内容
- 自我探索
- 主动教学
Step 1~6
- 了解全局:网络搜索,只读介绍性章节,粗略浏览下内容
- 确定范围:考虑时间因素,缩小宏大主题并聚焦到一个特定范围内,尽可能保持专注,一次只能学一样东西。学习范围必须符合你的学习理由,又符合你的时间限制。
- 定义目标:形成简明清晰的陈述,勾勒出学习后的成功图景。
- 寻找资源:要尝试收集到多种多样的资源以帮助你学习,不限于书籍,google,博客等等,头脑风暴,去伪存真。
- 筛选资源:覆盖学习计划的最少无重复内容,看评论找出最高品质资源。
- 创建计划:创建自己的学习路径,一般会与目录相似,循序渐进。
资源搜索渠道
- 书籍
- 博客
- 官方在线文档
- 专家,或者对你所想要学习的内容已经熟知的人
- 播客
- 源码
- 示例项目
Step 7~10 循环往复
- 开始学习,浅尝辄止
- 动手操作,边玩边学
- 全面掌握,学以致用
- 了为人师,融会贯通
你告诉我的我都忘了。你教会我的,我都记得。让我乐在其中,我就一定能学会。
只需超前别人一步,就可以成为他们的老师。
花时间将自己学到的东西从大脑中提取出来,以别人能够理解的方式组织起来。
教授传播知识的途径
- 博客
- 在线论坛回答问题
- 与朋友同事对话探讨
- 演讲
- Youtube 视频教程
发现短板
知识短板使工作速度放缓,额外需要大量的时间完成任务。由于理解不彻底,只能摸索着前进。
短板高发区
- 在哪些工作上花费时间最多:看自己在哪些工作上花费了大量的时间。
- 可改进重复性劳动:看自己在哪些工作上一直进行重复性劳动。
- 没完全理解的东西:时刻都要试图了解自己不理解或不清楚的事物。遇到不理解的事,不需要马上学会,但一定要添加到清单中,至少可以找到短板。【消除短板的关键就在于定位短板】
- 回答不出的问题 / 面试题
弥补短板