本文从当前炙手可热的算法工程师就业开始讲起,详细的和朋友们探讨一下,普通程序员如何转型成为算法工程师?
先谈钱。
有一种说法,算法工程师薪酬区间基本就是三挡:
薪酬范围人才背景能力特征
15~30W科班毕业的数学系硕士研究生或有ACM铜奖以上熟悉通用的模型,知道如何用合适的模型去做数据
40~60W即上述的优秀毕业生在BAT等公司沉淀两三年后实际身价,基本对应到阿里的P6,腾讯的T3.1或者国内那TOP 5学校的博士毕业生,基本有三篇一作会改造设计模型,并对新的模型进行最优化
100W+基本就是行业科学家级别,或者对应阿里的P7/P8,百度的T7以上,腾讯的T3.2以上或者相当于姚班的IOI金牌,比如今年的陈立杰和范浩强根据一个实际问题需求,可以给出量化的目标函数
对程序员而言,技术进步大大超过我们的想象,如果你不跟随时代进步,就会落后于时代。
似乎我们公认的程序员就是苦逼的码农搬运工,结果等磨到三到五年后,发现自己的技术已经落后,掌握的语言已经过时。看着曾经的同事都走上了有车有房的幸福之路,自己也蠢蠢欲动想要转岗,却摸不着头脑,是自学or上培训班?
这里,我们以当前热门的大数据相关岗位分析为例:
从大数据信息分别从底层基础平台、中间层通用技术、上层行业应用进行归纳
技术分类行业概述
底层:基础平台提供包括数据存储在内基础设施,Hadoop是其中最热门领域
中层:通用技术数据管理相关技术,连接数据源与数据处理之间桥梁,包括数据采集、数据分析,可视化等数据处理技术
上层:行业应用将数据与垂直行业进行融合,如征信、反欺诈、刑侦破案,营销推荐等
大数据岗位爆发背景
1. 处理器速度的加快,大规模数据处理技术的日渐成熟,使得在Big Data中快速提取有价值信息成为可能。现在,PB级别的数据也可以在短时间内完成机器学习的模拟训练。这让包括Face++、科大讯飞等这些高度依赖深度学习的图像、语音识别公司得以对产品进行快速迭代;
2. 互联网行业的快速发展,使得很多企业都存储了海量数据,如何挖掘这座数据宝库,也推动了大数据本身发展;
3. 同样,也衍生出很多数据相关公司发展,比如通过监测海量数据,做数据价值变现的TalkingData等,以及做底层架构的支持服务商阿里云、UCloud等等;
各方面的需求导致目前人才供给相对不足,供需失衡决定大数据从业人员待遇更高。同样的,这些岗位相对于传统软件工程,也有更高的挑战空间和更大难度,也吸引更多人才进入到这个领域
分类应用板块代表企业行业综述
文本挖掘大数据公司通过收集互联网上各类文本信息,为企业提供更好的竞争分析、公关、用户调研等智慧星光
波森数据
清博大数据
与网页爬虫类似,由于百度、谷歌在搜索引擎领域技术太明显,根本没机会
网页爬虫早期百度、谷歌等搜索引擎都在使用。八爪鱼
广告监测类主要针对品牌客户,为企业提供广告营销全流程的数据分析秒针系统
AdMaster
TalkingData
秒针与AdMaster占据95%市场份额
TalkingData主要针对中小企业,为中小APP软件提供广告监测在内多项运营服务
BI商业智能更侧重人机交互,将报表形式以图像方式呈现出来永洪科技
帆软
单纯BI与数据可视化工具,竞争优势并不大,因为其开源透明,技术门槛低,所以更多是向上层偏移,将技术与行业应用结合,形成行壁垒,比如永洪、海云等都在积极对接业务,重点布局公安、电信等行业,加强客户黏性
数据可视化与BI一致,将报表形式以图像方式呈现出来,更侧重于数据呈现,给企业客户更清晰展示海智BDP
海云数据
数字冰雹
日志分析早期更多运用于信息安全领域;现阶段也开始衍生到企业业务领域,比如反欺诈等除了传统安全公司,
新公司还包括日志易,瀚思安信
也是面临行业开源,技术门槛不高,可以关注物联网发展,将日志数据衍生到机器数据
移动统计随着移动互联网兴起而兴起TalkingData
友盟+
用户行为既有掘金者,自然也有给掘金者送水的这两类GrowingIO
神策数据
诸葛IO
最大问题是移动互联网客户是否接受付费模式
算法&数据挖掘工程师——核心在于数据的价值挖掘
1. 算法工程师——这类团队面对的问题通常是明确而又有更高难度的,比如人脸识别、在线支付的风险拦截。这些问题经过了清晰的定义和高度的抽象,本身又存在足够难度,因此需要求职者在所研究问题上有足够的专注力,对相关算法有足够深度的了解。
2. 数据挖掘工程师——这类团队面对的挑战不限于一个具体问题,而在于如何将复杂的业务逻辑转化为算法、模型问题。因此不但要求工程师在算法上探索得足够深,但需要足够的交叉能力。需要了解常见的机器学习算法,同时也要有迅速理解业务的能力。
从企业对岗位的要求,我们可以分析出:
岗位名称市场人才现状岗位要求分析
算法工程师人才基本被TOP企业垄断。因为TOP企业数据量很大,比如做一个几亿级别的人脸搜索1. 数据结构和算法板块需要有扎实基础;
2. 至少精通C/C++或Java任
一种编程语言,Python/
perl/shell中任一种脚本语
言;
3. 数学专业硕士及以上,有
一定数学功底(加分项)
4. 精通机器学习常用算法
(加分项)
数据挖掘工程师不仅需要在算法上沉淀很深,还需要具备交叉技能,能理解业务1. 扎实的计算机基础,熟悉C/C++、Java、Python等开发语言;
2. 具备深厚的机器学习,数
据挖掘,信息检索背景,
有较强的算法能力;
3. 具备大规模数据挖掘、自
然语言处理、机器学习、
Hadoop平台经历(加分)4. 计算机相关专业硕士学历
实际中,在涉及大数据团队搭建时,可以借鉴:
1. 可以不求全才,但要求团队成员各有所长,整体可形成配合
比如,以格灵深瞳为例,作为一家计算机视觉领域的大数据公司,团队中既需要对算法进行过透彻研究的人才,也需要工程实力比较强的人才,或帮团队搭建一整套视频图像数据采集、标注、机器学习、自动化测试、产品实现的平台;
所以,对前一种工程师,需要在深度学习算法甚至在计算视觉领域都有过深入研究,编程能力可以稍弱一点;而对于后一种工程师,如果他拥有强悍的工程能力,即使没有在深度学习算法上进行过深入研究,也可以很快接手对应工作;
同样的,即使在算法工程师团队内部,不同成员之间的技能侧重点也可能各不相同
以个性化内容推荐咨询平台——一点资讯为例,算法团队中,一部分工程师会专注于核心算法问题研究(比如解决一个非常明确问题,如通过语义分析进行文章分类问题,如判断标题党的问题等等,需要有足够深度的了解);另一部分工程师会专注于算法模型在产品中应用(对业务变化非常敏感,具有强悍的分析能力,能从复杂业务中理出头绪,将业务问题抽象为算法问题,并利用合适模型去解决)
所以,两者一个偏重核心算法研究,一个偏重业务分析与实现。
从高校毕业生来源看:
为算法工程师贡献的TOP5高校分别是 哈工大、北邮、中科院、中科大、浙大
TOP~TOP10分别是电子科大、北大、北航、清华和华中科大,而海归人才占比不到5%
如何转型到算法工程师
随着人工智能的爆发式发展,以及深度学习、机器学习在使用工具上门槛已经降低
以国内一线互联网公司校招和社招人员来看,其往往还是更看重从业者背景:
1. 校招——必须是科班硕士生或者海归,要能有不错的代码能力,对机器学习有一定了解和研究经历;当然针对算法工程师面试,BAT也会要求笔试,基本就是leetcode中等题水平;换言之,一个工作三年通过自学或者参加培训班转型到算法工程师领域同一个应届生竞争同一个工作机会,一线互联网公司往往还是更钟情于应届学生;
2. 社招——算法工程师岗位毕竟更偏学术派,从目前社招企业要求看,如果是非科班背景而言,企业往往更看重求职者的编程能力(这也是基于目前人才市场供给严重不足导致),而业内很多企业其实都会借用校友圈这个更偏学术交流的圈层进行招聘。比如通过请高校学术大佬担任首席科学家,他的博士学生“顺带”也会全部打包过来;
所以除非是特别想在算法领域真有所作为,不是特别建议在找工作中途转型,毕竟这个领域还是更偏学术派。
这个领域的在职人员背景相比而言就宽泛多了,我们不乏看出从程序员、运营岗甚至法务岗都有成功转型的,从事数据分析对编程要求相对不是特别高,但是对于跨行业泛知识要求有很深认识。不过,也有很大的不同:
日常数据分析工作主要就是SQL提数,活动效果跟踪以及写数据报告等工作,但是在转型到数据挖掘(尤其一线互联网公司)中,往往都需要涉及到数据挖掘的底层设计和应用。
不过目前国内数据挖掘的人才供给不足,很多企业往往也会降低要求或者有意识调整工作内容和权重,给出的建议:
1. 提升数据可视化能力和数据分析报告撰写能力,掌握多种可以进行辅助数据分析的工具以及熟悉常用的模型,未来可以往数据分析程序员或者数据产品经理转型
2. 掌握Python或者R语言,熟悉Hadoop等数据库,熟练掌握数据分析工具,也可以尝试往数据挖掘领域更靠近一点
对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解
想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家
并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。
大数据工程师技能图谱:
网友评论