程序员的职业路径是非常清晰的,但是现实情况下,很多人卡在了高级开发就再也上不去,直到遇到职业发展的危机,比如:
35岁大龄程序员找工作难,国内很多大型互联网公司在招聘要求上,会限制35岁这个年龄
薪资达到一定高度,想通过跳槽涨薪几乎不可能,甚至有可能薪资要求太高找不到工作。
导致这个现象的根本原因有几个:
语言成熟度较高,Java语言从95年诞生到现在已经有接近30年的历史,也是目前市场上主流的应用开发语言。而市场的应用广了会带来需求的增加,需求增加又会带来从业人员的增加,水涨船高。使得Java这个语言的技术生态非常成熟。
就像我们要制造一辆汽车,在早期,我们需要先去制作发动起、发电机、蓄电池等,导致制作一辆汽车的成本非常高,效率非常低。但是在技术成熟以后,要制造一辆汽车,只需要去买各个厂家提供的成熟组件,然后再进行组装就行,这种方式效率高了,成本低了。
而Java语言目前就处于这样一个阶段,程序员只需要用成熟的组件按照业务需求去组装即可,大幅度降低了程序员技术能力的要求,门槛也降低了。
标准化开发模式导致能力差异化较低,目前基于Java语言的应用开发,在整体生态成熟化较高,形成了以Spring Framework + Mybatis +Spring Cloud +Mysql的标准化开发框架,几乎每个公司都是大同小异。
所以大幅度降低了程序员的能力要求,也让大家产生了一种错觉,认为只要能够完成公司的任务,就能够拿到高薪。
但是恰恰是这种标准化开发模式,导致不同工作年限的程序员之间能力差异化不大,比如一个工作5年的人和一个工作10年的人,在技术能力和开发能力上都能满足企业的需求,但是很明显工作10年的人的性价比要低于工作5年的人。而企业更愿意选择性价比更高的人!
Java行业能力评估模型不清晰,不管是企业端还是个人,其实都没有一个清晰的模型去评测自己到底属于什么水平。
前端的世界总是在不断变化,作为开发者,我们需要保持好奇心和学习热情,不断探索新的技术,只有这样,我们才能在这个快速发展的时代中立于不败之地。
介绍一款程序员都应该知道的软件JNPF快速开发平台,很多人都尝试用过它,它是功能的集大成者,任何信息化系统都可以基于它开发出来。
应用地址:https://www.jnpfsoft.com
这是一个基于 Java Boot/.Net Core 构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用;后端框架支持 Vue2、Vue3。
虽然行业内有初级开发、中级开发、高级开发、资深开发等职称,但是这些职称的界限是很模糊的,所以对于企业来说,他们在面试的时候通过考察项目经验、业务场景问题的设计、技术深度、逻辑能力,以及交叉多次面试的方式,去进行人才的筛选。
这种考察就导致出现:“面试造火箭、工作拧螺丝”的现象。
对于个人来说,除了工作年限不断的增加,CRUD写得越来越熟练以外,也并不清楚工作5年、工作7年要具备什么能力,再加上在工作中所有工作做起来都游刃有余。导致自我认知不足,陷入到一种温水煮青蛙的状态。
35岁的职业发展危机,很多人会看到国外很多40多岁50岁的程序员仍然在一线开发,但是国内几乎没有这种情况,原因有几个:
国内和国外企业文化对人才的招聘、培养和管理晋升制度不够完善,导致很多大龄程序员都还是单纯coding阶段国内企业加班是非常严重,动不动就是996、997之类的,35岁后的程序员身体基本扛不住随着应届程序员逐步踏入社会。
再加上国内越来越多的IT培训机构的诞生,导致国内程序员越来越年轻化,很多企业的35岁以后的程序员除了技术经验和管理经验还有点优势外,其他的和年轻点程序员没有任何优势。
随着工作经验和技术的积累工资也是不断的增长,这对企业来将是很大一笔开支。反而,年轻的程序员企业可以用很少的支出也可以让他们干更多的工作。
职业能力评估模型
下图是当前市场,对于Java程序员从初级到架构师的能力要求。
详细的描述了每个阶段需要具备的技术能力和职场能力。
不同背景的程序员职场进阶攻略
-
像985/211这类优秀的院校出来的科班生,天然的起点就要比非科班以及非本科的人要高。科班出身的程序员,一般实习或者毕业都是进入到国内一二线互联网公司,由于起点比较高,所以在未来的发展上会更加容易,选择机会也很多。
-
对于非科班出身的程序员,起点比较低(一般进入到传统企业、外包公司,这类公司在技术能力上没有太多),因此需要非常严格以及清晰的去规划职业方向,通过不断跳槽去不同公司积累自己的竞争优势(优秀的公司、大型项目开发经验、技术能力、视野),从而在工作5年以后,有更多好的选择。
但是大厂很容易麻痹人,会形成一种把大厂的光环当成自己能力的错觉,形成温水煮青蛙的现象,在能力上没有提升。导致未来在找工作的时候比较难,一旦造成错误的选择,很会陷入到职业发展的瓶颈。
这两者的区别除了发展上限以外(一线大厂基本上都要求本科学历以上),其他的能力方面和选择方面基本上差不多。