"为什么一本书,都读懂了,水平还没有明显的提高,这可是一本行业标杆书呀!"这应该是很多人的疑惑。
是我理解力不够么?一定是我的问题。于是对一本”行业标杆“类书籍,花上好几个月反复研读,慢慢对技术失去了信心,觉得自己天赋有限不适合吃这碗饭。安心做一个代码机器挺好的。殊不知是策略出了问题。就像几天前一个博士毕业的父亲,逼女儿学高等数学一样,在一个难度很高的问题上面,不先分析可执行路径,而想用一腔热血达成一个不可企及的目标。
这种方法是不对的,磨灭激情,浪费时间。
我们不妨来想一个问题,书,尤其是技术类书,是一个什么角色?
我分享一下自己在各个阶段对这个问题的理解,希望可以给你一点一件。
刚进入社会阶段,那会觉得看源码的人是大牛,认为看书是不入流的行为。为了快速变成大牛,我从源码看起。
看了一阵子之后,经常在源码里迷失,盲目得层层debug,不知道全局设计,不知道作者的意图,也不知道这种设计带来的优点是什么,只是隐隐约约感觉我好像懂了,因为我知道”这个函数是那个函数调用的“。
其实做技术的人,最可怕的就是,”不懂装懂“,这是一种很奇妙的感觉,自己看了,也觉得自己懂了,就是说不上来,有时候甚至不知道自己是这种状态。
我当时就是这种状态。
这个阶段,我开始意识到,书应该是目录,是指南针,它给了你一个全局视野,一张副本地图
于是,我开始在看源码之前,先看此类框架介绍的书籍,再看源码,迷路之后,再看书定位自己,再看源码,循环往复,知道自己要做什么,在做什么,处于什么位置。就好像拿着地图和指南针,拨开迷雾,在森林里前进。这也是我第一次感觉到看书的快感。
慢慢的,又发现了第二个问题,即便是很权威的书籍,看完之后,疑问也没有完全被解决,甚至有的书越看感觉越疑惑,这时候我开始思考,一本书是如何产生的,因为什么目的产生。
一本书,首先是由作者吃透一个领域的知识,然后完整的表达输出出来,找到出版社商议出版,这其中可能该作者对领域知识掌握的偏向性导致他这本书,只在某个知识点讲的非常好,而在其他的知识点可能讲的浮于表面,但是又为了凑字数只能搬一些段子车轱辘话,来让书籍达到发版的字数要求。
是我之前对一本书籍的期望过高了,以为一本领域内的权威书籍,应该一本书能解惑所有问题。
我开始意识到,书应该是有,定位的,就像人一样,各有所长。
有的书重在实践,能完整写完一个demo,它是幼儿老师。
有的书重设计,能对这个框架的设计思想有一个了解,让你具有上帝视角。
有的书重细节,能带着你去部分阅读源码,让你在某些特定问题掌握独孤九剑。
于是这个阶段,我开始先制定学习目标,然后一次性选多个书籍,先看评论和目录对书籍做大概的定位,各取所长,先挑一本书从头看到尾,其余的不从头看到尾。
提出问题-》被解答 -》提出问题 -》被解答,循环往复的过程。
这个过程就是一个不断自己提问,找不同的老师解答的过程。
过一阵子,又发现了第三个问题,看书的过程中我开始越来越痴迷与理论,忽略实践落地,说白一点,就是一张口什么都会,一动手手足无措。
反思自己在看书的过程中的一些心路历程,在阅读一些高深书籍时,会暗自钦佩作者的理解的深度,阅读一些入门级书籍时会对作者贴出大段操作代码的行为嗤之以鼻,暗自嘀咕,这种水平的人也能写书。
就像看待不同人,那么多老师,你当然对最厉害的老师高看一眼会愿意多跟他交流,对入门级别老师,就觉得可有可无,潜意识忽略人家。
这个心态是潜移默化的,没办法,这就是人性,好高骛远,欺软怕硬。
我琢磨怎么改变这一现状。开始制定以落地为导向的学习计划,什么时候开始和结束一门技术的学习,即落地一个产品化项目,对理论的理解的程度。
开始,硬着头看了一点”入门“书籍,感觉发现了新大陆,因为实践层面的知识跟理论真不一样的。简单说,一个是计算机工程学,一个是计算机科学。
这些入门级书籍,考虑的问题是生么样的技术栈组合最能节省时间,和扩展性,如何快速提升效率,解决各种问题的效率,有时候的手段甚至很可笑。
比如,有些机器学习的入门级书籍会直接推崇你用java语言,没其他原因,因为java什么都有,你什么中间件都可以找得到现成的版本。
非常有趣味性。
这时候,我想书本应该划分为俩个类别,一类教你用机器,一类教你造机器,俩者属于互相递进的关系,二者属于不同研究方向,并无高低贵贱。
所以在学习新知识的时候,得有一个具体的落地目标,然后再学习理论,二者互相递进,可操作性,和趣味性更强一点。
后面,看的资料越来越杂,越来越前沿的技术,有时候甚至没有了现成可阅读的现成书籍了,这个道理其实也说得通,写一本书,是需要时间的,写书的这个时间可能技术已经发展了好几代,通过看书来学习,时效性是要打折扣的。
于是我开始看一些论文,因为一般一个技术的生命周期,首先论证性论文,多次论证,然后开始落地,所以一个新技术的生命周期,往往是,论证论文1,论证论文2,论证论文3,定稿论文,落地论文,最后由大公司开始根据论文来落地实现框架。很多时候,前沿的技术,除了一篇论文。其他什么都没有。
论文的严谨性,导致他的趣味性几乎没有,看论文的过程中,还需要保证论文需要的前提条件,比如对某几个领域或者技术有基础,这时候如果发现自己不满足,暂停一下,回去补课,一般来说,资料在论文下面的应用文件都是可以找得到的,一篇论文看十天半个月也不是奇怪事。
这阶段,我也琢磨出自己论文阅读的趣味性套路,把一份论文,分成俩部分,实践部分,和理论部分。
一份资料分俩次看,第一次先完成实践,第二次对具体的理论做具体研究。
未完待续,我还在进化。