就以Java后端开发为例,说说不同级别程序员干的事情。

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

22年底,上海,这批程序员如果学历是本科,薪资一般是8k到2w,当然如果能进好公司或互联网大厂,薪资能更高。初级开发干的活一般是能做各种增删改查业务,遇到简单问题,比如空指针之类的,能通过看日志解决,也能适当干些和人沟通的事情,比如和其它组沟通API。

初级开发阶段,熟手和新手的差别不仅体现在业务上,更体现在技术层面。或者说,如果初级开发只是熟悉业务,后继发展会受限。初级开发阶段,熟手更应该从数据库优化、解决各种数据库问题以及分布式组件或微服务组件使用层面来提升自己。

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

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

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

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

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

这里再说个可能会引发争议的观点,在一些小公司,尤其是人数在50人以内的楼层公司甚至是房间公司,其中技术负责人,当然有些公司可能还给挂上个技术总监的头衔,论能力的话,其实也就是个高级开发的水准。而且有些小公司的这些技术负责人,估计薪资也就是2w出头些。

所以如果java后端开发,达到高级开发的水准的话,平时工作,增删改查已经是占很小的比例,更多地要负责项目的开发维护运行,以及要解决些相对值钱的问题。

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

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

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

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

架构的活,一般是根据业务的特征,比如并发量可用性等特性,或者看要不要接消息中间件,然后设计出整个产品,或一些模块的架构,同时还要搭建环境,比如在linux上安装redis或kafka。此外,架构还有个比较重要的活,是要确保系统运行的平稳性,比如要搭建监控,设计出系统上线的方案,以及出现故障的修复方案。当然如果出现组件或架构方面的问题,架构也要修改。

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

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

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

Java程序员除了做增删改查还能干嘛?的更多相关文章

  1. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...

  2. java对xml文件做增删改查

    http://www.cnblogs.com/wangchenyang/archive/2011/08/23/2150530.html http://www.blogjava.net/weishuan ...

  3. sqlHelper做增删改查,SQL注入处理,存储值,cookie,session

    一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...

  4. 使用java对sql server进行增删改查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  5. Java API实现Hadoop文件系统增删改查

    Java API实现Hadoop文件系统增删改查 Hadoop文件系统可以通过shell命令hadoop fs -xx进行操作,同时也提供了Java编程接口 maven配置 <project x ...

  6. MVC学习-用EF做增删改查

    在做增删改查先,先介绍几个知识点: 1.代理类 在将对象方法EF数据上下文时,EF会为该对象封装 一个代理类对象, 同时为该对象的每一个属性添加一个标志:unchanged, 当对该对象某个属性进行操 ...

  7. Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用

    前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WH 一.JDBC是什么? Java Data Base Connectivity,java数据库连接,在 ...

  8. Hibernate第一个程序(最基础的增删改查) --Hibernate

    本例实现Hibernate的第一个程序,Hibernate的优点我想大家都很清楚,在这里不做过多赘述.总之,使用Hibernate对数据库操作,也就是来操作实体对象的! 项目目录: 一.第一步要做的就 ...

  9. 【ES】ElasticSearch初体验之使用Java进行最基本的增删改查~

    好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结. 现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧. 本文总共分为三 ...

  10. Java项目——模拟电话薄联系人增删改查

    该项目模拟了电话本记录联系人的业务功能,用来练习对数据库的增删改查等操作. 菜单类:Menu -- 用来封装主菜单和个选项的子菜单 Person类: Person--联系人的实体类 TelNoteRe ...

随机推荐

  1. 关于Loki中promtail组件收集日志的几点思考

    promtail组件是采用docker方式运行的,配置文件也是在docker容器中,宿主机中没有挂载点,这就有问题了. 宿主机中没有挂载配置文件,也就没法修改,登录promtail的docker容器中 ...

  2. 2_jQuery

    一. jQuery介绍 1.1 什么是jQuery jQuery, 顾名思义, 也就是JavaScript和查询(Query), 它就是辅助JavaScript开发的js类库 1.2 jQuery核心 ...

  3. ERP 与 CRM 之间有什么联系?

    ERP与CRM都涉及到客户的管理,在客户信息数据里很大一部分是重合的,可以共用的,即ERP里的客户信息可以为CRM所用,CRM的客户信息,亦可为ERP所用!在关系上可以理解为CRM就是ERP的最前端, ...

  4. [CG从零开始] 6. 加载一个柴犬模型学习UV贴图

    在第 5 篇文章中,我们成功加载了 fbx 模型,并且做了 MVP 变换,将立方体按照透视投影渲染了出来.但是当时只是随机给顶点颜色,并且默认 fbx 文件里只有一个 mesh,这次我们来加载一个柴犬 ...

  5. SpringBoot入门项目CRM学习过程中的报错记录(更新ing)

    在用mybatis自动生成实体类和mapper时报错..... is unrecognized or represents more than one time zone. You must conf ...

  6. 使用 Kubeadm 部署 K8S安装

    1. 安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬 ...

  7. Kafka之工作流程分析

    Kafka之工作流程分析 kafka核心组成 一.Kafka生产过程分析 1.1 写入方式 producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(pa ...

  8. SSM(Spring,SpringMVC,Mybatis)框架整合项目

    快速上手SSM(Spring,SpringMVC,Mybatis)框架整合项目 环境要求: IDEA MySQL 8.0.25 Tomcat 9 Maven 3.6 数据库环境: 创建一个存放书籍数据 ...

  9. 2022-08-11-emo了

    layout: post cid: 7 title: emo了 slug: 7 date: 2022/08/11 10:14:00 updated: 2022/08/11 10:15:40 statu ...

  10. SpringBoot (四) - 整合Mybatis,逆向工程,JPA

    1.SpringBoot整合MyBatis 1.1 application.yml # 数据源配置 spring: datasource: driver-class-name: com.mysql.c ...