工作5年左右的程序员如何在职业瓶颈期内快速提升自己的身价?提升后如何有效变现自己的高质量技能?

文章探讨了程序员在职业生涯中可能遇到的停滞阶段,并着重指出提升技能、了解部署配置、日志排查和学习新业务的重要性。作者分享了大厂高级开发和架构师所需具备的能力,包括掌握SpringCloud和SpringBoot,以及应对面试中的各种技术问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上述只是举例,对此,大家需要认真对待职业瓶颈期。

否则的话,或许会出现如下大家不愿意看到的结果。

1 过了快速进步期,个人发展就停滞不前了,比如在公司里,8年工作年限的程序员干的活和5年经验的差不多,而且也体现不出年限高的优势。

2 也能通过跳槽不断涨工资,但所在的公司规模始终不大,这里我无意歧视小公司,但大公司里程序员的眼界和格局普遍要比小公司的要好广阔。

3 我目前在上海,上海的生活压力也不算小,而且随着程序员的年龄增长,就得面临结婚买房照顾父母小孩的压力,如果持续2,3年发展停滞的话,生活可能就会比较艰辛。

2  大厂的高级开发和架构师一般得具备的功能

解决这个问题时,我们需要直接面对靶心。

比较直接但有效的解决方案是:提升自己的能力,在公司里挣更多的钱。再具体一点,大公司往往需要哪些方面的能力呢?本人最近几年工作的公司规模不算小,也接触了不少大厂的程序员,这里来说下我的体会。

1   对高级开发而言,大厂的基本要求是技能达标,即能完成项目组的任务,但就这点远远不够。

2   应该适当知道些配置部署方面的知识,比如能搭建一个Git平台管理代码,能用Jenkins或uDeploy工具搭建一个自动化部署平台,一旦项目部署到web服务器上有问题,高级开发还可以解决一些这方面的基本问题。

3   技术是为业务服务,一旦业务出现了问题,需要能及时通过看日志,快速定位和排查问题,这就要求会些基本的在linux上查看日志的命令,比如grep,less, vi等。

4 这点尤为重要,一般在公司里,每个人的工作都很忙,所以面对自己不熟悉的业务,从别人那边得到的帮助可能会很少,所以高级开发的学习能力一定得很强,一定得能通过查看代码或日志等方式,快速地熟悉各类业务和流程。

5 高级开发一般就需要能独当一面了,比如出现问题,高级开发就需要和需求方或测试方或其它组的人沟通,独立地解决问题,而不能事事再上报领导,请领导解决了。

而对于架构师,除了至少得有上述技能外,还得具备如下方面的技能。

1 不仅要保证系统的平稳运行,还需要找到系统系能上的痛点,比如性能上卡在哪里,或一旦当系统业务规模需要扩大,哪些当前的因素会成为瓶颈。

2 找到痛点后,需要能独立地设计出方案,这个方案可能就不是仅仅是代码或数据库级别的,往往是分布式架构级别,比如如何搭建负载均衡组件,如何搭建缓存等。

3 和高级开发相比,排查问题的级别需要进一步提升,比如对高级开发而言,可以通过debug代码来排查问题,但对架构师而言,就得通过debug现有的jar包来排查底层问题。举个例子吧,我最近就见到一位大牛通过debug Oracle JDBC的底层包,来排查数据类型不一致的问题。

4 一些分布式的组件,一定得非常熟悉,得熟悉到了解到组件里关键jar包的底层代码。这里再举个例子,比如对高级开发而言,可能了解到消息中间件的用法就行了,但我知道的一位资深架构师,能通过mq平台包的异常,一眼看出是哪个里面哪个jar包报的异常,比如是某个jar包里的无界队列过长导致OOM了,或者是哪个jar包引用的日志组件和其它jar包冲突了。

3  努力且方法得当,一切都有可能

我见过不少资质尚可,但因为感觉高级开发或架构师的标准太高从而自暴自弃的,不过,我也见过(以及听说过)不少同学通过逆袭,最终晋级到高级开发或架构师的水准。

1 小A,计算机大专,后来通过专升本和专业的软件培训,具备了从事软件开发的能力,第一家公司非常小。但他早上上班,晚上看书和看视频,还在网上租了个空间,自己实践Spring MVC,Spring Cloud,大数据以及分布式架构,经过3年努力,最终进了阿里,成为其中的高级开发。

2 小B是上海一家二本学校的计算机专业学生,之前做了销售等和软件无关的工作,从事软件行业时,已经是28岁了,我记得他第一份软件工作也是一家小公司,入职后他不断和我吐槽,说他和22岁的毕业生做的是相同的工作。

但他把这种压力当成了动力,也是不断学习不断实践。

经过不断试错,最终他找了一个比较好的方向,AI里的深度学习,然后经过面试,成功入职一下做数据分析的公司,目前薪资碾压同龄人。

案例讲完了,然后讲些能快速提升自己的方法:

1 神枪手是靠子弹练出来了,软件高手是靠踩坑积累起来了。所以在公司里,一旦有了问题,不管是自己的还是别人的,一定得总结,包括总结问题场景,总结排查问题的方法(如何看日志,以及看日志里的哪些要素),以及总结解决问题的方法(比如如何处理jar包冲突,如何通过分区等手段提升数据库查询的性能)。

以我自己的体会,我最近半年遇到的坑比之前3年的都多,但我确实感觉最近进步很快。靠实际解决问题是提升自己身价的最好办法,没有之一。

2 一定得锻炼在linux方面的基本功,包括打开日志,以及在日志里根据关键字的找到上下文,并排查问题的本事。技术只有和业务结合,才能产生价值,在业务点方面,排查问题是绕不过去的弯,我见过身价不同的高级开发,在这方面的能力绝对是不一样的。

3  完成本职工作外,一定得眼观六路耳听八方,在此基础上得迈开腿,多动嘴。

具体而言,有人到组里来寻求帮助时,可以尽量帮忙,哪怕这个问题最终没解决,自己至少也能通过观察别人如何解决,从而提升能力。又如,遇到测试开了bug,就得多和测试沟通,争取快速地重现和解决问题。这样一来二去的,自己分析处理问题的能力提升了不算,还能提升自己协调沟通的能力,一举两得。

4  学习的重要性就不说,这里说下学习的方法。第一还得见缝插针地学,第二,一定得通过看视频或书,系列地了解到这个方面的知识点,先面到点,别反过来。第三,一定得边学边实践,如果开发环境没有,就自己搭建。第四,一定得通过面试(未必要去)等手段检验自己的学习方向和成果,一旦出现偏差,得及时纠正。

我就见过不少头脑灵活的人,就不断学不断面试,这类人学习的效率要远比闭门造车的人要高。

总结下,快速提升自己的方法,第一靠练,第二靠学,第三靠(通过面试)检验。

虽然进阶没捷径,但如果效率高,也能缩短时间,下面给出个小窍门:到大厂实践。

我这里无意贬低小公司,不过相比之下,大厂里处理问题的格局会大些,而且问题的种类和难度也会多,根据我自己的体会,在大厂,尤其是版本迭代快的互联网公司,提升能力的速度是不可想象的。

不过这里问题又来了?如何进大厂?在我之前的博文里,有不少关于面试和写简历的文章,这些一定能帮助到大家。

分享

这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

Spring Cloud实战

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

Spring Boot实战

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

面试题整理(性能优化+微服务+并发编程+开源框架+分布式)

img-ulbA6ZRq-1714690522314)]

Spring Cloud实战

[外链图片转存中…(img-tpu0qbIM-1714690522315)]

Spring Boot实战

[外链图片转存中…(img-C2RAbXK8-1714690522315)]

面试题整理(性能优化+微服务+并发编程+开源框架+分布式)

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值