首先,基础和框架的学习是互斥的吗?带着这个问题,我们去找寻答案。

相信这个问题不是第一次提出,当然也绝非是最后一次。大家驳来驳去,你来我往,很是热闹。如果把这个时间拿来学习,肯定要比纠结这问题的结果要好很多很多。

不怕惹麻烦的我想在这个问题上再提个问题:学习什么和解决问题哪个更好?很显然,我是认可解决问题的

每个人的情况不同,看到问题的方式自然也不同。那为何还要在同一条道路上整个你死我活呢

1.你能确定每个人身处环境都一样?或者说对技术学习或研发的热爱程度都很高?

首先,基本每个程序员都有一个技术大神的梦想,这点大家心里都明白。

每每看到 javascript 之父,java 之父,xx 之父,大家都羡慕不已,有着技术梦想的人都向着这条道路去发展了,比如我们熟知的 Vue 的创造者尤雨溪,这类人想着去改变世界,改变工作方式,工作效率,当然也有可能是自己的爱好。

还有是对技术有着追求的人,对技术始终保持着热爱,有技术新框架都是第一时间去把玩,他们在工作中对自己的代码有着严格的要求,他们想写出更好,更酷,更实用的代码,所以他们会不停的去追问底层和基础的东西。

然而,大多数人都只是在业务的流水线上忙碌着,如果要说和工厂的流水线有什么区别的话,那就是:钱多,话少,死得早

2.都只是解决问题的工具而已

不管是基础也好,还是框架也罢,它们都是解决问题的工具,解决问题的工具有好坏之分吗?

有,肯定有好坏之分,但是好与坏肯定是相对的,而且是有场景的,脱离了场景都是耍流氓!

就拿前端开发 WEB 来说,我们能拿原生 JS 去开发一个页面吗?大家为什么从jquery 过渡到 MVVM 框架模式开发项目,我想这个每个人都深有体会。

不说别的,每个项目里面都会有表单的操作,以前是吭哧吭哧操作了一通全是bug!为什么?因为既要专注 View 层,又要关注 Model 层,少了任何的一小步都会导致问题,至少在使用框架之后我们只需要关注 Model 的操作。

这会给我们的生产率带来了极大的提升,提升的时间用在哪里?

  • 一部分人刷短视频、玩游戏、逛电商,选择了娱乐自己,那又何必为选择哪个学习而烦恼呢?
  • 不刷刷短视频、玩游戏、逛电商的同学怎么办?框架给你带来生产率,节省了你的时间,怎么办?时间怎么利用,这个不就是你想做什么做什么的时候了吗?至于你学基础还是框架随你便啊,我给你的建议就是根据公司的核心业务来学习技术(除非你另有更宏远的计划)

技术只是有些人的跳板

为什么根据公司的业务来?因为你的工作的重点都应该放在公司的核心业务上, 不然你学的东西不能给公司带来价值,要你何用?等着被裁员吗?

当我们解决了公司核心业务的问题之后,给公司带来价值,升值加薪是必然,有些人选择继续在技术上深造,这个肯定很支持,但也有人从此会踏上了管理岗位,所以学什么真的认真考虑自身情况和自己喜欢的方向,而不是盲目的看到别人说学习框架就学习,基础重要就三天不睡觉的学习基础。

人人都说 35 岁时程序员的发展瓶颈,有考虑过为什么吗? 因为没有核心竞争力啊,我们除了技术思维以外,是不是也要注重其他的一些思维的培养,我这里绝对不是反驳那些想在技术上面深造的大神。只不过每个阶段每个人的追求是不同的,一定要根据自身特点来综合考量。

最后想说的几点建议

  • 有时间考虑学什么,不如考虑怎么提高生产率,这样你的收益是加倍的(学以致用);
  • 不要盲目的看那些大神的经验,一定要结合自己身情况考量分析,条件,基础,环境都是不一样的(具体问题具体分析);
  • 一切没有场景的观点都是耍流氓(实事求是);
  • 根据公司的核心指标,定制自己的工作目标,自我价值更加容易实现(寻找成就感);
  • 有新的东西不去尝试提高效率,反而用旧的工具与框架,害的是你自己,因为你的工作的价值并不能体现(与时俱进);
  • 设计模式你得懂,了解设计思想(屡试不爽);
  • 提高代码的质量比什么都重要,而不是花大量的时间和精力去找错误和打补丁(打蛇打七寸);