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

更新日期: 2019-08-05阅读: 2.1k标签: 技能

对于前端基础需要学习哪些内容,之前文章已经有写过不少了,本篇重在谈论:

作为一名前端想要晋升,需要什么条件?
现在在用 react,要不要也学学 vue
有必要学习 Node.js/Flutter/ 函数式吗?
这几个问题看似毫无关联,但是其实它们本质上都是同一个问题,这个问题就是“一个前端工程师到底需要掌握哪些技能?”其实在行业里面,对前端工程师的能力模型有一个基本的认知,不同公司的定义可能有细微差别,但是它的内核是一致的。

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


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

在这里小编建了一个前端学习交流扣扣群:132667127,我自己整理的最新的前端资料和高级开发教程,如果有想需要的,可以加群一起学习交流


助理工程师

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

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


工程师

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

其实这个级别的工程师,水平跨度非常大,界面写出来了,但是兼容性如何、代码可维护性如何、离了框架能不能写出来、语义表现分离能做到吗、开发过程中能不能做到有效沟通...... 还会有很多问题。而这些问题,决定了一个前端工程师的潜力,一些好一点的公司招聘这个级别的工程师,除了“基本的前端技能”之外,还会对我上面提到的这些问题有所要求。

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


资深工程师

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

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

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

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


技术专家

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

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

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


高级技术专家

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

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


高级技术专家

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

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

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


链接: https://fly63.com/article/detial/4537

PHP程序员要掌握的技能

第一点就要提 Composer ,自从 Composer 出现后,PHP 的依赖管理可以变得非常简单。程序内依赖一些类库和框架,直接使用 Composer 引入即可,通过使用 composer update 安装依赖的包

程序员最重要的技能:知道什么时候不写代码

本文指出大多数程序员都容易犯下的错是,因为对编程的兴奋,不知道什么时候应该对编码说“不”。程序员需要知道什么时候不需要编码,并从项目中删除所有不必要的代码,这将让工作变得更容易,并使软件寿命更持久

程序员必备的5个工作技能

咱们程序员不光要提升技术能力,也要培养自己的工作技能,拥有高质量的软技能与掌握牛X的技术一样重要。聊几个重点的:时间管理任务分解、偷懒、知道什么时候休息

程序员请掌握这些核心生存技能

大咖你好,作为一个编程初学者,有什么需要注意的?以上是一个读者流年似水的提问。我把他的问题置顶了,但一直没想好怎么回答,因为问题太过笼统了。后来,他也可能意识到了这一点,就又给我发了一条微信:

程序员每天都在使用的6个惊讶的软技能

如果你想要开启作为web开发人员的职业生涯,那么你需要涉及的不仅仅是知道如何写代码。有一些通用的软技能几乎可用于每个领域——包括技术行业。

12个提高 JavaScript 技能的概念!

JavaScript 是一种复杂的语言。如果是你是高级或者初级 JavaScript 开发人员,了解它的基本概念非常重要。本文介绍 JavaScript 至关重要的12个概念

程序员如何提高开发技能?

你只在早上9点至晚上5点间编码,却担心这样不够好吗?你看见其他的程序员工作于个人项目或开源项目,参与编程马拉松,并花费所有的业余时间编写软件了吗?你可能会认为只在自己的工作时间编码

前端程序员被聘用的13个开发技能

这些日子,开发人员掌握JavaScript总不会错。JavaScript能力是目前为止被高层执行人员和招聘人员誉为最频繁的追捧技能。JavaScript已被证明是当今市场中高度可移植和宝贵的技能

新手程序员必备10大技能

如果你已经有一段时间的编程经验,或者正准备学习编程,那么可能会考虑的是:怎样才能成为一名优秀的程序员?计算机专业的毕业生如何为软件开发和编程职业生涯做准备?职场对于初级开发人员有哪些期望?

编码硬实力之外,程序员的软技能

程序员群体不应该是一直低头敲代码,更应该掌握一些软技能,改变一贯的沉闷木讷的形象,让自己在竞争中胜出,从而职业发展更顺利。在此总结整理了几个常用软技能点供大家参考~

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!