相信做为一个前端从业人员,不少人在不一样的阶段都会遇到自身定位上的一些困扰。好比我到底在前端这个行业里,处于一个什么样的水平?前面的路,该怎么走?这些问题我也一直在思考,下面跟你们分享个人见解。前端
前端分哪些阶段?
我以为能够拿阿里大厂的职称评级做为前端阶段的参考,从p4-p7,分别是初级
、中级
、高级
、资深
,往上的专家就不说了。vue
初级前端
- 工做年限:小于1年
- 能在leader的指导下完成开发任务
这个阶段的同窗,以积累项目经验为主,多主动作事,学会学习和提问的方法。node
中级前端
- 工做年限:1-3年
- 布局:熟悉各类布局方式,好比:响应式、双飞翼、圣杯、不定高上下居中、弹性布局等,能给具体的业务场景选择较为合理的布局方式。
- js:熟练使用es3-6版本的各类函数和语法,好比:数组的方法filter、reduce、shift等,对象的方法is、assign、keys、values、defineProperty等,异步处理语法Promise、async await、generator等,对于js执行机制有必定了解。
- 框架:起码熟悉一个流行框架,好比:vue、react、angular,怎么算熟悉呢?拿vue举例,能用vue-cli搭建一个 vue项目,能知道vue-router我应该选择什么模式,能判断我是否应该采用vuex,对于如何作到页面资源按需加载的几种方案有了解,知道哪些内容应该封装成组件,最后能根据业务要求完成项目。
- 工具:对于一个项目的底层构建工具生态都有必定的了解,好比:能完成基本的webpack、babel、gulp、less等工具的配置
- 服务端:有必定了解,好比:了解后端开发一个接口背后的实现的基本流程curd、用node实现过基本的静态服务、用node实现过基本的curd
- 其它:对网络通讯层有必定的认知
中级前端是一个‘知其然但不知其因此然’的阶段。从个人实际工做经历观察来看,每每这个阶段阻挡了一大批人。有的人甚至工做了七八年,工做经验很是丰富,各类web端、移动端、小程序、app、桌面端等项目都参与过,各类框架vue、react、angularJS都很是熟悉,看似十分全能,实则仍然局限于会用的阶段,仍然只能算是一个中级前端,也不多有企业会给这样的候选人开出高级前端的工资。mysql
中级前端应该是前端行业里数量最为庞大的人群,市面上绝大多数企业的前端,应该都处于这个阶段(几个大厂除外)。这个阶段是最为关键的阶段,在这个阶段停留了五六年、七八年的前端大有人在,这是很是大的一个风险。react
人们都说程序猿吃的是青春饭,我以为很对,至少对于全部的中级前端来讲确定是,想一想到了三十几岁,怎么去跟潜力更大,精力更旺盛的小伙子小姑娘们竞争。因此这个阶段的前端们,应该更有紧迫感,加油。webpack
这个阶段的同窗,须要注重对知识面的拓展,对底层原理的理解,孜孜不倦,早日迎来质变。web
高级前端
- 工做年限:3-5年
- 布局:精通各类布局方式,深入理解每种布局方式的原理,深入理解浏览器的渲染机制
- js:深入理解js的执行机制,理解Promise、async await、generator等异步语法的实现原理,可以灵活应用函数柯里化、闭包等技巧,熟悉函数式编程,可以灵活应用各类设计模式,熟练使用typescript之类的语法糖
- 框架:至少阅读过一种框架的源码,并对此有足够深刻的理解
- 工具:了解webpack、babel、less、gulp等工具背后的原理,具有编写loader、plugin、babel-plugin、gulp-plugin等插件的能力,至少对一种ast引擎有了解,好比Acorn,能基于ast引擎进行开发
- 服务端:能基于一门服务端语言进行独立开发,对于mysql、oracle、mongo、redis有足够的了解,了解分布式、微服务、bff、serverless等,对大型网站架构有较深刻的认知
- 其它:深刻了解网络通讯,好比:dns、http、https、udp、websocket,熟练使用各类常见算法,好比:深度遍历、广度遍历、二叉树等,熟练使用正则表达式,
高级前端与中级前端的区别在于,这个阶段,更多的精力在于钻研前端的一些原理,看问题能快速看到问题的本质。任何一个高级前端,应该都具有独当一面的能力。正则表达式
这个阶段的同窗,能力很强,想再进一步,须要机遇,须要转变单兵做战的思惟习惯,须要更加积极主动去发掘并解决问题。redis
资深前端
- 工做年限:5-7年
- 价值:做为资深前端,不必定从技术而言,比高级前端强多少,更关键在于,对于企业,资深前端能创造更多的价值。好比:给团队搭建完善的前端工程化体系,针对复杂的业务场景给出高质量的解决方案,善于发现团队中的痛点并解决。说白了核心就是给团队提效提质,提效意味着人力成本节省,提质意味着系统稳定性强,用户体验佳。
- 影响力:不管在公司内仍是行业内,开始创建本身的我的影响力,同时提高公司前端团队的影响力
这个阶段的前端,是会‘找事’的前端,单纯的提高技术,并不能达到这个阶段,而应该思考如何最大化整个团队的价值。经常这个阶段的前端,都能给团队带来一些新技术、新方案,解决团队面临的一些问题和痛点。不过也须要警戒自身陷入一种对新技术、新方案的一味追捧,须要思考清楚‘what’、‘why’、‘how’的问题。算法
总结
初中高级的前端的整个过程,在于学以至用,把用发挥到极致。但从资深前端开始,要学会无中生有,要不断挖掘团队的能力,要像森林中的猎犬同样,善于发现‘猎物’,创造机会,解决问题,打造自身和团队影响力。