来源:juejin.im/post/5da6d9ed50f
程序员的标准与要求
初级程序员
中级程序员(阿里p5)
高级程序员(阿里p6)
程序员的进化之路
初级-中级
中级-高级
总结
程序员的标准与要求初级程序员
仅能完成简单模块和项目的开发工作,难以胜任复杂模块的开发。通常是入行不久,年及以下工作经验的同学。
能力要求
熟悉前端基础知识如HTML、JS、CSS。
能够使用一门MVVM框架进行简单的业务开发。
遇到复杂的组件和模块,会找现有的轮子使用。
会使用百度、google等检索工具搜索问题。
中级程序员(阿里p5)
在必要的辅导或标准流程支持下,能独立负责一个子模块或者一个项目的具体任务,对及时性和准确性负责。通常是-年工作经验的同学。
能力要求
除了前端基础知识外,熟悉计算机、网络等专业基础知识。
熟练掌握工作中使用的技术栈开发业务。(除了MVVM框架外,还能了解webpack的配置)。
能了解一个需求从开发-上线整个生命周期,并对各个环节负责。
具备基本的逻辑分析、问题分解、归纳总结等能力。
了解基本的数据结构和算法,写代码较熟练。
知道从靠谱的渠道去查找问题,在找不到合适轮子的时候,会造一些简单的轮子辅助业务开发。
高级程序员(阿里p6)
具有独挡一面的能力,能够高质量完成工作,能把握一个系统/团队的整体实现,在推行过程中能提炼新的方法或方案,或对现有方案提出改进建议并被证明有效。通常是年+工作经验的同学。
能力要求
具有独挡一面的能力,能高质量的完成模块级的工作。
熟练掌握工作中使用的技术栈,并能了解它们的实现原理。
能够在一个需求从开发-上线整个生命周期中找到痛点,并能使用技术的手段解决,提升效率。
能在模块维度对问题或需求做出分析和拆解,并做出相对合理的实现方案。
熟练掌握基础的数据结构和算法,代码符合规范,逻辑清晰。
有较好的技术选型能力。
程序员的进化之路初级-中级
通常在初级这个阶段,是进步空间最大的阶段,这个阶段是不存在天花板的。
编码
编码是初级阶段最需要经常做的事情,古话说孰能生巧,写代码也是同样的道理。
写什么的样代码
在公司要多做业务,尝试不同的业务,目标是让自己先成为一个熟练工。下班后也可以折腾点小项目做,可以选择自己感兴趣的内容,尝试自己实现一遍。
如何写代码
学会模仿,参考大牛的编码风格,照葫芦画瓢。如果公司有代码规范,跟随着公司的代码规范走,如果没有,参考业界规范,并用工具(如eslint)约束自己。遇到一些不会写的,哪怕找到可以参考的代码,跟着抄一遍也行。
工作
大部分时间都在工作,那么如何合理的利用好8小时工作时间呢。
熟悉业务不要仅仅埋头写代码,也需要对业务了解,认真参与需求评审环节,明确自己所做的任务。
熟悉工作流程
要熟悉从需求-开发-联调-测试-上线的每个工作环节,认真按照规范来执行,对上线要有敬畏心。
提升效率
工作的时候,尽量不要被打断,可以安排一个免打扰时段,比如下午的点-4点,只编码而不去处理其它事情。减少在群里灌水和斗图的时间。
加班
可以接受合理的加班(比如为了赶某一个需求加班一阵子),不接受没有任何补偿和调休的日常加班(),因为日常加班会压缩你学习和生活的时间。
学习
初级阶段是需要通过大量的学习来提升自己的能力。
明确自己的学习目标学习是为了提升能力,能让你胜任更复杂和有挑战的工作。
应该学习什么内容前端基础,JS、CSS、HTML反复学习。工作中用到的一门前端MVVM框架。了解一些广度知识,比如HTTP、正则表达式、Web安全、性能优化、设计模式,数据结构和算法。
找到合适的学习方式
看书+编码:购买经典的书籍阅读,并作为平时写码的参考工具,看书和编码是一个反复的过程,基本就是看书-编码-看书-编码循环个-4次,这个过程就是在不断修炼内功。
视频:慕课网的入门实战视频,根据自己的需求购买,要充分学习自己购买的每一个视频,认真的跟着老师学习一遍写一遍,遇到不懂的要积极提问,学习在于深入而不在于多。视频比书籍的好处在于更贴合实践,也更贴合公司业务,另外,课程的升级和更新也更加灵活。