最近,身边几个程序员朋友都在自学Spark、Hadoop等相关知识,仿佛不紧跟时代步伐,就会被随时甩出半条街的节奏;而打开知乎,诸如“怎样进行大数据的入门学习”“Java Web 程序员如何转型大数据”之类的话题也屡受关注。
大数据之爱绝非偶然
1、技术日渐成熟,应用空间得以拓展
大数据技术,最早于1980年被首次提及,却在近几年才获得突飞猛进的发展。相较于几十年前神经网络算法捉襟见肘的计算能力,如今处理器对大规模数据的高速处理能力无疑发挥了关键性的作用。借助于处理器的高性能,使我们短时间内完成PB 级数据的机器学习和模型训练成为可能,由此为高度依赖深度学习的图像、语音识别产品的快速迭代奠定基础,大数据应用空间得以拓展,也由此催生了提供相关产品与服务的技术公司。
2、重视数据资产,数据挖掘已成必然
现代信息技术使每日产生的数据量呈指数级增长,企业发展再也无法回避对数据价值的挖掘与利用。电商平台利用画像做个性化推荐,互联网金融公司利用高危识别技术管控金融风险,滴滴出行利用交易数据通过实时定价优化利润……这些都是对大数据价值的发掘和利用。随着数据资产意识的加强,数据挖掘也将获得越来越多结合具体行业场景的重视。
3、技术催生业务新模式,蕴含创业新契机
大数据产业链,催生出针对不同版块提供产品和服务的业务组合新模式,无论是利用推荐算法做内容服务的今日头条,还是基于数据整合提供监测服务的 TalkingData,或者是提供底层架构支持的阿里云,无不是发觉了大数据产业链条所蕴含的创业先机。
大数据创业,时至今日热度不减,虽难出BAT那样巨头独大的局面,其提供的相对公平的竞争机会,依然在吸引着新的创业公司加入。
4、市场供不应求,岗位挑战空间大
翻看大数据相关招聘岗位,一方面是供不应求的招聘局面,另一方面是腾讯、华为等大牌互联网公司开出的诱惑薪资,都让普通岗位的程序员跃跃欲试。
再加上这些岗位相比于传统的软件工程,有更高的挑战空间和更大的难度,自然引得更多人才进入到这个领域。
大数据相关岗位有哪些?
1. 偏技术的“算法工程师”
利用算法手段,构建机器学习模型,解决诸如“人脸识别”、“支付风险管控”等高难度问题。它往往既需要工程师在具体问题上有足够的专注力,也需要对相关的算法有足够深度的了解。
2. 偏业务的“数据挖掘工程师”
结合计算机知识,重点攻克复杂业务的算法化和模型化难题。与算法工程师的要求不同,它往往不需要工程师在算法上探索得足够深入,却对知识的广度和技能的交叉度有较高的要求,还需要工程师具备相当和快速的业务理解能力。当然了,对数据的高敏感性也必不可少。
技术 Leader 最想要什么样的人?
1、最好,你是个独当一面的全才
基础条件:扎实的计算机基础、逻辑能力、英文等素质
保障条件:聪明、学习能力强
加分条件:大规模集群开发经验;上层数据应用优化经历;熟悉聚类、分类、推荐、
NLP、神经网络等常见算法;会数据处理,还熟悉聚类、分类、推荐、NLP、神经网络等各种常见算法……
2、退而求其次,有配合团队的长板优势
全才难得,退而求其次,针对不同岗位吸收具有不同特长的人才,以追求团队整体配合的平衡,也不失为一个策略。
计算机视觉领域的大数据公司,往往需要自己的团队中同时具备如下特长的成员。比如精通算法的人才:把图像识别相关算法模型调整到极致;工程实力型人才:高性能实现训练好的算法模型,或者帮团队搭建一整套视频图像数据采集、标注、机器学习、自动化测试、产品实现的平台。
即便同一算法工程团队内部,成员的技能侧重点也要合理搭配,以互为补充。比如,有人专注核心算法研究,就要有人擅长业务分析,专注业务算法模型的实现。
因此,对于想转型大数据的普通程序猿来说,梳理清楚自己现有技能对于新团队的价值非常重要,这是促使新团队决定吸收自己的关键。比如,发挥硬件和底层系统工作经历在算法高速实现上的优势,一旦通过自身擅长的技能切入新团队之后,就有了更多横向发展的机会,帮助自己在大数据相关领域建立更强竞争力。
3、相较当前技能水平,扎实的基础和成长空间更被看重
当前技能水平好比是术,而扎实的计算机基础则处于道的层面,诸如Spark等工具性知识通过后期学习便能轻易掌握,而如果缺少了C++/Java基础想进步却绝非易事。比如,如果算法、数据结构比较强,编程语言上对 C++ 理解较深入,在应用层的学习上,就可能会比其他人快很多。
有人将程序猿能力抽象为一个金字塔模型,虽然对计算机语言的精通是每个工程师都注重的能力,但越基础的素养越蕴含了更多的发展潜力。相比单纯苛责当前技能,能利用基础素养胜任一部分基础工作,然后通过1-2年锻炼接受更复杂问题的程序猿,反而更受企业青睐。
TalkingData 大数据招聘负责人曾直言道,相比于对 Spark 了解更多的人,他们更愿意招收那些 Java 学得好的人。因为 Spark 的接口学习起来相对容易,但是要想精通 Java 是一件很难的事情。如果把 Java 或者 C++ 学透了,那么对计算机技术的认识将很不一样。
转型大数据,要点归纳
1、重视基础
2、发挥专长
3、准备充分
4、首选公司内部转岗