在对比中学习更高效

489 阅读4分钟

image.png

有关于知识的广度和深度谁更重要的话题一直讨论不休,有很多过来人也给我一些建议,告诉我应该先专注于一门语言和相关知识,当你达到一定深度的时候再去学习其他语言和知识。

专注未必是对的

我想说,在大部分情况下,专注是对的,但是不适用于编程语言的学习。我的观点是这样的:

  • 计算机是一个体系,本身就具有复杂的分支结构。同时它不是自然科学,它会随着人类的思想和思考的进步而发生一些变化。一门计算机语言只是对其中的一些思考的具体体现,如果你只专注一门语言,你可能会觉得计算机就是这么运行的,那就走上了歧途,写出一些不易维护的代码出来也是有可能的。不同语言是对计算机的不同思考和理解,新兴语言也是对计算机的新的理解和发展,如果我们都不去了解,那我们就会因为局限而局限。

  • 什么是专注也是值得讨论的,专注不代表局限。比如我们要专注于前端,那么我们应该先理解什么是前端。三大件是不是前端,前端又是不是只是浏览器,原生app是不是前端,pc客户端是不是前端,或许这是我们所谓的大前端的范畴了。所以前端的定义也是在一直变化的,其他语言的知识栈也是一样的。要专注于前端,成为合格的优秀的前端,要不要学习网络,安全,操作系统这些,这些同时也脱离了前端,所以专注=广猎,这其实也没错。

  • 成长本身就是一个螺旋上升的过程,我们要给自己一个能够看山是山到看山不是山最后看山又是山的过程。不能转牛角尖。有很多知识是串通的,在一个语言内很难解释的知识点可能了解过其他语言很容易理解。广泛的了解其他系统,也许会让我们更好的了解自己原本的知识栈。

定位

在国外的一些大厂,招聘的时候也许不会区分你到底是什么工种,只会按照软件工程师来招聘。

我曾经看到过这样一句话,后来去了解了,确实会有这种现象。当面视出现这种情况的时候,就是最考验一个软件工程师综合能力的时候。

往往区分一个人是工程师还是码农,用这种方法就可以了。工程师是可以解决工程问题的,他不是局限在某个小角落里面的,他遇到问题是需要知其所以的。如果你只知道写一个标签,页面上就出现一个框框,加一些style,就会呈现出一些色彩,这样的情况下,你就永远只能写标签了,倒也不是说这样有什么不好,只是,这样你就只能寄希望于屏幕或者说浏览器这种东西会永远存在。

再说的现实一点,如果某天互联网的逻辑变了,不是以浏览器为主要载体了,那你去学习新的知识可能会比较不那么轻松。但是作为工程师,你拥有足够的知识储备,就会轻易的理解那些听起来很拗口的概念,快速上手。

我曾经也觉得何处不页面,何处没有写页面的需求,做一个切图仔不也很好。

专注的点

综合来说,我觉得我以前的专注点错了。不是专注于成为一名前端工程师或者好的前端工程师。而是成为一名合格的软件工程师,然后自己才有可能成为一名漫画家,一名计算机视图专家。

我关注了很多大牛,我也一直在思考他们之所以是他们的原因。我发现一个问题,我以为他们只会音视频,计算机视觉,大数据。后来才知道,web开发(包括app在内),对他们来说真的是指基础,他们往往会轻易的使用web或者自研一款app来展示自己的成果。

所以我觉得有时候,是自己没下定决心去专注于计算机或者软件行业。想法太多,以至于学艺不精,又因为此而苦于奔命。

底气

现在很多公司在裁员,造成一定的恐慌情绪。在这种情况下,不如考虑清楚在入行,如果想转行,我也会按照同样的逻辑去考虑,这些决定了一个行业能够容纳我走多远而不被淘汰掉。

讨论了这么多,其实就为了说明一点:广度和深度谁优先,是一个伪话题,是一种逃避思想下的产物。

如果想要脚踏实地的成长,就要在广度中获得深度。