image.png

不知道你是不是也有这样的感受:光是上班累得要死,还要陪对象吃饭逛街看电影,或者送孩子去上培训班,根本就没什么时间学习;等到哪天好不容易有点空余时间,又因为没有计划,只能随便找本书或者上网水水论坛看看;就算知道要针对某个技能专门提升一下,也不知道怎么学才能达到精通水平;过段时间回头一看,前几周学的东西又忘得差不多了;跟别人交流一下子就暴露了水平……

指导原则和关键问题

我认为一套系统的学习方法,既需要一个统领全局的宏观指导原则,让人能够一目了然地理解它的核心内容,同时也要能够回答以下四个关键问题:

  1. 时间从哪里来?如果没有足够的时间投入,再好的理论也只是纸上谈兵。
  2. 学什么?找到正确的学习方向,明确了学习的目标,才能做到有的放矢。
  3. 怎么学?不同的学习目的应该有不同的学习方法,保证学习的投入产出比。
  4. 怎么保证学习效果?如何解决“学了用不上,学了就忘”两个常见影响学习效果的问题。

image.png

指导原则:10000 小时定律

如果你想要在专业领域不断提升自己的能力,必须投入足够的时间。

找时间:海绵学习法

10000 小时可不短,相当于平均每天 3 小时,持续 10 年时间。

学什么:三段分解法

三段分解法是我原创的制定学习目标和计划的方法,它基于职业等级体系,将 10000 小时逐级分解,最终落实到可以实施的各项学习行动。

怎么学:链式 & 环式 & 比较学习法

  • 链式学习法适合提升技术深度,通过自顶向下逐步深入的方式,将关联技术逐一掌握。
  • 比较学习法适合提升技术宽度,通过比较相似的知识或者技能,全面掌握单个领域的技术。
  • 环式学习法适合提升技术广度,通过学习业务闭环流程中相关技术,全面掌握多个领域的技术。

保证效果:Play 学习法、Teach 学习法

  • 第一个常见困难是,如果平时不学,真正要用的时候又来不及临时学;但如果平时学了,可能要等很久才能在工作找到的实践机会,到时候技术可能都生疏了。
  • 第二个常见的困难是,学完之后感觉学得不深,跟别人讨论的时候,或者在晋升答辩环节被问到的时候,就发现很多东西明明学过,却说不出个所以然来。

针对这两个常见影响学习效果的问题,我通过学习和实践,归纳提炼出如下两种学习方法:

  • Play 学习法可以用来解决工作中暂时没有实践机会的问题,学以致“玩”,通过“玩耍”的方式来应用。
  • Teach 学习法可以用来解决学得不深的问题,教学相长,通过“教学”的方式来加深理解。

组合使用

最后,我还想补充一点,这些学习方法是相辅相成的,你可以根据你当前的级别和实际工作内容,把它们组合起来使用,具体的方式如下:

  1. 无论你当前是什么级别,先用“三段分解法”来规划你的学习目标和计划。
  2. 使用“海绵学习法”来找到你可以用于学习的时间。
  3. 据学习目标采取相应的学习方法。

例子:

  • 如果你是 Java 后端 P5/P6/P7 级别,你的技术提升以技术深度为主,你可以采取“链式学习法”来学习 MySQL 以提升技术深度;
  • 如果你是 P7/P8 级别,除了技术深度外,还需要提升技术宽度,你可以采取“比较学习法”来学习 PostgreSQL、MongoDB 和 Elasticsearch 等存储系统;
  • 如果你是 P8/P9 级别,你可以采用“环式学习法”来学习跨领域的技能,比如学习 vue、小程序和人工智能等业务闭环流程涉及的技术领域。

image.png

  1. 采用“Play & Teach 学习法”来加强效果。

小结

  1. 一套系统的学习方法,既需要一个总的指导原则,也需要回答 4 个关键问题:时间从哪里来?学什么?怎么学?怎么保证效果?
  2. 在我总结的这套学习方法中,10000 小时定律提供了指导原则;海绵学习法解决了时间从哪里来的问题;三段分解法解决了学什么的问题;链式、环式和比较学习法解决了怎么学的问题,Play 和 Teach 学习法解决了怎么保证学习效果的问题。
  3. 学习方法是相辅相成的,你需要基于当前的级别和工作内容,把多个方法组合起来使用。