之前有小伙伴问我,Java和golang两种语言怎么选?考虑到我的回答可能会成为小伙伴的“人生意见”,那可不能马虎。
在此,老K就不介绍两种语言技术上的差别了,来看点现实的,看看近期java和golang在招聘市场上的情况!
我统计了几个主流程序员招聘网站拉勾网、牛客网、智联招聘上超过1万多条在招职位,分析了职位需求、收入水平、职业发展、城市分布等信息,得出了下方的结论。
整个过程耗时1天半,涉及到数据爬取、收集、清洗、挖掘分析、以及可视化呈现,耗时耗力,如果觉得不错,请务必给我点个赞+收藏哦。
首先看一下我在网上收集的超过10000条关于“开发工程师”相关的职位,如下图:
得到如下数据结果:
可以看到,需求最大的还是前端和测试相关的工作;
在后端工作中,java语言以7.15%的工作机会遥遥领先,之后是安卓、ios等;
目前go/golang语言在所有开发工程师职位中,占比1.11%。
以下是关于需求职位的详表:
类型 | 数量 |
前端 | 20.44% |
测试 | 19.67% |
java | 7.15% |
AI算法 | 5.1% |
安卓 | 4.32% |
大数据 | 2.88% |
iOS | 2.71% |
运维 | 2.22% |
unity | 1.39% |
go | 1.11% |
数据库 | 0.72% |
python | 0.55% |
php | 0.22% |
其它 | 31.52% |
对全部获取到的职位进行分类,仅分析java和go类目下的记录,来看看相关职位的手入情况:
java | 收入 |
最高值 | ¥80,000.00 |
最低值 | ¥5,000.00 |
平均值 | ¥14,635.00 |
中位数 | ¥15,000.00 |
go | 收入 |
最高值 | ¥70,000.00 |
最低值 | ¥1,000.00 |
平均值 | ¥20,956.00 |
中位数 | ¥20,000.00 |
从上述图表可以看出:
java相对工作机会更多,而且大多数薪酬水平将近8成的工作工资低于20000元,且主要集中在15000元左右;
golang则正相反,工作机会相对较少,平均薪酬在20000元上下,且8成职位给付的报价在1.5W以上;
初步观察下来,虽然golang职位较少,竞争激烈,但如果成功入行,收入水平和福利待遇普遍更高。
看完薪酬概况,我们来了解一下两种语言对工作年限的要求有何不同。
从上图可以看出,两者工作年限上的要求接近,招聘要求主要都集中在3-5年这个区间;
具体到平均数和中位数,java两者都是4年,而golang的中位数是3年,平均数是3.6年;
从工作年限来看,两者没有明显的差别。
考虑到大多数关心这个问题的小伙伴,都是职场新人。
那么对于职场新人,两个编程语言到底有什么差别呢?
我们继续向下看,以下是工作年限要求在3年以下(不含3年)的薪酬情况。
java | 收入 |
最高值 | ¥30,000.00 |
最低值 | ¥6,000.00 |
平均值 | ¥12,838.00 |
中位数 | ¥12,000.00 |
golang | 收入 |
最高值 | ¥30,000.00 |
最低值 | ¥1,000.00 |
平均值 | ¥15,591.00 |
中位数 | ¥15,000.00 |
golang语言在3年以下的薪酬水平,平均在1.5万左右,依然高于java的1.2万薪资水平;
不过从绝对数量上可以明显看到,不管在哪个薪酬挡位,java开放的职位始终远高于golang。
我们选择一个工作,不仅要看入行时的薪资,也要看看工作10年后的薪酬水平。
在这里,我们将工作年限要求大于5年(不含5年)的记录提取出来,对其收入水平进行分析,以作为该编程语言职业发展的判断依据:
java | 收入 |
最高值 | ¥80,000.00 |
最低值 | ¥6,000.00 |
平均值 | ¥18,337.00 |
中位数 | ¥18,000.00 |
golang | 收入 |
最高值 | ¥70,000.00 |
最低值 | ¥15,000.00 |
平均值 | ¥30,133.00 |
中位数 | ¥30,000.00 |
长远来看,对于资深工程师来说,golang明显比java收入要高;
java在此区间的平均收入为1.8万元,明显少于golang的平均3万元收入;
可以看出,java的开放的职位更多,但由于java的火热,导致求职者的竞争激烈,造成报价普遍低于golang;
根据以上信息,我们基本可以得出这样的结论:
目前看来golang在求职市场更吃香,但求职者之间的竞争也更激烈。
而学历就是其中一个主要竞争因素。
两种编程语言开放的职位分布大致相同;
不过在大专这一学历水平上,出现了些许差别:要求大专及以下学历的职位在全部java岗位中占比达高12%,是golang岗位(5%)的两倍多;
接下来,我们来看看不同职位,哪些城市的机会比较多。
统计结果排序前10的城市如下:
排序 | java | golang |
1 | 上海(18.56%) | 深圳(28.74%) |
2 | 北京(17.65%) | 北京(26.10%) |
3 | 深圳(16.85%) | 上海(14.66%) |
4 | 广州(9.83%) | 成都(7.04%) |
5 | 成都(7.62%) | 杭州(5.28%) |
6 | 杭州(7.22%) | 广州(4.99%) |
7 | 武汉(3.41%) | 西安(3.52%) |
8 | 西安(2.41%) | 武汉(2.64%) |
9 | 南京(1.91%) | 南京(2.05%) |
10 | 长沙(1.40%) | 苏州(0.88%) |
对于java求职者,北上广深职位机会的占比差不多,除了广州占比较少,其它三市的机会差不多;
对于golang求职者,深圳、北京的占比明显高于上海;
成都和杭州在两种语言上的求职占比都比较高,是新一线城市中的首选求职目的地。
之前和公司里的小伙伴聊天,谈到一个好的开发工程师和普通的工程师最大的差距在哪里。
我们最后得出的一致结论是:对业务的理解。
自己岗位上需要的技术,不用几个月就能学得八九不离十,但能把工作做好的是那些在技术之外,能更好理解业务的人。
这里,我们整理了不同语言岗位所在行业的清单排序,大家可以参考未来求职的行业方向:
排序 | java | golang |
1 | IT技术服务咨询 (308, 22.53%) | 企业服务 (70, 14.26%) |
2 | 软件服务咨询 (254, 18.58%) | 专业服务咨询 (65, 13.24%) |
3 | 科技金融 (88, 6.44%) | IT技术服务咨询 (50, 10.18%) |
4 | 企业服务 (83, 6.07%) | 工具类产品 (47, 9.57%) |
5 | 人工智能服务 (73, 5.34%) | 科技金融 (28, 5.7%) |
6 | 数据服务咨询 (67, 4.9%) | 人工智能服务 (27, 5.5%) |
7 | 移动互联网 (58, 4.24%) | 游戏 (22, 4.48%) |
8 | 营销服务咨询 (39, 2.85%) | 数据服务咨询 (20, 4.07%) |
9 | 数据服务 (34, 2.49%) | 信息安全 (15, 3.05%) |
10 | 专业服务咨询 (33, 2.41%) | 软件服务咨询 (13, 2.65%) |
综合了上面对数据的初步挖掘,我们得到的结论如下:
建议
老K玩代码:全部免费!10个GoLang(Go语言)的免费学习资源
老K玩代码:如何写出优雅的代码?
以上就是我根据求职和发展角度给出的java与golang的选择建议,如果对你有所帮助,记得给老K点个赞哦!
如果大家对这样的报告反馈不错,我会继续分享类似形式的内容,争取做成一个系列。想继续看到更多这类文章的小伙伴,请一定双击屏幕支持一下!
如果你有任何疑问,或者对哪个领域有兴趣而我没有提到的,也欢迎在评论区与我留言沟通。
我是专注于开发领域的@老K玩代码,会持续生产关于编程、开发方面等的优质内容。
如果你想学习编程,或者想精进你的编程能力,可以关注我。
#头条创作挑战赛#