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

  • 时间:2年前
  • 浏览:60245次
  • 网赌被黑找腾龙D哥出黑【微信:JLYL78999 QQ:840093333】

    原来的标题是:算法工程师工资调查 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%。那就是杰出人才了。

    工资和人数 一个公式告诉你为什么程序员要转算法工程师 新闻综合 1

    教育

    和程序员不同,算法工程师的学历要求,明显提高了。

    学历分布 一个公式告诉你为什么程序员要转算法工程师 新闻综合 2

    受教育水平对工资有着显著的影响。看下图。

    教育水平和工资 一个公式告诉你为什么程序员要转算法工程师 新闻综合 3

    请注意这里的中间线是工资中位数,不是平均工资,下同。

    大专,本科,硕士,博士的平均工资分别是13677, 18727, 20981, 23194。中位数分别是9000, 17000, 17500, 22500。有趣的是,硕士和博士的平均工资差距并不显著。最优秀的25%的博士和硕士,他们的工资,都在25000元以上。但是不排除有些博士并没有走社会招聘而是成了什么长江学者,也许还有房子分。

    工作经验

    工作经验和需求 一个公式告诉你为什么程序员要转算法工程师 新闻综合 4

    工作1到5年的算法工程师需求量是最大的。

    工作经验和工资 一个公式告诉你为什么程序员要转算法工程师 新闻综合 5

    数据显示,工资会随着工作经验的增长而增长。

    城市

    平均工资方面,由高到低依次为北京(21332),上海(20162),杭州(19138),深圳(18621),广州(18016)。

    这里写图片描述 一个公式告诉你为什么程序员要转算法工程师 新闻综合 6

    而工资的中位数排名,则让这五个城市调换了次序。从上图可以看出,北京还是最高(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.788Sˉp \bar S_{a}=10428.39 + 0.788 * \bar S_{p}

    Sˉ\bar S代表平均工资。Sˉa\bar S_a代表算法工程师工资,Sˉp\bar S_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()
    

    算法工程师工资和程序员工资 一个公式告诉你为什么程序员要转算法工程师 新闻综合 7

    因为这个公式是按照地区来算的,所以我们可以说,(Technical/literally speaking),这个公式是“放之四海而皆准”的。?

    公司

    选择一个什么样的公司,也决定了工资收入。

    公司性质和工资 一个公式告诉你为什么程序员要转算法工程师 新闻综合 8

    事业单位工资明显低于其他,但是。。。你们懂的。

    公司的规模,对于工资同样影响有限。

    公司规模和工资 一个公式告诉你为什么程序员要转算法工程师 新闻综合 9

    你想开始转了么?

    如果你现在想转算法工程师,我这里可以提供你的第一课。就是用我们上面提到的程序员和算法工程师的工资关系,求一元线性回归模型。具体见:
    《Python机器学习手把手系列——线性回归》

    第二课:

    《Python机器学习手把手系列——决策树》

    网赌被黑找腾龙D哥出黑【微信:JLYL78999 QQ:840093333】

    留言反馈

    网赌被黑找腾龙D哥出黑【微信:JLYL78999 QQ:978107219】鲁ICP备13008445号-3||Theme by Cn+网络, Soft by ZBlogPHP
  • 网赌被黑