不知道你是不是也有这样的感受:光是上班累得要死,还要陪对象吃饭逛街看电影,或者送孩子去上培训班,根本就没什么时间学习;等到哪天好不容易有点空余时间,又因为没有计划,只能随便找本书或者上网水水论坛看看;就算知道要针对某个技能专门提升一下,也不知道怎么学才能达到精通水平;过段时间回头一看,前几周学的东西又忘得差不多了;跟别人交流一下子就暴露了水平……
指导原则和关键问题
我认为一套系统的学习方法,既需要一个统领全局的宏观指导原则,让人能够一目了然地理解它的核心内容,同时也要能够回答以下四个关键问题:
- 时间从哪里来?如果没有足够的时间投入,再好的理论也只是纸上谈兵。
- 学什么?找到正确的学习方向,明确了学习的目标,才能做到有的放矢。
- 怎么学?不同的学习目的应该有不同的学习方法,保证学习的投入产出比。
- 怎么保证学习效果?如何解决“学了用不上,学了就忘”两个常见影响学习效果的问题。
指导原则:10000 小时定律
如果你想要在专业领域不断提升自己的能力,必须投入足够的时间。
找时间:海绵学习法
10000 小时可不短,相当于平均每天 3 小时,持续 10 年时间。
学什么:三段分解法
三段分解法是我原创的制定学习目标和计划的方法,它基于职业等级体系,将 10000 小时逐级分解,最终落实到可以实施的各项学习行动。
怎么学:链式 & 环式 & 比较学习法
- 链式学习法适合提升技术深度,通过自顶向下逐步深入的方式,将关联技术逐一掌握。
- 比较学习法适合提升技术宽度,通过比较相似的知识或者技能,全面掌握单个领域的技术。
- 环式学习法适合提升技术广度,通过学习业务闭环流程中相关技术,全面掌握多个领域的技术。
保证效果:Play 学习法、Teach 学习法
- 第一个常见困难是,如果平时不学,真正要用的时候又来不及临时学;但如果平时学了,可能要等很久才能在工作找到的实践机会,到时候技术可能都生疏了。
- 第二个常见的困难是,学完之后感觉学得不深,跟别人讨论的时候,或者在晋升答辩环节被问到的时候,就发现很多东西明明学过,却说不出个所以然来。
针对这两个常见影响学习效果的问题,我通过学习和实践,归纳提炼出如下两种学习方法:
- Play 学习法可以用来解决工作中暂时没有实践机会的问题,学以致“玩”,通过“玩耍”的方式来应用。
- Teach 学习法可以用来解决学得不深的问题,教学相长,通过“教学”的方式来加深理解。
组合使用
最后,我还想补充一点,这些学习方法是相辅相成的,你可以根据你当前的级别和实际工作内容,把它们组合起来使用,具体的方式如下:
- 无论你当前是什么级别,先用“三段分解法”来规划你的学习目标和计划。
- 使用“海绵学习法”来找到你可以用于学习的时间。
- 据学习目标采取相应的学习方法。
例子:
- 如果你是 Java 后端 P5/P6/P7 级别,你的技术提升以技术深度为主,你可以采取“链式学习法”来学习 MySQL 以提升技术深度;
- 如果你是 P7/P8 级别,除了技术深度外,还需要提升技术宽度,你可以采取“比较学习法”来学习 PostgreSQL、MongoDB 和 Elasticsearch 等存储系统;
- 如果你是 P8/P9 级别,你可以采用“环式学习法”来学习跨领域的技能,比如学习 vue、小程序和人工智能等业务闭环流程涉及的技术领域。
- 采用“Play & Teach 学习法”来加强效果。
小结
- 一套系统的学习方法,既需要一个总的指导原则,也需要回答 4 个关键问题:时间从哪里来?学什么?怎么学?怎么保证效果?
- 在我总结的这套学习方法中,10000 小时定律提供了指导原则;海绵学习法解决了时间从哪里来的问题;三段分解法解决了学什么的问题;链式、环式和比较学习法解决了怎么学的问题,Play 和 Teach 学习法解决了怎么保证学习效果的问题。
- 学习方法是相辅相成的,你需要基于当前的级别和工作内容,把多个方法组合起来使用。