大数据时代,程序员离春天只差一次转型
程序员作为现代社会的主流职业,在很多人心里已经打上了高收入的烙印。很多大学也开展了计算机课程,为社会培养程序开发人员。随着大数据的爆发,中国IT业内环境也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机遇。程序员怎样抓住机遇,转型为热门的大数据工程师呢?本文为你揭秘!
看下图,在未来技术方向的调查中,工程师最看好的是大数据、人工智能、移动开发、云计算、这几项不分伯仲,是技术人员的最看好的方向。中国大数据技术还处于萌芽状态,因此,现在正是学习大数据技术的最佳时期。
大数据是什么
查了查百度百科,是这样定义的:大数据(bigdata),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。大数据的4V特点:Volume、Velocity、Variety、Veracity--这个好像是IBM的定义吧。
以个人的观点来看:数据海量,存储海量都是大数据的基本原型吧。
大数据时代,程序员的春天
大数据从事的是开源工作,更倾向于“研发”,能够重新激起程序员研发程序的热情,职业生涯有了新的追求,这意味着大数据会成为值得程序员长期奋斗不断突破的工作;其次,由于大数据属新兴领域,专业人才比较缺乏,高端人才更是企业争抢的对象。薪资上升容易,职业发展潜力巨大。
世界正从IT时代走向DT时代,未来是大数据的时代,企业最有价值的资产就是数据,你所拥有的数据越多你就越有说话权,因此未来企业里最牛逼的员工应该是和数据有关的职位。
大数据工程师的几个职位
每家公司对大数据工作的要求不尽相同:有的强调数据库编程、有的突出应用数学和统计学知识、有的则要求有咨询公司或投行相关的经验、有些是希望能找到懂得产品和市场的应用型人才。正因为如此,很多公司会针对自己的业务类型和团队分工,给这群与大数据打交道的人一些新的头衔和定义:数据挖掘工程师、大数据专家、数据研究员、用户分析专家等都是经常在国内公司里出现的Title,我们将其统称为“大数据工程师”。
如何转型为大数据工程师?
那么,程序员如何转型成为优秀的大数据工程师呢?主要是从两者所要求的能力上来分析。首先,大数据工程师是需要有计算机编码能力的,因为面对海量的非结构化数据,你要从中挖掘出有价值的东西,需要设计算法与编写程序去实现,而程序员最牛的能力就是编写简洁高效的代码,去实现人们许许多多美妙的梦想,编码能力越强的程序员越有可能成为优秀的大数据工程师。
其次,大数据工程师需要统计学与应用数学相关的能力背景,数据挖掘与分析是需要设计数据模型和算法的,应该说程序员是有这个基础的,我见过最牛逼的程序员一般都不是科班出来的,通常是数学专业,因此提高算法设计能力是程序员转型大数据工程师的关键因素。
第三,大数据工程师需要具备某一行业的业务知识,大数据的挖掘与分析最终都要服务于市场,并对产品的销售与企业的发展起到重大推动作用,那才是有价值的大数据分析,因此大数据是不能脱离市场的,它必须与某一行业的应用想结合起来才容易产生更大的价值,通常程序员都是在做某一行业的软件,经过多年的学习与磨练,对某一行业的业务知识是有积累的,因此从这一点上来看,程序员是很容易过渡到大数据工程师的。
当然,以上都只是粗略的分析,真正要成为一名优秀的大数据工程师,程序员还需要更多的学习与努力。
大数据工程师必备的技能
一个优秀的大数据工程师要具备一定的逻辑分析能力,并能迅速定位某个商业问题的关键属性和决定因素。学习能力能帮助大数据工程师快速适应不同的项目,并在短时间内成为这个领域的数据专家;沟通能力则能让他们的工作开展地更顺利,因为大数据工程师的工作主要分为两种方式:由市场部驱动和由数据分析部门驱动,前者需要常常向产品经理了解开发需求,后者则需要找运营部了解数据模型实际转化的情况。
大数据相关的技能,从数据本身来说,大概需要从数据获取、数据处理、数据分析、数据存储和数据挖掘来说,具体如下:
数据获取:日志收集 Scribe、Flume和爬虫等
数据处理:流式计算的storm, spark streaming、Hadoop、消息队列相关的如Kafka等
数据分析:HIVE、SPARK、基本算法、数据结构等
数据存储:HDFS等
数据挖掘:机器学习相关算法,聚类、时间序列、推荐系统、回归分析、文本挖掘、贝叶斯分类、神经网络等
DT时代来得太突然了,当一波又一波的IT技术热潮源源不断地向我们铺面而来的时候,你甚至都没有做好准备,你都要开始迎接它所给你带来的影响了。经过物联网,云计算的推波助澜下,大数据开始登场了。大数据并不是一个充斥着算法和机器的冰冷世界,人类的作用依然无法被完全替代。大数据为我们提供的不是最终答案,只是参考答案,帮助是暂时的,而更好的方法和答案还在不久的未来。