Java和Golang怎么选?翻遍了10000+招聘信息,我似乎找到了答案

createh51个月前 (02-09)技术教程25

之前有小伙伴问我,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工程师

java

收入

最高值

¥80,000.00

最低值

¥5,000.00

平均值

¥14,635.00

中位数

¥15,000.00

  • golang工程师

go

收入

最高值

¥70,000.00

最低值

¥1,000.00

平均值

¥20,956.00

中位数

¥20,000.00

从上述图表可以看出:

java相对工作机会更多,而且大多数薪酬水平将近8成的工作工资低于20000元,且主要集中在15000元左右;
golang则正相反,工作机会相对较少,平均薪酬在20000元上下,且8成职位给付的报价在1.5W以上;
初步观察下来,虽然
golang职位较少,竞争激烈,但如果成功入行,收入水平和福利待遇普遍更高。


工作年限

看完薪酬概况,我们来了解一下两种语言对工作年限的要求有何不同。

  • java
  • golang

从上图可以看出,两者工作年限上的要求接近,招聘要求主要都集中在3-5年这个区间
具体到平均数和中位数,java两者都是4年,而golang的中位数是3年,平均数是3.6年;
从工作年限来看,两者没有明显的差别


入门薪资

考虑到大多数关心这个问题的小伙伴,都是职场新人。

那么对于职场新人,两个编程语言到底有什么差别呢?

我们继续向下看,以下是工作年限要求在3年以下(不含3年)的薪酬情况。

  • java

java

收入

最高值

¥30,000.00

最低值

¥6,000.00

平均值

¥12,838.00

中位数

¥12,000.00

  • golang

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

java

收入

最高值

¥80,000.00

最低值

¥6,000.00

平均值

¥18,337.00

中位数

¥18,000.00

  • golang

golang

收入

最高值

¥70,000.00

最低值

¥15,000.00

平均值

¥30,133.00

中位数

¥30,000.00

长远来看,对于资深工程师来说,golang明显比java收入要高
java在此区间的平均收入为1.8万元,明显少于golang的平均3万元收入;
可以看出,
java的开放的职位更多,但由于java的火热,导致求职者的竞争激烈,造成报价普遍低于golang


根据以上信息,我们基本可以得出这样的结论:

  • java在求职市场上,开放的岗位要显著多于golang开放的岗位:java开放的职位是golang的6.5倍
  • 但golang在各个工作年限上,用人单位开出的预算都远高于java的岗位:golang的薪资平均高出1.3倍,且随工作年限增加差距进一步扩大。

目前看来golang在求职市场更吃香,但求职者之间的竞争也更激烈。

而学历就是其中一个主要竞争因素。

学历因素

  • java
  • golang

两种编程语言开放的职位分布大致相同;
不过在大专这一学历水平上,出现了些许差别:
要求大专及以下学历的职位在全部java岗位中占比达高12%,是golang岗位(5%)的两倍多

  • 对本科及以上的建议:当下可以去争取golang的高收入职位,不过开放岗位比较少,竞争比较激烈;
  • 对大专学历的建议:java的收入虽然低于golang,但其对学历的要求也略低,可以考虑先以java入行,未来有余力再学习golang。

城市分布

接下来,我们来看看不同职位,哪些城市的机会比较多。

统计结果排序前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%)


总结和建议

综合了上面对数据的初步挖掘,我们得到的结论如下:

  • 直至今日,java仍然是市场上接受度最高,求职机会最多的编程语言;
  • golang作为后起之秀,在薪酬方面全方面胜过java;
  • golang虽然收入更高,但竞争也更激烈,95%以上的职位要求本科及以上学历;
  • 相对而言,java对学历的要求较低,大专学历的小伙伴可以把java作为入行的跳板;
  • java不论是起薪,还是高薪,都低于golang,且随着工作年限增长,这个差距进一步扩大;
  • 不论是java还是golang,主要工作机会都集中在北上深;
  • 新一线城市中,成都、杭州的求职机会最多。

建议

  • 本科及以上的同学,且对自己在求职市场的位置有信心的,可以以golang为求职目标,在深圳、北京寻找求职机会;
  • 非本科的同学,可以先学习java,北上深市场上java求职机会较多,作为跳板后,后期如有意愿,可以学习并转型到golang岗位。

推荐阅读

老K玩代码:全部免费!10个GoLang(Go语言)的免费学习资源

老K玩代码:如何写出优雅的代码?


结束语

以上就是我根据求职和发展角度给出的java与golang的选择建议,如果对你有所帮助,记得给老K点个赞哦!

如果大家对这样的报告反馈不错,我会继续分享类似形式的内容,争取做成一个系列。想继续看到更多这类文章的小伙伴,请一定双击屏幕支持一下!

如果你有任何疑问,或者对哪个领域有兴趣而我没有提到的,也欢迎在评论区与我留言沟通。

我是专注于开发领域的@老K玩代码,会持续生产关于编程、开发方面等的优质内容。

如果你想学习编程,或者想精进你的编程能力,可以关注我。

#头条创作挑战赛#

相关文章

三十分钟入门基础Go(Java小子版)_java小白入门

前言Go语言定义Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态、强类型、编译型语言。Go 语言语法与...

Java与Go语言:实际应用体验的深度剖析

在软件开发领域,Java和Go作为两种极具影响力的编程语言,各自凭借独特的特性和优势,在不同的应用场景中大放异彩。Java凭借其强大的生态系统、丰富的类库和广泛的应用领域,长期占据着企业级开发的重要地...

Java程序员学习go语言之入门篇_java程序员要学多久

在软件开发领域,Java凭借其强大的生态系统、平台无关性以及面向对象的特性,长期占据着重要地位,广泛应用于企业级应用开发、安卓应用开发等诸多场景。而Go语言,作为一门相对年轻的编程语言,近年来在云计算...

Java:Java 和Go—你应该知道的8个主要区别

  因为有太多的编程语言可供选择,开发人员经常对哪一种最适合他们的项目感到困惑。因此,今天我们将介绍Java与 Go。Java 和Go都是全球非常流行的语言,它们争夺对服务器端 Web 应用程序的控制...

Java程序员学习go语言之提高篇_go语言工资高还是java工资高

作为一名精通Java的开发者,在掌握Go语言基础后,深入探索Go语言的高级特性,能让你在编程领域拓展新的边界。Go语言凭借其独特的设计理念,在并发编程、内存管理、工具链等方面展现出卓越的性能与优势,为...

有一定的c++ go java的编程基础,如何3天学会flutter开发

如果你有多种编程语言的基础,想要在 3 天内学会 Flutter 开发,可以按照以下的计划来进行:第一天:熟悉 Flutter 基础环境搭建首先,安装 Flutter SDK。根据 Flutter 官...