本人最近和不少小公司的程序员打交道。经过和他们的深入交流,我感受到了不少小公司程序员的现状,由此深深地感叹,可能真有不少小公司的程序员未必能干到30岁,甚至,一些技术一般态度又不好的程序员,可能还未必能干到28岁。

1 能踏实做好增删改查的程序员,就算能力达标

我去我朋友开的一家软件坐了坐,顺带近距离观察了他们java程序员的开发日常,首先说明,我接触到的程序员不是才入职,而是普遍有2到3年工作经验。他们的开发团队是一个项目组长外带10多号人做个java方面的维护项目,用到了spring boot。

其中所谓技术好的程序员,是能根据现有的业务照抄代码,编写新业务功能。编写过程中,如果遇到不熟悉的api,还能上网根据功能查,比如要输出指定的格式,那就会查下然后用Calander等类实现。如果写代码时遇到一些数据库问题或基本的问题,还能把问题关键字放到网上查,并找到对应的解决方法。

在此基础上,如果遇到有bug,还能主动解决,遇到活还不退缩,也就是说所谓的技术好外加态度好,这种人已经算是不可多得了,至于熟悉maven或git等基本管理工具,那更是能算技术顶梁柱了。在这个团队里,不少做java后端的,而且有2年开发经验,是属于无法解决实际问题的。比如无法通过debug排查问题,遇到一些JPA方面的问题,或数据源配置问题,根本不知道如何查。

而他们的项目组长,更多的职责是管进度,同时用最简单的方法把系统发布到网上,并做简单的数据库等方面的配置管理。比如就直接用mvn命令打包,用复制粘贴的方式把jar包放到linux上,遇到数据库性能问题,还能连到linux上用命令建mysql的索引。不过,就是这样的技术,用来管理他们公司的项目,也绰绰有余了。

2 除了业务知识外,这些程序员还会什么?

我朋友所在公司里的程序员天天都在创造价值,所开发和维护的项目还真值不少钱,他们每天也不能算闲。但除却哪些摸鱼的程序员,那些态度积极的程序员技术上掌握了哪些技能?

1 业务知识点,比如某个业务流程该怎么做,中间该从哪里获取数据,该返回什么。这些业务可能是这批程序员平时接触最多的所谓技能,而公司也是凭借“能正确开发业务”来考核程序员,但这些只能算业务知识,不算技术。

2 用Spring boot开发业务的技能,这倒算,不过用Spring boot外带相关组件开发业务的技能太廉价,哪怕是零基础的用1个月就能会,而且这种零基础的程序员进入公司3个月后就能熟悉各种业务,也能用Spring boot开发各种功能,所以只掌握这些技能的程序员太多了。

3 能分析和排查问题,比如出现了空指针,能通过debug找到问题,或者出了jpa的错误提示,能把这句提示放网上找,然后再根据提示修改若干代码和配置,从而解决问题,不过这种技能太杂,以后通过面试跳槽时,无法通过这类技能来展示自己的能力。

4 所谓的项目管理能力,比如会用Maven和Git等,但这些技能可能也就停留在“会用”的层面。

更值得感叹的是,我观察下来,这家公司的程序员,有不少是摸鱼的,干活仅限于完成功能不出错,未必还会再去关心其他还谈不上值钱的技术和项目开发的技能。

3 高级程序员和架构师还需要哪些方面的能力?

程序员如果干到28或30岁,不能仅停留在只会做增删改查业务的初级阶段,因为如果单凭这些能力,会很轻易地被应届生,甚至是培训班学员替换。

如果站在老板的角度,年轻人肯加班,而且更容易被所谓的情怀等洗脑,工资还给得低,相比之下,28岁或30岁的程序员谈不上是老油子,但如果干的还是和年轻人一样的活,那老板很有可能要年轻人。

这里姑且不说大厂java架构师的技术要求,也不说大厂高级开发所需要的能力,就仅仅说下一般公司对高级程序员的需求。

1 能熟悉Spring Boot的相关技能,比如jpa,aop,ioc,restful,junit等,哪怕不熟悉,也应当能在短时间(3天内)内熟悉。

2 熟悉基本的数据库方面的性能调优,能解决单机版数据库方面的问题,比如复杂sql,索引等方面的问题。

3 能在linux上看日志,并能通过日志,解决大多数的单机版(非分布式组件方面)问题。

4 能熟悉Redis,Dubbo等分布式组件的用法,至少会api,如果可以,还应当能用这些api开发基本的高并发应用。

5 其他单机版的问题,比如api的调用或问题的排查,哪怕之前没做过,也应当能通过查网上的资料很快解决。

顺带再说下大厂对高级开发乃至架构师的要求。

1 熟悉各种分布式组件的配置方法和用法,能熟练使用分布式组件开发各种高并发需求,并能熟悉限流熔断等技术。

2 熟悉软件发布部署上线的流程,比如搭建mysql环境,搭建redis组件,甚至会docker和k8s。

3 能通过日志,排查并解决OOM,数据库性能等高级问题,凡是高级开发无法解决的问题,架构师都应该能解决。

4 可以想象初级程序员在30岁时的处境

如果只会初级的增删改查技能,在27,8岁之前找工作应该没问题,毕竟当下有太多的软件公司,初级开发的岗位也应该有不少。

但有3到5年开发经验的java程序员应当需要升级到高级,也就是说,如果在27或28岁,依然只会初级开发技能的话,高级开发的面试应该过不了,甚至面试中提到的一些技术连听都没听过。如下给出些问高级开发问题。

1 你们项目用哪些组件应对高并发?怎么解决限流熔断等问题?

2 Redis集群,或Dubbo集群你用过没?如果没用过,你是怎么解决redis穿透,或dubbo优雅停机等方面的问题?

3 你是怎么排查项目中的OOM和数据库性能问题的?在项目中怎么监控性能的?

要知道,对于我初级开发来说,面试前背java八股文还有些用,但对于Java高级开发来说,只会背八股文,面试一定过不了。

所以对这些在28岁甚至30岁还在做java初级开发的程序员来说,有可能还能通过跳槽涨工资,但由于无法升级到高级开发,在公司里的处境可能就很尴尬了,因为能干的活年轻人都能干,而且人家还能加班。这样的话,遇到公司运营有问题,还真可能被优化。而且被优化后,甚至有可能连面试机会都没。

5 大龄尚在初级阶段的程序员多吗?

我只凭推测,但这部分的程序员数量应该不少。

1 不少公司可能更多注重业务,在项目开发环境中无法提供分布式等值钱技术的实践机会,这就导致不少程序员就认为,开发项目只需要用到一些比较初级的技术。没有机会实践高级技术,提升也就无从谈起了。

2 不少程序员跳槽时可能更多关心薪资,未必会关心公司所用的技术,所以很有可能进入新公司后,薪资有涨,管的人也变多,但用的还是老一套技术。

3 更重要的是,为了能找到能提供值钱技术实践机会的公司,先得在面试中证明相关技术的项目经验,要做到这点不容易。

4 况且,不少程序员虽然身处小公司,但加班程度未必比大厂少,往往是忙了一天后,看似很充实,也确实挣到了钱,但哪怕是日积月累,每天干的活都是重复劳动,提升也就无从谈起了。

所以,我在我朋友公司看到的一些程序员的状况,可能就未必是孤例了。不能说大多数小公司的程序员都这样,但像这样的程序员还真未必在少数。

6 人往高处走,程序员尤其应警惕

比起其他行当,程序员确实能有用加班换取高薪的机会,但可以这样说,程序员确实是一个吃青春饭的行当。

不说其他,就看看每年毕业的应届计算机专业的毕业生,再看一些大厂的培训班输出程序员的数量,就足以让大多数程序员警惕。

不过天无绝人之路,我本身最近,也帮了不少零基础程序员入行,也帮了java不少初级开发成功升级,再看看一些大厂也在天天招人,这足以说明,哪怕当前身处小公司,哪怕当前技术能力一般,程序员应当也有机会不断升级,或者能通过努力进大厂。我今天也是为大家准备了一份阿里P8手写的内部Java核心开发成长手册内容涵盖p5-p8技术栈,非常全面,希望这份资料能对那些想晋升涨薪的朋友有一些帮助。下面我就为大家展示这份资料

由于篇幅限制,只能截图·展示这份资料,完整的pdf已经准备好需要的朋友麻烦点赞关注支持一下,私信发送“Java”即可免费获取

JVM

image

Java集合

多线程并发

由于篇幅限制,只能截图·展示这份资料,完整的pdf已经准备好需要的朋友麻烦点赞关注支持一下,私信发送“Java”即可免费获取

Java基础

Spring原理

Netty和RPC

网络

Kafka

RabbitMQ

image

image

image

数据库

image.png

由于篇幅限制,只能截图·展示这份资料,完整的pdf已经准备好需要的朋友麻烦点赞关注支持一下,私信发送“Java”即可免费获取

一致性算法

image.png

JAVA算法

数据结构

Hadoop

由于篇幅限制,只能截图·展示这份资料,完整的pdf已经准备好需要的朋友麻烦点赞关注支持一下,私信发送“Java”即可免费获取

为什么有的程序员干不到30岁就转行了?相关推荐

  1. 程序员伤不起的年龄——30岁

    程序员干到30岁,好不容易从码奴混到了白领,却再也干不动了,还时时面临失业的危险.30岁,是一个程序员伤不起的年龄.明天,何去何从? 一.30岁现象 在官场上,曾经有一个59岁现象,就是官员们会在59 ...

  2. Java开发者薪资最低?程序员只能干到30岁?国外真的没有996?Intellij真的比Eclipse受欢迎?

    Stack Overflow作为全球最大的程序设计领域的问答网站,每年都会出据一份开发者调查报告.近日,Stack Overflow公布了其第9次年度开发者调查报告(https://insights. ...

  3. 爆赞推荐:看美国程序员是如何在 30 岁实现财务自由的

    上面这个公号「涩郎」,是我的一个备用号,为了防止万一哪天大号失联,平时一周我也会发三篇左右的我的思考,读书笔记,认知感悟等文章,带领大家一起探索精神与财务自由之路. 大家好,我是校长. 今天给大家分享 ...

  4. 我是一个Java程序员!我今年30岁!

    程序员的30岁 30 岁程序员,差不多已有了 8-10 年的编程工作经验.8-10 年差不多是一个高级软件架构师应该具有的基本工作年限.不少人在 30 岁时已经做到了高级架构师,带着团队:不少人虽然没 ...

  5. 30岁的问题,为什么有人说程序员只能干到30岁。

    总是有人在说程序员是青春饭,到30岁就干不动了,要转行,要事业了等等之类,来吓唬后生小辈,让我们对职业人生困惑,害怕. 说这些话的人很不负责任. 现在30岁以上在敲代码的,还要出来找工作的,都是些什么 ...

  6. 中国的程序员只能支撑到30岁么

    原文地址:http://www.cnblogs.com/stay/archive/2011/08/17/2141734.html 2011年7月,仅仅47岁的"中国第一程序员"求伯 ...

  7. 中国的程序员只能支撑到30岁么。

    2011年7月,仅仅47岁的"中国第一程序员"求伯君彻底退隐江湖.这代表着一个时代的过去,在求伯君风光的年代,程序员身上充满着个人英雄主义 的浪漫情怀.而随着时间的不断推移,单个程 ...

  8. 程序员职业规划:30岁后如何实现质的突破!

    30 岁出头的年纪,正是娶妻生子的时候,一方面家庭压力增大,一方面职场上的地位却越发尴尬.稍不留神,就会在这两个战场节节败退. 那么,在这个时代,想给自己一份保障,让自己能够从容地活着,到底应该怎么办 ...

  9. 年入200万的华人程序员,过了30岁就成傻逼了?

    来源 | https://www.zhihu.com/question/494603100 今天逛知乎的时候,看到一个问题: "湾区年薪30万美元,是不是日子过不下去很贫困?" 这 ...

  10. 程序员如果到了30岁还一事无成,就别只想着琢磨技术了!

    程序员有两种,一种是想当管理的程序员,另一种是不想当管理的程序员.想当管理的程序员很好理解,就是"人往高处走"嘛!但是,不想当管理的程序员让很多人摸不着头脑,但是实际上他们的想法很 ...

最新文章

  1. 第三次作业---读《构造之法》1-5章有感
  2. Swift语言中class、struct、enum的联系与区别
  3. 封装、继承、多态、访问符,范围修饰符
  4. 【音频处理】Adobe Audition 快捷键设置
  5. HDMI视频光端机传输故障如何调试?
  6. php mongodb排序查询,Mongodb 如何按照内嵌文档的某个字段排序?
  7. 苹果cmsv10精仿迅播影院2tu风格主题模板
  8. init_cheap: VirtualAlloc pointer is null, Win32 error 487
  9. Vue 高德地图使用总结
  10. eval() python_如何使用 Python 编写 vim 插件
  11. 2012年10月份考试后感
  12. java netty rpc框架_Java编写基于netty的RPC框架
  13. Keil C51软件的使用
  14. Winform开发全套31个UI组件开源共享
  15. 影视App下载页源码
  16. 软件项目运维内容 软件系统运维工作内容
  17. 真格量化常见报错信息和Debug方法
  18. 抄送列表 ,处理邮件,年会抽奖
  19. 灰度图转换成彩色图和彩虹图
  20. 如何协助企业IT架构转型

热门文章

  1. 用python画爱心动图_python 动态绘制爱心的示例
  2. 井字棋(棋子可消去(拿走))
  3. nvivo服务器项目,【NVivo教程】用Nvivo为研究团队设立主项目
  4. [C#] NAudio 各种常见使用方式 播放 录制 转码 音频可视化
  5. 理财中的六大心理学效应(一)
  6. Lambda表达式的几种简化形式
  7. 基于STM32设计的实时心率检测仪
  8. 无法定位元素问题:使用phantomjs来进行模拟人的计算机行为的时候可能的报错(么牢牢啊)以及自己的问题解决
  9. (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  10. 全网最细海龟 (turtle) 画图讲解 (三):设置画笔样式