一个公式告诉你为什么程序员要转算法工程师
原来的标题是:算法工程师工资调查 20170611
今天(2017年6月11日)爬了某招聘网站的十大城市的算法工程师职位。
算法工程师
这里的算法工程师包括比较广泛。有做数据科学的,有做图形的,有做信号处理的。之后会统计更细分的领域。
十大城市
以下按照算法工程师的需求量,找出十大城市。因为算法工程师向大城市集中比较明显,所有这十大城市基本可以代表全国的算法工程师了。
城市 | 需求 | 城市 | 需求 |
---|---|---|---|
北京 | 1048 | 成都 | 149 |
深圳 | 353 | 南京 | 92 |
上海 | 312 | 西安 | 91 |
杭州 | 226 | 天津 | 67 |
广州 | 184 | 苏州 | 60 |
需求量在50人左右的还有武汉,长沙,合肥,济南和郑州。
从表中可以看出。北京以1000多人的需求量,成为当之无愧的一超。其需求量相当于后面的四个城市的总和。
杭州作为非一线城市,其需求量不仅远远超过非一线城市里的第二名成都,而且还却超过了广州。其实,杭州的互联网产业,属于二线城市里比较发达的。之前的统计也表面杭州的程序员工资高于深圳和广州。
http://blog.csdn.net/juwikuang/article/details/72891659
一线城市的程序员工资看这里
http://blog.csdn.net/juwikuang/article/details/72888792
工资分布
十大城市的算法工程师的平均工资为18912元。而之前调查的一线城市的程序员的平均工资只有11770元,可见算法工程师在程序员里属于高工资。工资中位数为17500元。如果你的工资超过22500元,你就已经超过了75%的算法工程师,算是优秀的算法工程师了。(吴军老师说的)如果你同时具备第二项技能,比如架构师,并且也做到25%。那就是杰出人才了。
教育
和程序员不同,算法工程师的学历要求,明显提高了。
受教育水平对工资有着显著的影响。看下图。
请注意这里的中间线是工资中位数,不是平均工资,下同。
大专,本科,硕士,博士的平均工资分别是13677, 18727, 20981, 23194。中位数分别是9000, 17000, 17500, 22500。有趣的是,硕士和博士的平均工资差距并不显著。最优秀的25%的博士和硕士,他们的工资,都在25000元以上。但是不排除有些博士并没有走社会招聘而是成了什么长江学者,也许还有房子分。
工作经验
工作1到5年的算法工程师需求量是最大的。
数据显示,工资会随着工作经验的增长而增长。
城市
平均工资方面,由高到低依次为北京(21332),上海(20162),杭州(19138),深圳(18621),广州(18016)。
而工资的中位数排名,则让这五个城市调换了次序。从上图可以看出,北京还是最高(20000),上海和深圳排第二(17500),杭州和广州并列第四(15000)。
统计(Oneway Anova)显示,北京和上海的平均工资没有显著的差异。北京和其他地方的差异都是显著的。
算法工程师工资计算公式
比较了北京,上海,杭州,深圳,广州所有程序员的平均工资和和算法工程师的工资。发现他们两者的correlation是接近于1,二者高度相关。
from scipy.stats.stats import pearsonr
a = [21332,20162,19138,18621,18016] #算法工程师
b = [13854,12213,11009,10655,9503] #所有程序员
print pearsonr(a,b)
它们之间的pearson r值达到了0.995,p-value为0.0003,显示他们之间有很强的线性正关系。我们干脆把他们的线性关系找出来吧。
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
X = [[13854], [12213], [11009], [10655], [9503]]
y = [21332, 20162, 19138, 18621, 18016]
lr.fit(X,y)
print lr.coef_
print lr.intercept_
print lr.score(X,y) #r^2
输出值分别为
[ 0.78846586]
10428.3889601
0.990631312216
也就是说我们可以得到以下公式:
Sˉa=10428.39+0.788∗Sˉp\bar S_{a}=10428.39 + 0.788 * \bar S_{p}Sˉa=10428.39+0.788∗Sˉp
Sˉ\bar SSˉ代表平均工资。Sˉa\bar S_aSˉa代表算法工程师工资,Sˉp\bar S_pSˉp代表程序员工资。
这里的R square非常高,达到了0.99。表示模型解释了99%的变化(variability),即模型非常准确。
我们把回归线打出来看看。
import matplotlib.pyplot as plt
cities = [u'北京',u'上海',u'杭州',u'深圳',u'广州']
plt.scatter(X, y, color='black')
plt.plot(X, lr.predict(X), color='y',linewidth=3)
plt.title(u"程序员和算法工程师平均工资")
plt.xlabel(u"程序员平均工资")
plt.ylabel(u"算法工程师平均工资")
for i in range(5):plt.text(x=X[i][0],y=y[i], s=cities[i], color='b')
plt.show()
因为这个公式是按照地区来算的,所以我们可以说,(Technical/literally speaking),这个公式是“放之四海而皆准”的。?
公司
选择一个什么样的公司,也决定了工资收入。
事业单位工资明显低于其他,但是。。。你们懂的。
公司的规模,对于工资同样影响有限。
你想开始转了么?
如果你现在想转算法工程师,我这里可以提供你的第一课。就是用我们上面提到的程序员和算法工程师的工资关系,求一元线性回归模型。具体见:
《Python机器学习手把手系列——线性回归》
第二课:
《Python机器学习手把手系列——决策树》
一个公式告诉你为什么程序员要转算法工程师相关推荐
- 为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要1...
为什么80%的码农都做不了架构师?>>> 为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的薪水? 由于目前国内嵌入 ...
- 一个合格的web前端程序员要学会哪些技能?
想要成为一名合格的web前端程序猿,要学习的东西有很多,那么web前端要学会哪些技能呢?来看看下面的详细介绍就知道了. 一个合格的web前端程序员要学会哪些技能?想从事web前端开发,只会HTML.C ...
- 一个工作了两三年程序员的学习计划
本人已经工作两年多了,尴尬的是待过的两家公司都是外包,大部分外包公司技术性都很一般,这也是很多人看不起外包公司的一点.可是已经在外包 公司了怎么办,我也很绝望啊.....而且我做过的项目都是很老的项目 ...
- 前端学习与“IT界大佬告诉你,程序员接私活的7大平台利器”
mark一下,博主名称"前端入门到精通",博客标题:"IT界大佬告诉你,程序员接私活的7大平台利器" https://blog.csdn.net/zwjweb/ ...
- 一月集 一个会写诗的程序员2019
冬至 ,昼与惆怅最短,夜与思念最长,愿你一切都好. --光剑 任何年龄的爱情都是合情合理的.心灵的爱情在腰部以上,肉体的爱情在腰部往下.任何年龄段的女人,都有她在那个年龄阶段所呈现出来的无法复刻的美. ...
- 大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)
大厂面试:一个四年多经验程序员的BAT面经(字节.阿里.腾讯) 目录 背景 说明 字节面经 面试题 腾讯面经 面试题 阿里Lazada 面试题 经验之谈 1.首要条件:准备好基础的八股文 2.常用的中 ...
- 二零一九第二天 文/一个会写诗的程序员
今天是二零一九年 第二天 天气依然阴冷 而我感觉 这新的一年开始 也并没有什么不同 而是,变得更加 凄凉萧条 孤寂寒冷了 "我相信会变,但只是更糟" 一个会写诗的程序员 杭州 20 ...
- 一个月薪12000的北京程序员的真实生活
本文作者:白公子 " 每个人都有自己的亲身经历,每个人都有一条生活道路.千万人,千万条,各不相同,各有特点.但是并不是好人都有一条好路,坏人都有一坏路.有的时候却恰恰相反.这虽然不是历史的必 ...
- 一个月薪10000的北京程序员的真实生活
" 每个人都有自己的亲身经历,每个人都有一条生活道路.千万人,千万条,各不相同,各有特点.但是并不是好人都有一条好路,坏人都有一坏路.有的时候却恰恰相反.这虽然不是历史的必然,但却是客观社会 ...
最新文章
- android 开发清理内存_2019年 11 款最流行的安卓手机清理工具 总有一款适合你
- CentOS yum安装MySQL5.7.20
- Hangover C语言 UVA2294
- 母函数 经典题目汇总
- dcs world f15c教学_烟台TSXP57353M【四点零自动化】DCS系统
- 春节怎么抢红包,python一招告诉你再也不会错过微信红包
- figure字体 latex_Latex字体大小和样式
- 基于ObjectArx的AutoCAD二次开发的基础入门
- c语言 tls单向认证 验证证书,使用wireshark观察SSL/TLS握手过程--双向认证/单向认证...
- element上传图片至最大限制数量时,隐藏上传按钮
- FinClip 3 月产品小报:新功能上线小程序一键生成 App
- pthread_cond_destroy死锁卡住问题处理记录
- 《Deep Learning for Computer Vision withPython》阅读笔记-StarterBundle(第6 - 7章)
- Hive中的left semi join和left anti join
- ijkplayer播放视频
- 从零开始:小程序开发环境搭建详解
- 最小安装CentOS 7.6 Linux系统(无UI界面纯命令行,虚拟机教学)
- 文档生成工具-Doxygen使用方法以及注释规则
- 焦虑的80后新中产,崩溃得不动声色,到底是新中产还是“心中惨”?
- APP界面保持屏幕常亮方法