对于前端基础须要学习哪些内容,以前文章已经有写过很多了,本篇重在谈论:前端
做为一名前端想要晋升,须要什么条件?
如今在用 React,要不要也学学 Vue?
有必要学习 Node.js/Flutter/ 函数式吗?
这几个问题看似毫无关联,可是其实它们本质上都是同一个问题,这个问题就是“一个前端工程师到底须要掌握哪些技能?”编程
其实在行业里面,对前端工程师的能力模型有一个基本的认知,不一样公司的定义可能有细微差异,可是它的内核是一致的。性能优化
这里我给出一张图,是我本身理解的前端工程师的技能模型。前端工程师
为了方便你理解,我把这些技能具体放进前端工程师的不一样级别里,你能够对照着找到一条符合本身实际状况的前端进阶之路。下面我就一部分一部分地详细讲讲前端技能树是如何发展的。架构
在这里小编建了一个前端学习交流扣扣群:132667127,我本身整理的最新的前端资料和高级开发教程,若是有想须要的,能够加群一块儿学习交流框架
助理工程师编程语言
首先来讲说 助理前端工程师,对标的是阿里的 P4 级别。它的要求是基本的编程能力。什么叫基本的编程能力呢?我认为就是熟练地用计算机编程语言表达任何逻辑的能力。通常来讲,在大学学习过计算机专业的学生应该具有编程能力。函数
助理工程师的定义是“可以在辅助下完成工做”,所以不是全部公司都会招聘助理工程师的,由于严格来讲,助理工程师不具有独立工做的能力,他的工做产出多是负数。可是招聘助理工程师的公司,通常都是看重应聘人的潜力,指望能快速成长。工具
工程师组件化
接下来咱们说说 前端工程师,对标阿里 P5 级别。它的要求是掌握基本的前端技能,这样说也许有点模糊,可是换个说法就很明白了,基本前端技能就是“综合运用 HTML、JavaScript、CSS 完成任何界面和交互需求”。这个“任何界面和交互需求”,看似要求很高,可是若是你写过前端就知道,这是任何前端的基本技能——大不了用图片呗。
其实这个级别的工程师,水平跨度很是大,界面写出来了,可是兼容性如何、代码可维护性如何、离了框架能不能写出来、语义表现分离能作到吗、开发过程当中能不能作到有效沟通...... 还会有不少问题。而这些问题,决定了一个前端工程师的潜力,一些好一点的公司招聘这个级别的工程师,除了“基本的前端技能”以外,还会对我上面提到的这些问题有所要求。
关于助理前端工程师和前端工程师,能力方面主要的要求是 编程能力,知识方面的要求是一个“可用”的最小集合。
资深工程师
咱们接着往下讲,资深前端工程师,对标阿里 P6 级别。到了这个阶段,咱们能够看到图上开始出现不一样的区块了,这意味着,对资深前端工程师的要求,也是多元化的。
咱们用一句话来归纳,资深前端工程师,要求开始关注而且解决项目中的问题。什么样的问题呢?多是别人作不出来的技术难题,也多是容易出错的代码,或者说无心义的重复劳动,或者是业务上想不出来合适的交互…… 等等。
其实对资深前端工程师的要求是很自由的,我上面的图中给出的仅仅是几个例子,好比组件化能够解决重复劳动问题和开发耦合问题;工具能够解决的问题有不少,生成代码的工具提升效率,代码检查工具提升质量;性能优化则会带来业务价值,这些都是资深前端工程师能够作的事情,而且只要把其中一两项作好,就能够达到资深前端工程师的水平。
再有就是 这个级别开始对架构能力和工程能力有所要求了,但还处于萌芽阶段,一些天赋好的同窗能够凭感受达到这个水平。
技术专家
下面说说 前端专家,对标阿里 P7 级别。到了这个级别,咱们从图上能够看到,要求又不同了,好比组件变成了组件体系,工具变成了工具链和持续集成体系,性能优化变成了性能体系。这些东西变得不只仅是称呼,还有工做的内容,这个级别跟资深工程师的主要区别是,从解决单点问题变成系统性方法,从服务本身变成服务团队,从一次性发挥变成持续性输出。
好比,资深工程师可能作一些组件,而后在项目里面用,本身的代码可维护性提高了,复用也作得更好了。可是前端专家要考虑制定组件规范推广到团队,还要作培训,考虑组件如何开发、管理和下线。资深工程师作性能,把本身的页面优化好了就能够了,可是前端专家就须要考虑采集数据、作报表和监控、总结 checklist、跟工具结合、定性能指标等等。
因为这个级别对架构能力、工程和软技能要求很高,因此算是比较难以跨越的。
高级技术专家
最后来讲 高级前端专家,对标阿里的 P8 级别。咱们从图上看,这个级别分开的发展方向又聚合到了一块儿。高级前端专家作事的关键是审时度势,须要在前面讲的前端专家所掌握的各个领域里,组合出一套适合本身所在团队的方案。好比作企业内部系统的前端团队,可能对性能要求就没那么高,但电商前端团队由于运营活动频繁,就须要很好的组件体系,这里很难有必定的规则,全靠人来把握。
到这个级别,对工程能力的要求就很高了,并且即便不带人的高级前端专家,也一定涉及一些管理能力。
高级技术专家
讲完了各个级别的前端技能模型,咱们回到最开始的问题“一个前端工程师到底须要掌握哪些技能”。
要回答这个问题,你要先根据本身的状况对号入座。你能够看到,在前端的技能模型里,对“知识”是没有任何硬性要求的,具体到各个公司的不一样岗位,可能会有一些特殊要求,但市场是巨大的,因此你们能够没必要对学什么知识不学什么知识感到那么焦虑。并且“前端知识”应该是一个垂直的模块,它不能直接帮助你进阶下一个更高的级别,可是它能提高你的潜力,使你将来能走得更远。
如今大部分同窗会更为注重前端岗位的晋升,我认为前端进阶的核心要素,更多仍是要看你的能力,尤为是在进阶前端高级工程师之路上,很是看中你的编程能力、架构能力和工程能力。