当前位置:C++技术网 > 资讯 > 自述内心深处的感想:2 深入精通学习和广泛学习了解的较量问题

自述内心深处的感想:2 深入精通学习和广泛学习了解的较量问题

更新时间:2016-04-08 23:15:48浏览次数:1+次

    在文章《自述内心深处的感想开篇:一定要有理想,没有理想和咸鱼有什么区别》里,我说了,因为一些迷茫,纠结太深,以至于像着了魔似的,然后就不知道该干什么了。因为涉及到好几个方面的,所以,搞得寸步难行。这才需要给自己一个合理的解释,让自己能够正确的处理,走出恶魔之地。
    本篇就说说我对于精通一门和广泛学习了解的问题。因为这个问题纠结了很久,也正是这个问题导致我压力很大。因为找工作那段时间,也确实被打击到了。最根本是被自己打击到,也就跟深入精通与广泛了解这个问题有关。在找工作的时候,可能是被拉勾网坑了,或者还没有到大量招聘的时候,一次次看似很合适的工作,却连面试的机会都没有。仔细审视自己的工作经历,简直有点五花八门的。数据库、数据恢复(文件系统)、图像处理,根本没法连续起来,而且我自己很清楚,我自己学了客户端开发、Web开发(业余时间做了C++技术网)。
    给我自己最深刻的想法就是,似乎啥都会,也能做点什么。不过,也就有这么一句,但凡哪些什么都会的人,也没有一个能够很精通,也就是什么也不会了。这一句话一直深深影响着我。甚至,我对此很恐惧,我怕我真的也什么也不会。所以,在扩展兴趣,总是有点犹豫。因为这意味着,知识面又在扩张,从而更加广,结果真的无法深入。
    在找工作的时候,我尝试过找一下Web看看我自己的水准,看看业余的Web开发水平怎么样了。因为C++技术网我是用asp.net做的,所以我就找这方面的web开发工作试。最后得到的结果是,还没有达到专业web开发水准,因为我不会微软的linq的使用,我没有学过。我也不会微软的MVC,因为嫌学这个很麻烦,所以自己参照这个模型自己写一个MVC网站框架,给C++技术网使用。
    说来说去,我也就是在做最原始的开发,基本不用微软的框架,甚至高级一点的数据结构都不用,必须要用的时候,就百度。面试的时候,面试官叫我看代码,基本就是业务代码和linq代码,也没有什么了。在本机配置了一个iis,我不知道怎么直接调试,然后更是让人否定,因为基本的调试都不会,我说我只会用VS直接调试代码。
    也就让我认识到,真正精通web并不是深入了解http协议,而是熟悉各种已有的框架和库,用的越熟练越好。因为很多时候,一些公司只是用来做业务,技术本身,只要能用熟知的库就好。而我的深入底层学习的方式,并不适合一些公司。因为没有大量时间投入这些库的学习,只是学了html+css+js+jquery+asp.net,基本技术而已,高级库基本都没有学过。所以作为web开发,我不是一个合格的开发者,自然还是业余的。这是我面试web的一个很强烈的印象。
    当然,做深入了,应该还是要深入底层的。所以,在Web方面,我还是业余。所以,相对于C++开发来说,我对于C++还是经验丰富些。虽然在行业没有连续性,但是基础技术还是有点积累的。所以,没有再找web工作尝试了。而工作的经验,因为不是行业连续的,三个工作,就三个领域,我没有坚持一个,所以学习不够深入,了解不够多。而现在工作的又是一个新行业。
    所以我一直都是一个不专业的。不过,我一直在Windows上开发,所以对于Windows才有所熟悉。这是我唯一连续的开发平台。
    后来,我在工作中,深深认识到,如果在一个行业深扎根,都会有不错的收获,或者至少在技术领域中有一个深扎根也好。然而我没有做到一个。或许我还在广泛学习,也还没有定下某一个领域深耕。
    有时候我也很想逼自己定下来一个领域,因为遵从要精不要广的原则,在不专一一个,就要废了。这样的声音一直在内心深处呼喊。结果也就让我压力很大,因为定不来,因为还在扩展。也就不能踏实深入一个的学习,所以心慌。
    那么应该如何应对呢?我觉得,很多时候,还是要顺其自然。强扭的瓜不甜。遵从内心的想法,如果坚持做某一个技术或者领域,如果是强迫的心理,没必要做。勉强自己坚持,也是很难成功的。既然现在还没有定下心来,也不用急着定下某一个领域。
    另外一个感受,如果想和世界级的大师一样,也不是只懂一个才行的。基本的知识面也是要有的。然后才是有一个深入研究的领域。精通是需要的。
    我说出我的想法,并不是让我的心理觉得舒服了,可以放纵了,可以颓废了。我只想细细分析我内心深处真正的需要和想法,顺从内心,然后做事都会有动力,也会有激情些。既然我现在无法定下来,那就先拿一个需要的正在用的领域的技术好好学习就好了。这是很多人的一个做法。如果你有坚持的方向,可以在业余时间花大量时间去研究,如果没有,那么不如花大量时间把正在用到的技术研究好。研究好了对于工作有很大的帮助,不会再蹩脚的应付工作,也可以借助工作的便利,在一个领域做的很深。在能够轻松应对工作的时候,可以再提高挑战,进入更有难度的工作,也会让自己在收入和能力两者有个很大的提高。也就是,如果暂不确定,就把工作中需要的技术,好好研究。反正觉得工作中用到的技术也是需要好好学习的,那就更是要学好了。
    精通是需要的,广泛也是需要的,互为补充。学到最后,真正重要的是学习能力了。当学习能力领悟能力越来越强的时候,精通某一个技术其实也不是什么难事,稍微多一点时间就可以了,甚至在一个星期的学习就可以抵上别人两三年的学习。这一点都不假。学习这个东西并不看时间,效率是很重要的。
    那么对我来说,如果真有感兴趣的一个技术,不妨花一个星期仔细研究一下,其实也不会是浪费时间。不过在研究的时候,依然要认真地研究,切不可走马观花,否则时间也花了,你还是不清不楚,这才真是浪费时间。
    不过长期来看,是需要精通一类技术的,或者精通一个平台,或者精通一个领域,反正精通是必须的。学艺不精的代价只会让自己花了精力花了时间也达不到自己的预期效果,也不会得到别人的认可,所以还是混不好。但是短期的话,没必要为精通和广泛这个问题而纠结,如果需要学一下其他的技术就好好学一下。学完了,了解了,回归主线学习。
    前面说了,我的工作经验和学习都是很广泛的,虽然在找工作的时候很辛苦,然而在现在的工作中,却是非常有用。现在用的技术有内核同步技术、异步IO(完成端口)、dll跨语言封装使用、数据库(mysql)、C#、WPF。后面还要做一下Web。如果你想一个人这些都会,还真是不太容易找。而我还都会。实际上,在工作中,很多时候需要广泛一点,特别是中小的公司。在这些公司,你会的多一些,往往都具备很多优势。你要是会PS,在公司都有用的上的。更不用说其他技术相关的。不需要这些都精通,基本熟悉,基本的东西能做就行了。这也就是广泛的用处,否则你只会一个,就感觉能力很单一,竞争力也比别人弱一些。当然,你也有一个强项主业。精通一个然后很多都懂,绝对很受欢迎。
    所以,在需要的时候,好好学习一下其他方面的知识,也是很好的。有一个主线的学习路线,让你始终知道你的精通路线。清晰的知道这两者的关系,不会让你迷失在精通和广泛的漩涡之中。其实也有很多人把握不清楚精通和广泛的区别,说起来好像自己啥也不会,再想想也好像自己有那么一个强项,但也不是很强。这样的尴尬,只是说明,你的水平还没有达到很高的地步,需要继续学习。加强主业学习,需要的时候学点副业。
    说了这么多,应该理清一下我的主业和副业,好让我继续努力,不再迷失。主业还是C++和Windows系统+网络。副业有网站开发(asp.net)。当然围绕两个展开的各种技术还是要加深学习的。至于linux,则看需要了。需要就学,不需要然后当做副业学习吧。
    不过说到这里,又中了“Windows是否还有前途”的魔障,后面再说这个。其实这里就是给自己明确一下学习的方向,不再为这个迷茫了。这样没走一步,学完一个,都知道下一个该学什么,该做什么。