原来的标题是:算法工程师工资调查 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机器学习手把手系列——决策树》

一个公式告诉你为什么程序员要转算法工程师相关推荐

  1. 为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要1...

    为什么80%的码农都做不了架构师?>>>    为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要10k的薪水?   由于目前国内嵌入 ...

  2. 一个合格的web前端程序员要学会哪些技能?

    想要成为一名合格的web前端程序猿,要学习的东西有很多,那么web前端要学会哪些技能呢?来看看下面的详细介绍就知道了. 一个合格的web前端程序员要学会哪些技能?想从事web前端开发,只会HTML.C ...

  3. 一个工作了两三年程序员的学习计划

    本人已经工作两年多了,尴尬的是待过的两家公司都是外包,大部分外包公司技术性都很一般,这也是很多人看不起外包公司的一点.可是已经在外包 公司了怎么办,我也很绝望啊.....而且我做过的项目都是很老的项目 ...

  4. 前端学习与“IT界大佬告诉你,程序员接私活的7大平台利器”

    mark一下,博主名称"前端入门到精通",博客标题:"IT界大佬告诉你,程序员接私活的7大平台利器" https://blog.csdn.net/zwjweb/ ...

  5. 一月集 一个会写诗的程序员2019

    冬至 ,昼与惆怅最短,夜与思念最长,愿你一切都好. --光剑 任何年龄的爱情都是合情合理的.心灵的爱情在腰部以上,肉体的爱情在腰部往下.任何年龄段的女人,都有她在那个年龄阶段所呈现出来的无法复刻的美. ...

  6. 大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)

    大厂面试:一个四年多经验程序员的BAT面经(字节.阿里.腾讯) 目录 背景 说明 字节面经 面试题 腾讯面经 面试题 阿里Lazada 面试题 经验之谈 1.首要条件:准备好基础的八股文 2.常用的中 ...

  7. 二零一九第二天 文/一个会写诗的程序员

    今天是二零一九年 第二天 天气依然阴冷 而我感觉 这新的一年开始 也并没有什么不同 而是,变得更加 凄凉萧条 孤寂寒冷了 "我相信会变,但只是更糟" 一个会写诗的程序员 杭州 20 ...

  8. 一个月薪12000的北京程序员的真实生活

    本文作者:白公子 " 每个人都有自己的亲身经历,每个人都有一条生活道路.千万人,千万条,各不相同,各有特点.但是并不是好人都有一条好路,坏人都有一坏路.有的时候却恰恰相反.这虽然不是历史的必 ...

  9. 一个月薪10000的北京程序员的真实生活

    " 每个人都有自己的亲身经历,每个人都有一条生活道路.千万人,千万条,各不相同,各有特点.但是并不是好人都有一条好路,坏人都有一坏路.有的时候却恰恰相反.这虽然不是历史的必然,但却是客观社会 ...

最新文章

  1. android 开发清理内存_2019年 11 款最流行的安卓手机清理工具 总有一款适合你
  2. CentOS yum安装MySQL5.7.20
  3. Hangover C语言 UVA2294
  4. 母函数 经典题目汇总
  5. dcs world f15c教学_烟台TSXP57353M【四点零自动化】DCS系统
  6. 春节怎么抢红包,python一招告诉你再也不会错过微信红包
  7. figure字体 latex_Latex字体大小和样式
  8. 基于ObjectArx的AutoCAD二次开发的基础入门
  9. c语言 tls单向认证 验证证书,使用wireshark观察SSL/TLS握手过程--双向认证/单向认证...
  10. element上传图片至最大限制数量时,隐藏上传按钮
  11. FinClip 3 月产品小报:新功能上线小程序一键生成 App
  12. pthread_cond_destroy死锁卡住问题处理记录
  13. 《Deep Learning for Computer Vision withPython》阅读笔记-StarterBundle(第6 - 7章)
  14. Hive中的left semi join和left anti join
  15. ijkplayer播放视频
  16. 从零开始:小程序开发环境搭建详解
  17. 最小安装CentOS 7.6 Linux系统(无UI界面纯命令行,虚拟机教学)
  18. 文档生成工具-Doxygen使用方法以及注释规则
  19. 焦虑的80后新中产,崩溃得不动声色,到底是新中产还是“心中惨”?
  20. APP界面保持屏幕常亮方法

热门文章

  1. img图片标签更改src并刷新
  2. mysql期末考试试卷_MySQL数据库测试题
  3. 7-外部中断事件控制器(EXTI)
  4. 重装服务器显示bootmgr缺失怎么办,U盘装系统后提示bootmgr is missing解决方案
  5. 移动测试(app测试)环境搭建
  6. opencv图像处理学习(五十二)——拟合(最小二乘法)
  7. ESP8266模块连接手机WIFI热点
  8. MySQL中Case When用法详解
  9. posix消息队列和systemV消息队列
  10. 7-184 正整数A+B (15 分)