一个前端工程师到底需要掌握哪些技能?

作为一名前端想要晋升,需要什么条件?

现在在用 React,要不要也学学 Vue?

有必要学习 Node.js/Flutter/ 函数式吗?

这几个问题看似毫无关联,但是其实它们本质上都是同一个问题,这个问题就是“一个前端工程师到底需要掌握哪些技能?”

其实在行业里面,对前端工程师的能力模型有一个基本的认知,不同公司的定义可能有细微差别,但是它的内核是一致的。

这里我给出一张图,是我自己理解的前端工程师的技能模型。

为了方便你理解,我把这些技能具体放进前端工程师的不同级别里,你可以对照着找到一条符合自己实际情况的前端进阶之路。下面我就一部分一部分地详细讲讲前端技能树是如何发展的。

助理工程师
首先来说说 助理前端工程师,对标的是阿里的 P4 级别。它的要求是基本的编程能力。什么叫基本的编程能力呢?我认为就是熟练地用计算机编程语言表达任何逻辑的能力。一般来说,在大学学习过计算机专业的学生应该具备编程能力。

助理工程师的定义是“能够在辅助下完成工作”,因此不是所有公司都会招聘助理工程师的,因为严格来说,助理工程师不具备独立工作的能力,他的工作产出可能是负数。但是招聘助理工程师的公司,一般都是看重应聘人的潜力,期望能快速成长。

工程师
接下来我们说说 前端工程师,对标阿里 P5 级别。它的要求是掌握基本的前端技能,这样说也许有点模糊,但是换个说法就很明白了,基本前端技能就是“综合运用 HTML、JavaScript、CSS 完成任何界面和交互需求”。这个“任何界面和交互需求”,看似要求很高,但是如果你写过前端就知道,这是任何前端的基本技能——大不了用图片呗。

其实这个级别的工程师,水平跨度非常大,界面写出来了,但是兼容性如何、代码可维护性如何、离了框架能不能写出来、语义表现分离能做到吗、开发过程中能不能做到有效沟通...... 还会有很多问题。而这些问题,决定了一个前端工程师的潜力,一些好一点的公司招聘这个级别的工程师,除了“基本的前端技能”之外,还会对我上面提到的这些问题有所要求。
在这里小编建了一个前端学习交流扣扣群:132667127,我自己整理的最新的前端资料和高级开发教程,如果有想需要的,可以加群一起学习交流

关于助理前端工程师和前端工程师,能力方面主要的要求是 编程能力,知识方面的要求是一个“可用”的最小集合。

资深工程师
我们接着往下讲,资深前端工程师,对标阿里 P6 级别。到了这个阶段,我们可以看到图上开始出现不同的区块了,这意味着,对资深前端工程师的要求,也是多元化的。

我们用一句话来概括,资深前端工程师,要求开始关注并且解决项目中的问题。什么样的问题呢?可能是别人做不出来的技术难题,也可能是容易出错的代码,或者说无意义的重复劳动,或者是业务上想不出来合适的交互…… 等等。

其实对资深前端工程师的要求是很自由的,我上面的图中给出的仅仅是几个例子,比如组件化可以解决重复劳动问题和开发耦合问题;工具可以解决的问题有很多,生成代码的工具提高效率,代码检查工具提高质量;性能优化则会带来业务价值,这些都是资深前端工程师可以做的事情,并且只要把其中一两项做好,就可以达到资深前端工程师的水平。

再有就是 这个级别开始对架构能力和工程能力有所要求了,但还处于萌芽阶段,一些天赋好的同学可以凭感觉达到这个水平。

技术专家
下面说说 前端专家,对标阿里 P7 级别。到了这个级别,我们从图上可以看到,要求又不一样了,比如组件变成了组件体系,工具变成了工具链和持续集成体系,性能优化变成了性能体系。这些东西变得不仅仅是称呼,还有工作的内容,这个级别跟资深工程师的主要区别是,从解决单点问题变成系统性方法,从服务自己变成服务团队,从一次性发挥变成持续性输出。

比如,资深工程师可能做一些组件,然后在项目里面用,自己的代码可维护性提升了,复用也做得更好了。但是前端专家要考虑制定组件规范推广到团队,还要做培训,考虑组件如何开发、管理和下线。资深工程师做性能,把自己的页面优化好了就可以了,但是前端专家就需要考虑采集数据、做报表和监控、总结 checklist、跟工具结合、定性能指标等等。

由于这个级别对架构能力、工程和软技能要求很高,所以算是比较难以跨越的。

高级技术专家
最后来说 高级前端专家,对标阿里的 P8 级别。我们从图上看,这个级别分开的发展方向又聚合到了一起。高级前端专家做事的关键是审时度势,需要在前面讲的前端专家所掌握的各个领域里,组合出一套适合自己所在团队的方案。比如做企业内部系统的前端团队,可能对性能要求就没那么高,但电商前端团队因为运营活动频繁,就需要很好的组件体系,这里很难有一定的规则,全靠人来把握。

到这个级别,对工程能力的要求就很高了,而且即使不带人的高级前端专家,也必定涉及一些管理能力。

前端进阶的核心要素
讲完了各个级别的前端技能模型,我们回到最开始的问题“一个前端工程师到底需要掌握哪些技能”。

要回答这个问题,你要先根据自己的情况对号入座。你可以看到,在前端的技能模型里,对“知识”是没有任何硬性要求的,具体到各个公司的不同岗位,可能会有一些特殊要求,但市场是巨大的,所以大家可以不必对学什么知识不学什么知识感到那么焦虑。而且“前端知识”应该是一个垂直的模块,它不能直接帮助你进阶下一个更高的级别,但是它能提升你的潜力,使你未来能走得更远。

现在大部分同学会更为注重前端岗位的晋升,我认为前端进阶的核心要素,更多还是要看你的能力,尤其是在进阶前端高级工程师之路上,非常看中你的编程能力、架构能力和工程能力。

原文地址:https://blog.51cto.com/14447253/2420146

时间: 2024-10-08 15:21:56

一个前端工程师到底需要掌握哪些技能?的相关文章

一个web前端工程师到底需要掌握哪些技能?有何晋升?

对于前端基础需要学习哪些内容,之前文章已经有写过不少了,本篇重在谈论: 作为一名前端想要晋升,需要什么条件?现在在用 React,要不要也学学 Vue?有必要学习 Node.js/Flutter/ 函数式吗?这几个问题看似毫无关联,但是其实它们本质上都是同一个问题,这个问题就是"一个前端工程师到底需要掌握哪些技能?" 其实在行业里面,对前端工程师的能力模型有一个基本的认知,不同公司的定义可能有细微差别,但是它的内核是一致的. 这里我给出一张图,是我自己理解的前端工程师的技能模型. 为了

作为一个合格的Web前端工程师,需要具备哪些技能呢?

那么作为一个合格的Web前端工程师,需要具备哪些技能呢? HTML5 HTML是超级文本标记语言,是为"网页创建和其他可在网页浏览器中看到的信息"设计的语言.HTML5是由万维网发布的最新的语言规范,是开放的Web网络平台的奠基石,所以做Web前端,精通HTML5是必须要掌握的一项技能. CSS3 CSS即层叠样式表. 在网页制作时采用层叠样式表技术,可以有效地对页面的布局.字体.颜色.背景和其它效果实现更加精确的控制. 只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,

作为一个前端工程师,CSS是最基本的入门课,你都能做出来吗?

CSS在很多程序员看来那只不过是雕虫小技, 实际上CSS3发展到今天已经强大到超乎你的想象, 当然对于低端浏览器使用者来说,还是以前那样——囧 有时候搞CSS开发确实需要很多想象力,下面一组纯CSS3特效足以描述这一点 以下内容转载自[http://design.yesky.com/show/466/11497966_3.shtml] 设计欣赏:纯CSS3「绘制」的图形图标 IE 标志 作者: Andreas Jacob 在 Firefox 3.6+ 以及Safari 5 上显示最佳.使用了圆角

一个前端工程师眼里的NodeJS

JavaScript单线程的误解 在我接触JavaScript(无论浏览器还是NodeJS)的时间里,总是遇到有朋友有多线程的需求.而在NodeJS方面,有朋友甚至直接说到,NodeJS是单线程的,无法很好的利用多核CPU. 诚然,在前端的浏览器中,由于前端的JavaScript与UI占据同一线程,执行JavaScript确实为UI响应造成了一定程度上的麻烦.但是,除非用到超大的循环语句执行JavaScript,或是用阻塞式的Ajax,或是太过频繁的定时器执行外,JavaScript并没有给前端

做为一个前端工程师,是往node方面转,还是往HTML5方面转

文章背景:问题本身来自于知乎,但是我感觉这个问题很典型,有必要把问题在整理一下,重新分享出来. 当看到这个问题之前,我也碰到过很多有同样疑惑的同学,他们都有一个共同的疑问该学php还是nodejs,包括我自己也曾有过同样的经历.幸运的是,通过我内心的挣扎和对当前市场供需关系以及行业发展前景的综合衡量评估后,我还是在接触了java, php之后回到js这片天空上来了.一方面是客观因素,一方面是兴趣导致的,前端太好玩了,值得为此奉献一点激情或青春. 其实这也是一个开发者成长必须经历的一个洗礼,一个磨

前端工程师 到底学什么?知识进阶

前端包含#基础库/框架,H5宣传页面,还有H5小游戏#刚开始的时候,我入门的基础是做的这些小项目的应用场景,然而,深入了前端领域才发现,原来前端领域内更加深入的是复杂的Web应用真正厉害的前端,做的东西应该是例如新闻聚合网站eg:新浪,在线购物平台eg:淘宝\京东,社交网络eg:facebook,金融信贷应用eg:支付宝等等……前端是一种运行在网页浏览器中的软件,这些软件的图形用户界面(Graphical User Interface,简称GUI)即为前端.展现给用户观看的一些视觉和动画交互的效

前端工程师需要掌握的技能

作为一个前端工程师,需要掌握的技能还真的不少. 最基本的三个技能:HTML.CSS.Javas cript. 这是前端开发中最基本也是最必须的三个技能.前端的开发中,在页面的布局时, HTML将元素进行定义,CSS对展示的元素进行定位,再通过Javas cript实现相应的效果和交互.虽然表面看起来这些很简单,但这里面需要掌握的东西绝对不会少.在进行开发前,需要对这些概念弄清楚.弄明白,这样在开发的过程中才会得心应手. HTML: 指的是超文本标记语言 (Hyper Text Markup La

如何称为一个优秀的前端工程师?

最近在实验室很受打击,导师给的任务没有很好的完成,我能感受到导师的失望,同时对自己也失去了自信心.自信心是非常重要的一件事情.所以我需要思考我到底在不就的将来想从事什么工作.最近也是在一直不断地摸索中. 这几天想学前端,我也知道像我这样浮躁是做不成事情的,我尽量能够让自己稳定下来.希望好好学习前端吧. 首先我认为需要明白前端是什么,我认为的前端,是与人交互的接口.这是我当前的理解.在计算机中功能模块的解耦在有些地方能简化开发,使得产品容易维护等优点.所以现在讲究前端后端的分离.在前端中,HTML

前端工程师如何快速的开发一个微信JSSDK应用

亲们,订阅号出来已经很久了,作为一个前端工程师或者全栈工程师,你是不是错过了什么?大概许多攻城狮同砚还没有反应过来订阅号怎么回事,就马上要被微信的应用号秀一脸了.在应用号还没有正式出来之前,我们赶紧一起来看看怎样给自己的订阅号加个网页功效吧. 一.订阅号网页与平凡的HTML5网页的区别 可能会有很多同学还没有弄清楚普通的HTML网页与订阅号网页的差别,我在这里简朴的说明一下. 订阅号的网页就是微信的网页,普通的网页是W3C范例下的网页. 订阅号的网页通常是以遵守W3C的网页规范为前提的,但是也有