工程师不同等级的判断标准--自定义

进入前端这个领域,用了大约3个月的学习时间,到现在又用了3个月的工作时间,大致是时候罗列总结前端开发工程师的等级判断标志性事件了,用于指导自己将来一段时间的学习方向。

最开始的3个月学习时间,属于从一无所知的状态到开始了解这个领域,也即是:窥之一角。

从开始工作到现在的3个月时间,属于从懵懵懂懂到刚刚入门,也即是:初学乍练。

从最近开始,在开始了解vue的响应式原理 => 设计模式(观察者模式) => js 面向对象 等知识,逐渐有点把 js 当做一门基础工具的感觉,可以用这门基础工具构建更具有实际意义的工具,算是从刚刚入门开始向初级工程师迈进的过程。

那么,在这里定义一下各个阶段:

  1. 窥之一角 ——3个月

    • 能知道 html 各类标签的含义及使用场景,知道各标签常用的属性值。
    • 能知道 css 各类样式的含义和作用,能写出常见布局方式。
    • 能知道 js 的基础语法,能使用 js 进行简单的DOM操作。
    • 能知道 jQuery、bootstrap 等类似库的作用,并能搭建基础的开发环境以及基础功能的使用。
    • 能知道 vue | react | angular 任意一种的基础编程方式,能在有脚手架的情况下写简单的组件。
  2. 初学乍练 ——3个月

    • 能熟练掌握 html 的基础原生标签,能从归类的角度对 html 标签进行区分。
    • 能熟练掌握 css 的基础样式,能熟练使用 css3 的特性(尤其是动画),能熟练掌握布局。
    • 能熟练使用 js 进行函数编写,进行简单的 DOM 操作。
    • 知道常用的 BOM 对象,并能进行基础的操作与配置。
    • 能熟练使用 vue | react | angular 进行业务开发,能知道框架的结构,能熟练避免常见的误区。
    • 能读懂 webpack、babel 等 conf 文件的配置,并能在有脚手架的基础上根据需要进行部分配置项的改写。
    • 能熟练使用 git 进行项目初始化、开分支、提交、merge、conflict处理、reset、rebase、config等操作。
  3. 一星初工 ——3个月

    • 能熟练使用 ES6 的各类特性,例如promise、generator、class等,能在常见场景中知道 this 指向,例如箭头函数、构造函数。
    • 能对 DOM 有整体框架性认识,能熟练掌握 DOM 的各常用对象的实际作用,能了解一些相对较为少用特性,例如 crypto、shadow dom等。
    • 对 js 面向对象有基础性认识,能设计出基础的类,对对象的构造方式有明确的认识,对Object.defineProperty中的getter/setter、for…of…所使用的Symbol.iterator等有。
    • 对 js 原型链有明确的认识,对 constructor、prototype、__proto__等相关对象有关系上的明确认识。
    • 对 css3 有全面的认识,能熟练使用 css3 各种特性进行样式开发,能自行对 css 进行分类。
    • 会使用 less | scss | stylus 等css预处理语言编写样式,会使用 mixin、function、extends 等功能。
    • 对23种设计模式有基础认识,能画出各模式的示意图,并能用 js 实现其中10种模式。
    • 对 js 模块化有清晰的认识,能在node、window环境下进行模块化编程。
    • 对 webpack 的各部分配置有更清晰的认识,能按需添加不同插件。
    • 对数据结构和算法有基础的认识。
  4. 二星初工 ——3个月

    • 对浏览器工作原理有基础认识,能明确知道浏览器从启动到关闭的各个阶段如何工作,了解 js 线程在进行 DOM 渲染和 css 处理时的方式,能使用 web worker 进行多线程开发。
    • 对 DOM 的认识更加深入,能熟练使用 js 进行 custom element 创建和操作。
    • 对 h5 的 event 认识更加深入,能熟练使用 js 进行 custom event 创建和操作。
    • 对全局样式规划有一定认识,能熟练使用 less | scss | stylus 等预处理语言写基础样式库。
    • 对23种设计模式认识更加熟练,能熟练画出各模式的示意图,并能使用 js 实现20种模式。
    • 能熟练使用 ES 的各类特性,能清晰地认识到 js 异步编程的模式优劣,能理解 js 异步编程的实现原理与方式,对 js 性能提升的原理和方法又更清晰的认识。
    • 对项目结构化分层有一定认识,能在项目中熟练地进行结构划分达到一定程度解耦。
    • 对 js 模块化编程有更深的理解,能明白命名空间、scope与代码组织方式之间的对应关系,能理解common和AMD的实现方式。
    • 对前端工程化理解有一定认识,对webpack、babel的配置更熟熟悉,能熟练配置前端工程化常用的功能。
    • 对数据结构和算法有更进一步的认识,能将设计模式和数据结构以及算法进行结合。
  5. 三星初工 ——4个月

    • 对23种设计模式认识更进一步,能熟练使用 js 实现所有设计模式,并能清晰阐述各模式的使用场景和异同。能在项目中有意识地识别设计模式并能进行优化。
    • 对 js 的模块化编程理解更加深刻,能在不同平台下熟练进行模块化编程,能手动实现common/AMD/CMD等模块化。
    • 对项目结构化分层认识更加清晰,将代码结构规划自然地融入到每个项目的开始中。
    • 对 js 性能提升有清晰的认识,开始了解 js 的底层实现原理,对 js 的内存、堆栈、gc等有清晰的结构认识。
    • 开始了解 node,会使用node的内置模块,例如 fs、os、process、path、http等,并能够开发基础的命令行工具进行自动化脚本处理。
    • 了解 shell 语法规则,能比较熟练使用 shell 开发复杂度为中等的功能。
    • 对vue实现原理更加清晰,能总结其源码,能自行实现简单的响应式框架。
    • 能对数据结构和算法有较深认识,能刷通较多算法题。
  6. 一星中工 ——4个月

    • 熟悉 node 下的基本功能开发,例如使用 koa/express 进行网络开发,能进行简单的 mysql 开发。
    • 对 shell 有较全面的框架认识,能使用shell配合node进行较复杂的自动化脚本开发。
    • 熟悉 python 基础语法,使用 django 进行网络开发。
    • 对 网络协议 有较深认识,能清晰总结出网络分层模型,能清楚说明各协议之间的异同与适用场景。
    • 对前端组件有较深认识,总结多个前端组件库,能总结出常用公共组件,并实现。
  7. 二星中工 ——5个月

    • 能熟练使用 node 进行开发,能对web请求过程中发生的细节有更清晰的认识,能使用 koa/express 开发较大规模的项目。
    • 能熟练使用代码结构分析图。
    • 熟悉 golang,使用 go bee 开发api。
    • 熟悉 nginx | openresty, 进行网络代理搭建。
    • 熟练使用 lua 做网络中间层开发。
  8. 三星中工 ——5个月

    • 搭建 gitLab | Jenkins,配置git hook,搭建自动化发布环境。
    • 搭建 docker, 布置不同环境。
    • 总结工具链,熟练搭建工具链。
  9. 四星中工

    • 熟练使用原型工具。
    • 了解基础的视觉设计原则。
  10. 一星高工

    • 关注开发流程
    • 关注框架选择
  11. 二星高工

    • 关注感兴趣的内容
  12. 三星高工

    • 关注感兴趣的领域,并付诸行动
  13. 小有所获

    • 在感兴趣的领域持续投入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iamlongalong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值