一、程序员级别:
1、初级程序员。
能完成简单模块和项目的开发工作,但难以胜任复杂模块的开发。通常是入行不久,1年及以下工作经验的同学。
能力要求:熟悉前端基础知识如HTML、JS、CSS。能够使用一门MVVM框架进行简单的业务开发。遇到复杂的组件和模块,会找现有的轮子使用。
2、中级程序员。
在必要的辅导或标准流程支持下,能独立负责一个子模块或者一个项目的具体任务,对及时性和准确性负责。通常是2-3年工作经验的同学。
能力要求:1、熟练掌握工作中使用的技术栈开发业务;2、了解一个需求从开发-上线整个生命周期,并对各个环节负责;3、具备基本的逻辑分析、问题分解、归纳总结等能力;4、了解基本的数据结构和算法,写代码较熟练。
3、高级程序员。
具有独当一面的能力,能够高质量完成工作,能把握一个系统/团队的整体实现,在推行过程中能提炼新的方法或方案,或对现有方案提出改进建议并被证明有效。通常是3年+工作经验。
能力要求:1、具有独当一面的能力,能高质量的完成模块级工作;2、熟练掌握工作中使用的技术栈,并能了解它们的实现原理;3、能够在一个需求从开发-上线整个生命周期中找到痛点,并能使用技术的手段解决,提升效率;4、能在模块维度对问题或需求做出分析和拆解,并做出相对合理的实现方案;5、熟练掌握基础的数据结构和算法,代码符合规范,逻辑清晰;6、有较好的技术选型能力。
二、程序员的进化之路:
1、初级-中级:
通常在初级这个阶段,是进步空间最大的阶段,这个阶段是不存在天花板的。编译编码是初级阶段最需要经常做的事情,古话说熟能生巧,写代码也是同样的道理。
写什么样的代码:
在公司要多做业务,尝试不同的业务,目标是让自己先成为一个熟练工。下班后也可以折腾点小项目做,可以选择自己感兴趣的内容,尝试自己实现一遍。
如何写代码:
学会模仿,参照大牛的编码风格,照葫芦画瓢。如果公司有代码规范,跟随着公司的代码规范走,如果没有,参考业界规范,并用工具约束自己。
熟悉工作流程:
要熟悉从需求-开发-联调-测试-上线的每个工作环节,认真按照规范来执行,对上线要有敬畏心。
应该学习什么内容:
前端基础,JS、CSS、HTML反复学习;工作中用到的一门前端MVVM框架;了解一些广度知识,比如HTTP、正则表达式、Web安全、性能优化、设计模式,数据结构和算法。
2、中级-高级:
业务思考:
要明白业务和公司的目标,参与到需求的早期阶段中,同时也要多思考业务,想着有没有通过技术手段来提升业务价值,比如移动端的白屏时间减少,可以带来很好的用户体验,提升用户的留存率。
优化工作流程:
不仅要熟悉从需求-开发-联调-测试-上线的每个工作环节,还要多思考每个环节有没有可以提升的点,特别是上线过程,比如能不能做到自动化,能不能做到小流量上线,能不能及时滚回代码。
技术分享:
把工作中遇到的一些问题的解决方案、学习的一些新技术,产出的一些技术项目总结下来,作为组内技术分享和输出,这样一是可以总结沉淀你的技术,二是可以让大家能知道你做的东西,并活跃组内的技术范围,三是锻炼自己的表述能力,这能力在大公司的晋升述职中非常重要。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.