Java年薪50W,需要达到什么水平?
这是知乎上的一个提问,今天小编就来跟大家聊一聊关于Java工程师的职业发展路径,以及在职场该怎么规划才能尽快进入高薪行列。 主要围绕以下3个方面来聊: 01 Java工程师的职业发展路径 02 初中级Java工程师,该达到什么水平? 03 高级Java工程师,该达到什么水平? 首先,来聊一聊Java工程师的职业发展路径,主要分为两个方向:Java初级工程师 → Java中级工程师 → Java高级工程师/项目架构师 → CTO;Java初级工程师 → Java中级工程师 → Java高级工程师/项目架构师 → 项目经理/技术总监;从初级的开发工程师写代码,实现一个个功能,修改一个个bug;到中级开发工程师写算法、写出常见的一些框架,能单独写一个项目;再到高级开发工程师,懂源码和底层原理,能够结合业务需求造框架,深入理解高并发、多线程、JVM、操作系统等,精通数据库、算法等。到了项目架构师、CTO的级别,前者是公司业务项目的整体技术顾问,后者是负责整个公司的技术管理。走管理方向,除了要懂技术,还要学会管理人员和项目。整体来说,虽然技术要求不那么精湛,但是对人员的综合能力要求比较高,除了技术能力要达到高级Java开发工程师的级别,其他还有包括沟通能力、资源整合能力、管理能力等。大家可以看看以上的路径,结合自身的情况来为自己做好一个职业发展规划路径。昨天我们分享了2023年Java下半年的行情趋势,其中有提到从职友集的招聘需求不难看出,初级、中级Java工程师的需求量最大,两者分别占比是:22.16%、37.14%。市场需求较大,那就来看看初级、中级Java工程师应该达到什么水平?小编先给大家说一下,市场上如何定义初级、中级Java工程师。初级Java工程师,一般是1-3年工作经验的程序员;中级Java工程师,一般是3-5年工作经验的程序员。 如果大家不知道怎么了解初级、中级Java工程师的岗位要求,最直接的方式就是去看招聘网站的岗位要求。 从王道2023年毕业的道友分享来看,想要成为一名有竞争力的初级Java工程师,以下基础知识需要具备:- 集合类、数据库、MyBatis...这些是面试常问的,也是工作中常用的。
- SpringMVC、SSM框架、SpringBoot等,这些都是简历里必备的技能点,也是项目实战中要用到的。
- JavaEE的一些基础知识、SpringCloud、Redis、Nacos、Gateway等都是面试的加分项,务必理解掌握。
- 项目里涉及到的RocketMQ、分布式锁、秒杀服务等,又是极为重要的加分项,如果你能完全理解并且讲给面试官听,那你面试成功的几率必然上涨很多。
想要成为一名合格的中级Java工程师,你需要有扎实的Java基础,深入理解IO、集合、多线程,对JVM有一定了解,熟悉常用的数据结构和算法;熟悉Spring相关生态链,能够基于相关框架熟练进行微服务开发。高级Java工程师,一般是指5-10年工作经验的Java程序员。还是先来看看招聘网站上企业对高级Java工程师的岗位要求:从以上的岗位要求来看,可以看到几个关键词:分布式、微服务框架、Spring框架、主流开源框架,对这些都需要有丰富的经验,以及深入的理解。简单点来说,高级Java工程师更倾向于熟悉且深入理解各种框架,对技术和经验的要求更高了。 以上是Java高级开发工程师的技术要求,但是在小编看来,高级技术人员如果想要未来的职场上限更高,另一方面的实力也要跟上才行。这里小编给大家分享一下网友的观点,虽然他在技术方面分享的是C++,但是他分享的技术方面的观点、软实力方面的分享,都是很值得大家参考和借鉴的,一起来看看。十年经验告诉我,至少有两个方向的积淀可以成为程序员的护城河。
其一必然是技术。比如,C++ 程序员技术上的护城河,可以是对 C++ 标准的深入理解;可以是对 CPU、内存序以及任务并发的了然于心;还可以是对网络安全以及软件性能的独到见解。这些相对底层的知识和“技能”可能会被认为只能算是程序员的“基操”。是的,对于科班出身的程序员,以上内容可能在大学前三年就捣鼓得清清楚楚。然而尽管是在大厂,我面试过的应聘者或合作过的同事,不少人在这些基础问题的认识上都非常含糊,知其然而并不知其所以然。所谓“熟练掌握 C++”,甚至都没法独立完成网络库的自动化测试代码... 所以,我认为基础和底层的知识能够构筑起程序员夯实的根基,再配合一定的编码水平以及架构设计能力,大有可为。
其二是软实力,比如良好的沟通能力、需求理解能力、产品能力等等,会比单纯技术上的牛逼更加重要。举几个反例:前期的需求理解没到位,会导致团队几个月的开发成果并不是客户想要的东西(而尽管用了很牛逼的技术...);在对接上下游时的含糊,可能会导致联调中反复出现各种问题而延误交付时间点;初期缺乏审慎考虑的 API 设计,在后续出现不兼容变更时遭到客户大量投诉(因为需要重新适配不兼容的 API)。
虽然上面提到技术和软实力都是程序员的护城河,但随着工作经验增长,后者的重要性会越来越大。单纯拥有拔尖的技术,可以把一个技术点做得很好;但还需要具备多方面的软实力,才能真正做成一件事。以上是小编从职业发展路线的方向分析的,如果想了解实际经验的话,建议大家来听学长的直播,小J学长从机械专业转行到Java,目前已经实现了年薪50W的小目标,作为一名Java程序员想要达到年薪50W,需要达到什么水平?这场直播将于3月3日(周日)晚8点,在B站“王道计算机教育”直播间开播,不想错过的同学记得扫码预约直播。 |