Java程序员的20个专业方向!初级、高级、架构程序员的工作内容都有什么区别?

程序员想要在职场里站稳脚跟、甚至是脱颖而出,就需要清楚知道程序员的等级,程序员分为初级资格、中高级级资格、架构级资格三个等级,每个等级又分为不同的专业,共有20个专业方向。

程序员的不同等级专业方向

1、初级资格:
程序员、网络管理员、信息处理技术员、电子商务技术员、多媒体应用制作技术员、信息系统运行管理员;
2、中高级资格:
软件设计师、网络工程师、信息系统监理师、电子商务设计师、软件评测师、多媒体应用设计师、数据库系统工程师、嵌入式系统设计师、计算机辅助设计师、信息系统管理工程师、信息技术支持工程师;
3、架构师资格:
信息系统项目管理师、系统分析师、系统构架设计师。
在这里插入图片描述

程序员不同等级技术要求

初级程序员:

一般是刚入行不久,工作经验只有一年及以下的人员。对于技能要求需要他们:
1、可以完成简单模块和项目的开发工作;
2、熟悉HTML、JS、CSS等基础知识;
3、能够使用一门MVVM框架进行简单的业务开发。

中高级级程序员:

中高级级程序员要拥有三年及以上的工作经验,具有能够独立负责一个子模块的能力,以及能够负责一个项目的集体任务。
具体技能要求有:
1、熟练掌握工作中使用的技术栈开发业务;
2、了解一个需求从开发到上线的整个生命周期,并对各个环节负责;
3、具备基本的逻辑分析、问题分解、归纳总结等能力;
4、了解基本的数据结构和算法,写代码较熟练。

架构师级程序员:

目前行业不缺程序员,但是缺少能够同时兼具资深经验和技能优秀的架构师程序员。架构师级程序员不但具有丰富的项目经验,且技能扎实并能够保持持续新知识新技术的输入,才能成为架构师级程序员。
其技能要求:
1、具备独当一面的能力,能够带领团队展开工作;
2、针对一些需求能够从开发到上线的整个生命周期中找到痛点与漏洞,并能运用技术手段解决;
3、能对问题和需求做出分析和拆解,做出改进、实现方案;
4、有优秀的技术选项能力;
5、熟练掌握各种技术体系。
在这里插入图片描述

初级到架构,工作内容有什么区别对比

初级开发,大概是有3年Java开发经验。

22年底,上海,这批程序员如果学历是本科,薪资一般是8k到2w,当然如果能进好公司或互联网大厂,薪资能更高。

干的活一般是能做各种增删改查业务,遇到简单问题,比如空指针之类的,能通过看日志解决,也能适当干些和人沟通的事情,比如和其它组沟通API。

初级开发阶段,熟手和新手的差别不仅体现在业务上,更体现在技术层面。或者说,如果初级开发只是熟悉业务,后继发展会受限。

初级开发阶段,熟手更应该从数据库优化、解决各种数据库问题以及分布式组件或微服务组件使用层面来提升自己。

这里再说个可能会引发争议的观点,比如某程序员,学历可能是大专甚至更低,在一家小公司里做java后端,也干了5,6年,但如果技术层面只是做增删改查,可能这位程序员凭借对业务和产品的了解,在小组里甚至是公司里起到比较重要的作用,但从技术角度来说依然是初级开发,因为如果出去面试,很难展示比增删改查更值钱的技能。所以哪怕是初级开发,都应该不仅仅做增删改查。

高级开发,3年以上其实就已经具备成为高级开发的经验年限。

还是按上海,22年底的薪资,高级开发起步的薪资可能就已经接近2w了,如果高级开发具有5,6年java经验,要个3w也不成问题,但年薪40w一般是高级开发的上限了。

相比初级开发,高级开发在日常工作中一般高级在如下两个方面:
第一是能带一些人做业务,即成为项目开发小组长,
第二是能解决些比较有难度的问题。

高级开发在公司里,可能未必能做到项目经理的级别,但在带人开发的时候,需要全面掌握项目测试部署的技能,而一些初级开发解决不了的问题,比如分布式组件方面的问题,高级开发能解决。

这里再说个可能会引发争议的观点,在一些小公司,尤其是人数在50人以内的楼层公司甚至是房间公司,其中技术负责人,当然有些公司可能还给挂上个技术总监的头衔,论能力的话,其实也就是个高级开发的水准。
而且有些小公司的这些技术负责人,估计薪资也就是2w出头些。所以如果java后端开发,达到高级开发的水准的话,平时工作,增删改查已经是占很小的比例,更多地要负责项目的开发维护运行,以及要解决些相对值钱的问题。

顺带再说个高级开发和初级开发的差别。
初级开发的话,平时工作一般是仅限于java和数据库,比如spring boot+oracle数据库,而高级开发就要涉及些测试工具,部署工具,同时就已经要在linux上干些部署项目和看日志排查问题的活了。

架构,一般有5,6年开发经验的后端就能去挑战架构的职位了。

上海22年底底行情,架构的薪资一般能达到3w,一般公司的架构师,哪怕做到技术负责人,封顶一般是50w年薪,大公司的话,架构一般能给到七八十万,但年薪过100w的架构真不多。

顺带说下,要成为架构,不是说公司给个头衔就成,一般小公司的技术总监,有些放大厂也就是个高级开发的水平,要成为架构,得薪资上达到架构的水平,一般至少得40w吧。

架构的活,一般是根据业务的特征,比如并发量可用性等特性,或者看要不要接消息中间件,然后设计出整个产品,或一些模块的架构,同时还要搭建环境,比如在linux上安装redis或kafka。

此外,架构还有个比较重要的活,是要确保系统运行的平稳性,比如要搭建监控,设计出系统上线的方案,以及出现故障的修复方案。当然如果出现组件或架构方面的问题,架构也要修改。

举个典型的例子来说高级开发和架构的差别
比如系统遇到个dubbo远程调用的问题,从日志上看,报错不是在业务代码层面,而是dubbo组件内部的class类里,这时高级开发可能就不大能解决,但架构师能解决,而且是在架构的职责范围内。

从实际工作中,其实高级开发和架构的一些职责是重叠的,比如都需要搭建系统的架构,都需要排查和解决架构层面的问题,但从技术角度来看,架构师需要更资深的技能。

在java后端方面,如果只会增删改查,估计顶多只能做到初级开发,不过事实上真有不少Java程序员在一些小公司呆久了,虽然工作年限很长,但论能力只会增删改查,这也是不少程序员在30岁以后就失去竞争力的原因,这也是不少有一定工作年限的程序员出现薪资倒挂的原因。
在这里插入图片描述

初级进阶架构师如何去实现呢?

初级到中高级

1、练习代码,学习模仿

俗话说好熟能生巧,写代码也是一样的。如果在本职工作完成之余还有些时间可以私下 接一些小项目练手,尝试一些不同的业务。写代码可以参考大佬的编程网格,学习对方的思路。如果公司有代码规范,跟随着公司的代码规范走,如果没有,参考业界规范。

2、熟悉工作流程

在埋头写代码的的同时,也要多参与到项目中去,去熟悉一个需求从提出-开发-联调-测试-上线的整个工作环节,理解开发逻辑,尝试想象自己手上有项目该如何开展工作。

3、牢固基础知识

知识就像棉被,需要时不时地拿出来翻新、加固。
基础类:JS、CSS、HTML反复学习;
了解一些广度知识:HTTP、正则表达式、WEB安全、性能优化、设计模式、数据结构及算法

中高级到架构师

1、业务全局思考能力

成为架构级程序员,就是需要具有全局思考能力。首先要明白业务和公司的目标,参与到需求的早期阶段中;然后要多思考,是否可以通过技术手段提升业务价值。

2、学习优化工作流程

初中级程序员要熟悉从需求-开发-联调-测试-上线的每个工作环节,架构师级程序员则需要思考每个环节有没有可以优化提升的地方,比如上线过程能否自动化、能否小流量上线等。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值