怎样学习一项新的技能

我本身是iOS开发工程师,最近应公司要求,需要学习前端开发技术,趁着周末总结一下这段时间的学习过程。

在小学学加减法的时候,老师通常会先让我们明白:什么是加法呀、什么是减法呀,然后会写几个简单的例子让我们看看,1+1它等于2,2-1它等于1,为什么呢?因为一根手指跟另一根手指凑一块,加起来有2个手指;这里有2个苹果,拿走了一个,就剩下一个了。当我们掌握加减法它的计算规则之后,老师就会给类似的加减法题让我们去练习,从1位数的加减一步一步到多位数的加减,经过不断的练习之后,我们就可以完全掌握这个加减法了。

对于学习一项新技能的过程,我把它给简化为3个阶段:

1
2
3
1. 建立概念,理解这到底是个什么东西。
2. 学习实例,掌握它是以一个怎样的规则进行的。
3. 参与实践,从简单到复杂一步步完全掌握这项技能。

《异类》的作者格拉德威尔提出个理论叫一万小时理论,一万小时的有效实践可以让一个菜鸟蜕变成一位大神。所以对于一项技能,从上手到精通,是需要经过一个漫长的实践过程的,需要从实践中一步一步形成自己解决问题的方法论,在以后遇到问题时就能快速解决。

这也是为什么大部分公司的招聘标准里面有工作年限这个要求吧,尤其是大公司,没个3年的工作经验它把你直接Pass掉。但其实很多人即使他工作了个3、5年,能力依然停留在当初参加工作时1、2年的工作水平。

我觉得机器学习的基本思想也类似这样,比如自动驾驶,首先需要建立一个数学模型去处理汽车自动驾驶这个问题,一开始建立的数学模型是很粗糙、有很大误差的,那怎么去解决这些问题呢?答案就是通过大量的训练。在大量的训练过程中,会遇到各种各样的问题,为了解决遇到的问题,就需要不断调整当初建立的数学模型,从而找到问题的最优解。

对于一项新的技能,上手不难,难的是把它精通。而精通的过程是很漫长的,需要好好把心沉下来一步一步往前走。在这日新月异的互联网时代,单凭一项技能是很难在互联网行业长久发展的,需要让自己不断成长、不断学习,共勉!