写点什么

2020 年运维行业学啥技术比较值钱?

用户头像
EUSCE
关注
发布于: 2020 年 08 月 20 日
2020年运维行业学啥技术比较值钱?

1. 当局者谜

运维行业的从业者很多人很迷茫。有些人整天做着重复枯燥的人肉运维,像个机械的操作工;有些开发觉得你能干的我也会,要你干啥?有些老板,没出问题的时候觉得你没干活,出了问题觉得养你有啥用。。。=_=||

很多人觉得自己时运不济,没捞着个好公司或者牛逼的团队,钱少糟心事还又多,觉得和牛逼的人共事能省下不少烦心事。说白了大部分都是自己的问题,你得先变强,才能遇到更多强大的人。我相信强大的团队一定也会遇到很多强大的问题,但是大家都有很强的软硬实力去解决各种难题。其中软实力包括:发现/解决问题的能力、沟通协作能力、心理调节能力等等,软实力的通用性很好,但培养周期比较长且难以衡量,不在本文的讨论范围。对于技术从业者而言,硬实力通常就是指的专业技术,本文结合分析了在运维行业(细分运维开发方向),哪些技术在招聘市场上比较吃香。

2. 圈定技能范围

每家公司运用的技术栈都不尽相同,这导致了对运维技能的多样性呈现出很高的要求。对比每个公司的招聘需求,整体上能发现很多的共性,掰开看又能看到很多的个性;因此我首先搜集了出现频率比较高的技术,然后从招聘网站获取数据,再用脚本分析每个技能的命中次数、平均薪酬、中位数薪酬,最后得出结论。

首先整理了一下当前在技术领域/招聘市场比较火热或常见的技术,列了个清单。考虑到有时候招聘需求上可能会写技术简称,因此我把别名/作用也一并列出了一些。整理下来差不多有三十多个。

详细清单如下,同一行可以视为同一个技术,有些技术类别很相近,但是我觉得应该拆分就拆分了。同理,有些技术虽然不同,但存在一定的共性,也做了合并,最后分析时技术名以每行第一个为准。

Linux,Centos,UbuntuWindowsPythonShell,BashGo,GolangJavaJavaScript,vue,react,前端ansiblesaltstack,saltzabbixprometheusdjango,flask,tunado,后端nginxapachetomcatmysqlredismongodbelasticsearch,elkdocker,容器k8s,kubernetesistio,服务网格gitjenkins,CI,持续继承,持续交付kafkalvskeepalived,keepalive,高可用haproxytcp,http,负载均衡iptables,安全网络,dnsCDN
复制代码

数据抽取与分析逻辑

本节简单说明了数据来源与分析逻辑,不敢兴趣的朋友可以直接跳到最后一节"最终结论"。

数据来自拉钩,关键字"运维开发",地理范围限制在某二线城市,总共 72 个职位。本来想从 boss 直聘获取,但是个人体验下来 boss 对游客的反爬策略比较苛刻,自己又不想登录又不想花钱用代理,所以最后选择了拉钩,拉钩的反爬策略相对宽容一点;

源码不便分享,但是程序逻辑有必要说明。整个分析流程大致是这样的。

首先将职位详情页 dump 到本地,然后用 xpath 去提取详情页的职位要求、薪资水平等信息,然后用刚刚列出的技能点做正则匹配。当然,正则匹配需要注意一些事项:比如忽略大小写、要能区分 java/javascript 的区别等等,我统一生成的是这种正则表达式:

self.regx = re.compile(r'.*{}[^a-zA-Z].*'.format(self.name), re.IGNORECASE)
复制代码

遍历技能点,遍历职位详情进行分析,刚刚列出的清单中,同一行其实视作一个技能,因此任意一个命中该职位,就可以更新这个职位的最高薪酬、最低薪酬、中位数薪酬、命中次数等属性,并且完成本职位详情的分析,同时避免同一技能重复分析、计算同一个职位。

这里特别说明一下,判断某个技能是否在招聘市场上比较值钱,我这边着重关心的是每个职位平均薪资的中位数的高低。比如某个职位的薪资是 15-25k,那么这个职位的平均薪资就是 20k,然后命中这个技能的所有职位的平均薪资拍个序,取最中间那个职。这样避免了某几个职位的上限或下线很极端,对整体造成的影响。

最终完成分析后,根据薪酬排名、命中数排名,得到薪资中位数和命中率最高的技术,用 wordcloud 做了可视化。

最终结果

薪酬中位数排名

最终结果还是有点出乎我意料的,我一开始认为 python、k8s 这种技能最终的薪酬应该是最高的几个,但是事实上不是;根据薪酬中位数排名,最靠前四名分别是:Go,Java,Javascript,istio,中位数均超过 20k;看来运维开发,重点还在开发呀,Go 语言借着微服务的东风,已经发育起来了。

按照薪酬中位数生成的词云,薪酬中位数越高越显眼:



技能命中数排名

这张图似乎比较符合大家的认知,命中次数最高的 5 名依次是:linux(54 次),python(47 次),docker(45 次),网络(42 次),k8s(37 次)



过滤重点技能

最后,让我们聚焦一下薪酬中位数达到 20k 且命中率超过三分之一(24 次)的技能:只有寥寥 8 个:



我把这 8 个技能的结果数据分享给大家,其中 hit 表示命中的职位个数,mediansalary

,avgsalary,maxsalary,minsalary 分别表示样本薪酬的中位数、均值、最高值和最低值

[    {        "go统计": {            "hit": 32,            "mediansalary": 22.5,            "avgsalary": 22.33,            "maxsalary": 45,            "minsalary": 10        }    },    {        "linux统计": {            "hit": 54,            "mediansalary": 20.0,            "avgsalary": 21.12,            "maxsalary": 60,            "minsalary": 4        }    },    {        "python统计": {            "hit": 47,            "mediansalary": 20.0,            "avgsalary": 20.71,            "maxsalary": 60,            "minsalary": 4        }    },    {        "docker统计": {            "hit": 45,            "mediansalary": 20.0,            "avgsalary": 20.64,            "maxsalary": 50,            "minsalary": 4        }    },    {        "网络统计": {            "hit": 42,            "mediansalary": 20.0,            "avgsalary": 21.88,            "maxsalary": 60,            "minsalary": 3        }    },    {        "k8s统计": {            "hit": 37,            "mediansalary": 20.0,            "avgsalary": 20.23,            "maxsalary": 50,            "minsalary": 4        }    },    {        "shell统计": {            "hit": 32,            "mediansalary": 20.0,            "avgsalary": 20.34,            "maxsalary": 50,            "minsalary": 6        }    },    {        "jenkins统计": {            "hit": 25,            "mediansalary": 20.0,            "avgsalary": 20.18,            "maxsalary": 40,            "minsalary": 9        }    }]
复制代码

希望本文能给不知道学什么,并想成为 devops 的朋友们一点参考。

另外打个广告,下面是我的个人公众号~主要分享 linux 运维方面的内容



用户头像

EUSCE

关注

还未添加个人签名 2018.01.17 加入

还未添加个人简介

评论

发布
暂无评论
2020年运维行业学啥技术比较值钱?