因为很多公司的项目需求,不需要数量过多的大龄程序员,一般的项目配置是,30岁左右的项目经理,承担架构+运维+管理的角色,手下一批年轻的做增删改查的人。
1 项目不管做什么业务,用什么语言,一般大多都是调用api+复制雷同功能代码+适当修改。
2 连数据库时,一般只需要基本的增删改查。
3 java方面的项目,不需要太大并发量,python等项目,也不需要太多复杂资深的技术, 哪怕项目出了问题,一般看下日志就可以解决。
4 Java方面的一些复杂技术,比如redis缓存或kafka消息中间件,python方面的复杂技术,比如机器学习或模型,一些业务项目不会用到。
总之,不少,甚至可以说大多数的项目,做开发的,只需要单机版的做增删改查的技能,哪怕是项目经理这个级别,顶多也再需要些排查问题的能力,这些公司其实是不需要资深(大龄)程序员,如果招个资深的,干的也是类似的活,而且还得给高薪。
本人之前也到一些上海的公司去做技术培训,有些公司人数上百,算规模不错了,但java项目也就用个单机版的redis,再用个nginx做分布式部署,其它分布式微服务组件不用。项目里,页面和业务倒不简单,但技术上用SSM(还不是spring boot)就足够了。
再多说些,除了一些业内有名的公司,比如银行保险大厂或一些互联网公司,一些做业务的,其实情况也差不多,想找个有经验的,一般也是说,找个有3,5年经验,做熟增删改查,有些公司甚至不论学历,比如大专高职的也行。
所以此类公司的程序员年龄也就25到28,除了老板和项目经理以外,其它人的年纪真不大。那么有人可能会问了,过了几年,程序员年龄大上来后怎么办?记住,鸡蛋永远不要放在同一个篮子里,无论投资角度,还是收入角度,职业、副业、事业这三者自己多想想,想要不落雨被动,总要有1-2个把握在自己手里的(家里有钱,可以啃老除外<我不觉得啃老就一定不好>)。
由于本人也是程序员,所以忍不住再多说几句。
1 不少大龄程序员,其实一开始用1,2年熟悉技能后,其实做的是重复工作,所以到了27,28岁左右出去找工作时,除了业务知识,其它没有积累,而一些中小公司的外包项目的业务,其实不值钱。
2 大专高职甚至中职学历,可能在27,28岁之前还有可能在一些中小公司做,靠跳槽还能涨薪,但年纪一大,在中小公司里干下去虽然不能说一定不行,但薪资什么要涨,也不现实。所以这些程序员,或者尽快升级个学历。
其实哪怕到了30岁,本科学历,哪怕之前依然在小公司,也有可能进入到好公司。
如果依然在小公司之间投递简历,依然用当下做项目的技能去面试,这自然不行,或者这个年龄还是去背八股文,那其实和应届生找工作也没啥差别。
换句话说,这个年龄找工作,技术和面试说辞要准备,同时关键还要找对渠道。先说找对渠道。
1 如果依然在一些网站或app上投,估计一些小外包hr会找你,或者这个年龄估计也不找了。
2 去找些猎头公司,或者到一些有猎头的网站,然后和对方说,我想要去好公司,中小公司外包不想去,你现在有机会就帮我投,没机会我愿意等。
3 再退一步,这个年龄如果一时无法以正式员工身份进好公司,可以暂时先以外包身份进好公司,一来可能以后有转正式员工的可能,二来项目里可能遇到更值钱的技术,后面找工作也方便。(技术大厂,前后端测试捞人,感兴趣的可试试)
可能有些30岁的程序员天天做惯了增删改查,被些田园敏捷开发(加班+频繁改需求)折腾得没想法,甚至都不知道自己有多值钱。
1 本科学历,如果不是计算机专业,毕业到现在有7,8年了,如果中途转行,挖掘个5年经验也不成问题。
2 有7,8年经验,如果依然用增删改查这套去找工作,自然无法和年轻人竞争,此时可以准备些架构方面的技能和亮点。
3 做了7,8年项目,多少用过些分布式组件,多少解决过些实际问题,系统上线、运维或数据库调优等,哪怕没做过,听也应该听到些。准备面试时就靠这些。
换句话说,这个年龄准备Java面试,更多得靠架构、运维以及排查解决实际问题的能力。架构这块技能别去背面试题,而是分如下几个层面去准备。
1 先证明自己用过Redis,kafka,[Nacos]等组件,这里有一个算一个,都得准备。如何准备呢?第一说业务场景,比如自己项目有分布式事务的需求,即数据库部署在多个服务器上,那么不得不用[Seata]分布式事务组件,再说怎么用,比如如何配置Seata的参数,如何写代码。
2 这个年龄的程序员,多少做过些系统配置,比如上线后修改过线上参数,或者干脆参与过上线,说白了就把jar包复制到linux环境上再启动。这时得尽量挖掘在linux上的操作经验,这块其实和运维和架构有一定关系。
比如可以说,自己在linux上部署过项目,在linux上通过看日志排查解决过实际问题,参与过部署,再进一步,如果配置过redis或mysql参数,或者是搭建过redis集群,这块都可以说。再进一步,如果用过docker等更可以说。
说的方式都一样,说干嘛要用?比如为什么要配置mysql参与,为什么要用docker,再说如何配置,或者是用过docker哪些命令。这块如果说好了,外加之前分布式的使用,一定能让面试官感觉,你至少有过架构方面的经验,这比单纯背题强太多。
3 然后说自己解决过的问题,尤其是分布式组件或调优层面的问题,这块话题太多,比如数据库调优,解决内存OOM问题,用Redis时处理过缓存穿透,或者是Redis阻塞,用kafka解决过消息堆积。其实有7,8年经验的Java开发,这些事情平时多少遇到过些。
如果实在没遇到怎么办?这个工作年龄了,技术应该是没问题,现去网上找些组件或调优的问题,嵌入到项目里,这都不是难事。
大家可以想象下,比如30岁Java开发,简历上只有增删改查的技能,或者包装了分布式组件,但面试时只会背面试题,自然甚至小公司都未必会要。但如果简历上展示用过各种资深技术,面试时用上述方法,通过细节和业务场景证明自己用过各种值钱技术,解决过实际问题,顶多再去背些面试题,其实要进个好公司也不是不可以。
作者:老胡聊Java
来源:知乎
共同学习,写下你的评论
评论加载中...
作者其他优质文章