课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的新人都投入到了互联网软件编程开发行业,而许多程序员的目标也是职业岗位的纵向发展,今天我们就一起来了解一下,对于不同阶段的程序员我们都需要具备哪些技术能力。
工程师阶段
工程师阶段是原始的“基础技能积累阶段”,主要积累基础知识,包括编程语言、编程工具、各类系统的基本使用。
高级工程师
从普通工程师成长为高级工程师,主要需要积累方案设计经验并能独立完成开发,包括需求分析、方案设计、编码实现,其中需求分析和方案设计已经包含了“判断”和“选择”,只是范围相对来说小一些,更多是在已有架构下进行设计。
技术
从高级工程师成长为技术,主要需要“拓展技术宽度”,因为一个“领域”必然会涉及众多的技术面。以Java后端开发为例,要成为一个Java开发,需要掌握Java多线程、JDBC、Java虚拟机、面向对象、设计模式、Netty、Elasticsearch、Memcache、Redis、MySQL等众多技术。对于技术来讲,需要宽广的技术面,比如对于开源项目,需要深入了解。
初级架构师
能够独立完成一个系统的架构设计,可以是从0到1设计一个新系统,也可以是将架构从1.0重构到2.0。架构师是基于完善的架构设计方法论的指导来进行架构设计,而技术更多的是基于经验进行架构设计。
中级架构师
能够完成复杂系统的架构设计,包含高性能、高可用、可扩展、海量存储等复杂系统,例如设计一个和Kafka性能匹敌的消息队列系统、将业务改造为异地多活、设计一个总共100人参与开发的业务系统等。比如对于高可用架构来说,专栏涵盖了存储高可用、计算高可用和业务高可用等内容。
高级架构师
成长为高级架构师需要10年以上时间,其特征是“创造新的架构模式”,例如:
高级架构师与中级架构师相比,区别在于“创造性”,高级架构师能够创造新的架构模式,开创新的技术潮流。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!