前言
本文为笔者回顾前端开发历程的一份总结和梳理,是对本身走过的路进行的复盘。想要总结出一些普适的规律,一是用来本身反思和规划将来,二是为后来人作一些力所能及的帮助。本文虽是做者原创,但确定也看过其余大牛的文章,不过绝对自成一格,不会是那种cv党。笔者也会把以为好的reference放到文章最后。css
ps:整理过程当中发现,去掉括号里的专有技能,好像对后端工程师也有必定的参考性。html
一、初级工程师
阶段标准:前端
初级前端工程师的标准,就是可以完成平常的功能开发和debug,能够在已有的代码基础上作修改,优化和维护;熟练使用平时开发须要用到的工具便可,无需理解原理。这时候须要学习的东西是很是多的,不过因为只要掌握80%(二八法则的比喻,前80%的知识只须要20%的精力学习,后20%深刻的知识则须要投入80%的精力)的使用知识,只须要付出20%的精力就可以学会,因此会颇有成就感,进步也会很是快。vue
阶段分析:node
须要大量的项目实践经验,至少应用一个框架开发实际项目半年以上,才算真正掌握一个框架的使用。另外就是项目开发过程当中运用到的各类工具,每一个领域都要熟悉一种,固然,只要熟悉基本操做便可。最后,对于业内的各类话题和思想要有概念,起码作到据说过,大概知道是干什么的。整个初级工程师的学习过程大约会持续1-2年。react
学习诉求:jquery
大量的实际开发经验;足够复杂的业务场景;业内最新信息;webpack
工程技能:ios
熟练开发语言(js/es6/ts、html/template、css/less/scss、nodejs、json等)
熟练开发框架(react全家桶+antd、vue全家桶+element、angular+material等)
熟练开发工具(IDE、shell、fiddler/charles、git/svn、mock等)
熟练经常使用库(axios、jquery、lodash、moment等)
二、中级工程师
阶段标准:git
在初级前端工程师的基础上,须要在原理上有更深刻的理解。可以从较本质的层面分析和解决问题,须要具备从零搭建一个项目的能立,还要可以找出项目瓶颈和可优化的点。这时候就要触及那剩余的20%的知识了,进步的速度会慢下来,须要必定时间的沉淀。此时要适应这个节奏的变化,要耐得住寂寞,只有厚积才能勃发。
阶段分析:
通过初级工程师的阶段,如今最起码已经掌握了1个框架的使用。与初级相比,知识广度上,不会有特别大的变化,可是深度上就要差出一个档次了。俗话说,魔鬼藏在细节中,中级这个阶段,咱们就要直面魔鬼了。当咱们对一个事物熟悉到必定程度时,通常都会将其抽象化,以方便咱们了解本质,寻找规律,最后达到举一反三的境界。古代圣贤概括的“象数理易”四个阶段,即是对此最好的解读。因此,若是你隐约的可以将以前你以为不相关的知识联系起来时,那么知识的深度就已经达到了标准。举个最简单的例子:网络层面的缓存与计算机结构中的内存原理,有多少类似的地方?固然,单是某几个本身最经常使用的知识点达到足够的深度,就已经称得上是一个合格的中级工程师了。整个过程的积累须要大约2-3年的时间。
学习诉求:
足够深度的原理干货;本身模拟造轮子;业内最佳实践;
工程技能:
项目工程搭建及自动化(webpack/rollup/parcel/gulp等)
性能优化(交互、缓存、网络、运行效率等)
代码质量保证(eslint、stylelint、jest/mocha等)
其余经常使用领域达到初级水平以上(网络、后端、数据库等)
开始带人
三、高级工程师
阶段标准:
在中级工程师的基础上,具备更好的抽象能力,透过表面看本质。此时已经在开发过程当中积累了至关的经验,理解也比较深刻,达到了举一反三的层次,已不局限于框架和库,甚至是前端领域的约束,能够开始本身无中生有的造轮子了。另外,更重要的是对于团队的贡献,要可以成为一个团队的主心骨,明确团队的方向,整合整个团队的力量来作事情。
阶段分析:
此时,本身已经有了屡次举一反三的经验,也就是说本身对于学习一个新知识应该深刻到什么程度,已经有了一个比较明确的认知。那么此时的学习诉求即是可以高效的获取其余领域的足够深度的知识。从线到面,构建起一整套的知识系统。中级工程师只要一直积累即可水到渠成的达到这一步。不过,身为高级工程师,也要开始关注技术意外的东西了,好比过管理团队。就像一个初级工程师熟练使用了一个框架以后,要开始学习其余方面的知识同样。高级工程师也就是螺旋上升到了另外一个层面,开始了另外一个循环而已。到了这个层次,基本已经实现“技术自由”了,并且必定是公司里独当一面的中坚力量。整个过程须要持续3-5年的时间。
学习诉求:
高效获取足够深度的知识;管理方面的知识;业内趋势的判断;
工程技能:
架构设计(UML)
技术选型
团队开发效率提高(公共组件、Travis CI、jenkins、gerrit/gitlab/Gogs、mock等的搭建)
难题攻关
项目管理(jira、asana、tpad、禅道等)
其余经常使用领域达到中级水平以上(网络、后端、数据库、运维、分布式等)
开始带团队
四、技术专家
阶段标准:
在业内,要具有必定的技术影响力,以及“表明做”。所做所为能够影响整个公司,乃至整个行业。从流行的追逐者,变成了流行的创造者。固然,能力越大责任越大,公司的决策压力天然也要背负,此时已经不是管理单个团队了,而是对技术方向的全局把控,足够影响公司的战略甚至生存。
阶段分析:
首先声明,笔者确定尚未达到这个层次,因此只能yy一下这个境界,算是笔者心目中对大牛的理解,也是一个奋斗的目标。到了这个境界,已经不可以简单的归为技术类了。就像前端高级工程师,已经不只仅局限于前端这个领域同样。可以达到这个境界,相信已经不须要太多旁人的指手画脚了,能量已经大到足够影响上万人甚至更多。说白了,就是处于金字塔顶端少数的存在。除非转型,那么这个阶段基本能够一直干了,并且是本身挑公司,作本身想作的事,甚至本身当老板。
学习诉求:
国内外顶级article;业内痛点及瓶颈;行业及环境宏观分析;
工程技能:
技术影响力
战略级技术架构
跨部门项目推进
英语
———————————————— 版权声明:本文为CSDN博主「zhaolandelong」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。 原文连接:https://blog.csdn.net/zhaolandelong/article/details/83720424