昨天读了池老师的文章《非 CS 专业如何进入互联网领域》,颇有感触。
感触最深的应该是第二点与第三点了。非 CS 专业,歪打正着进入软件开发行业。由于性格原因,不喜欢直接动手,而是想着把所谓的基础知识补好再去动手。所以第二点走了很长一段弯路。
第二点说的是先动手快速学会基本技能,获取第一手的感性认知。为什么要快速通过这个阶段,因为这些都是跨入门槛的基础啊!有了这些基础,才有可能进一步往上走,往深处挖。虽然这些看起来出一些琐碎的小事杂事,但是如果玩的不溜,会影响工作效率。而正因为是一些小事杂事,所以才需要通过大量练习,在短时间内掌握。
现在想来,其实何止换行业是这样,不如一个新的领域,学习一门新的知识,也是如此。比如我计划学习 HTTP/2 协议,那么我选择先搭建一个支持 HTTP/2 协议的服务器,在这个基础上,就可以试验各种机制。如果抽象的说明难以理解,就可以通过直观的感性模型来辅助。先构建原型,再通过迭代进行深挖。
在很多技术领域,都有推与拉两种模型。我想在我们学习的方式上,也存在推与拉这两种形态。“推”是顺序驱动,这也许是我们最为熟悉的一种模式。先学习,后考试,按部就班,逐步深入。而“拉”模式,就是“倒逼”。设定目标,或者激发兴趣,主动(也可能是被动)去学习和探索。
我认为“推”与“拉”两种学习模式,是一直存在在我们的学习、工作和生活中。它们构成了我们学习的两翼。二者分别是坐标轴的横轴和纵轴,而我们学习的轨迹是坐标轴上的一条曲线,每一个局部片段都可以分解为横纵两个方向的向量。横着不行,就纵着来,反之亦然。
“循序渐进”是教育的不二法则,大体来说,都是由浅入深,由易到难。但是在局部,是可以推拉并行的,这与“循序渐进”并不矛盾。
理论知识与实践的关系,也是如此。从来没有什么一蹴而就的事情。我们可以先花较短的时间观其大略,然后通过动手实践,进行深挖,逐步提升自己的技能。实践中遇到难以理解的就是看理论,理论上有困惑就去实际验证一下。
网友评论