1 初级程序员

仅能完成简单模块和项目的开发工作,难以胜任复杂模块的开发。通常是入行不久, 1 年及以下工作经验的同学。

1.1 能力要求

  1. 熟悉前端基础知识如 HTML、JS、CSS 。
  2. 能够使用一门 MVVM 框架进行简单的业务开发。
  3. 遇到复杂的组件和模块,会找现有的轮子使用。
  4. 会使用百度、google 等检索工具搜索问题。

2 中级程序员(阿里 p5)

在必要的辅导或标准流程支持下,能独立负责一个子模块或者一个项目的具体任务,对及时性和准确性负责。通常是 2-3 年工作经验的同学。

2.1 能力要求

  1. 除了前端基础知识外,熟悉计算机、网络等专业基础知识。
  2. 熟练掌握工作中使用的技术栈开发业务。(除了 MVVM 框架外,还能了解 webpack 的配置)。
  3. 能了解一个需求从开发-上线整个生命周期,并对各个环节负责。
  4. 具备基本的逻辑分析、问题分解、归纳总结等能力。
  5. 了解基本的数据结构和算法,写代码较熟练。
  6. 知道从靠谱的渠道去查找问题,在找不到合适轮子的时候,会造一些简单的轮子辅助业务开发。

3 高级程序员(阿里 p6)

具有独挡一面的能力,能够高质量完成工作,能把握一个系统/团队的整体实现,在推行过程中能提炼新的方法或方案,或对现有方案提出改进建议并被证明有效。通常是 3 年+ 工作经验的同学。

3.1 能力要求

  1. 具有独挡一面的能力,能高质量的完成模块级的工作。
  2. 熟练掌握工作中使用的技术栈,并能了解它们的实现原理。
  3. 能够在一个需求从开发-上线整个生命周期中找到痛点,并能使用技术的手段解决,提升效率。
  4. 能在模块维度对问题或需求做出分析和拆解,并做出相对合理的实现方案。
  5. 熟练掌握基础的数据结构和算法,代码符合规范,逻辑清晰。
  6. 有较好的技术选型能力。

参考资料

  1. 解密初、中、高级程序员的进化之路