大数据工程师和后台开发的技能差别有多大?
本人非计算机专业出身,java没系统学过,喜欢写代码,要找工作了。
现在很迷茫,不知道应该往哪个方面突击突击,是老老实实的弄弄java看看hadoop源码?还是研究研究scala,还是用Python写写爬虫搞搞网络编程?还是把C++好好复习复习,马上就找工作了,不知道该把时间往哪个技能上冲。
对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解
想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家
并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。
1
后台开发也得看具体职位,如果是做产品,多去看看当前流行的那些开发技术,简历里至少要有个拿得出手的项目。如果是做基础架构的,要把数据结构和算法,操作系统,网络编程之类的基本功打扎实,这一块知识点多,水也深。
大数据工程师的话,至少要熟悉storm, hadoop, spark之间优缺点,性能挑优,监控之类的,这块面比较广,各种开源的分布式系统多了解一下,kafka, elasticsearch, influxdb, fluentd之类的。当然,数据结构和算法也很重要。
大数据主要从侧重对数据的存储、分析,会涉及到分布式存储系统、分布式计算系统、机器学习、数据可视化等方面,每一个方面都可以深入学习很长时间;
后台开发主要侧重网络编程、多线程/多进程调度、操作系统、各类数据库存取等,同样每一点都可以深挖;
2
一个大数据工程师到底应该会什么?
关于这个问题最终还是要落实到企业需求上。每家公司对大数据工作的要求不尽相同:有的强调数据库编程、有的突出应用数学和统计学知识、有的则要求有咨询公司或投行相关的经验、有些是希望能找到懂得产品和市场的应用型人才。
由于目前大数据人才匮乏,对于公司来说,很难招聘到合适的人才—既要有高学历,同时最好还有大规模数据处理经验。因此很多企业会通过内部挖掘。
目前长期从事数据库管理、挖掘、编程工作的人,包括传统的量化分析师、Hadoop方面的工程师,以及任何在工作中需要通过数据来进行判断决策的管理者,比如某些领域的运营经理等,都可以尝试大数据工程师职位。
关于大数据工程师需要掌握的知识,不妨从以下8个方面入手:
Java语言基础:
Java开发介绍、熟悉Eclipse开发工具、Java语言基础、Java流程控制、Java字符串、Java数组与类和对象、数字处理类与核心技术、I/O与反射、多线程、Swing程序与集合类
HTML、CSS与JavaScript
PC端网站布局、HTML5+CSS3基础、WebApp页面布局、原生JavaScript交互功能开发、Ajax异步交互、jQuery应用
JavaWeb和数据库
数据库、JavaWeb开发核心、JavaWeb开发内幕
Linux&Hadoopt体系
Linux体系、Hadoop离线计算大纲、分布式数据库Hbase、数据仓库Hive、数据迁移工具Sqoop、Flume分布式日志框架
Spark生态体系
Python编程语言、Scala编程语言、Spark大数据处理、Spark—Streaming大数据处理、Spark—Mlib机器学习、Spark—GraphX 图计算
大数据分析 —AI(人工智能)
Data Analyze工作环境准备&数据分析基础、数据可视化、Python机器学习、图像识别&神经网络、自然语言处理&社交网络处理
当然,大数据工程师因为技术要求更高,所以薪资上也比一般的后台开发岗位高30%左右。而学Java的人已经接近饱和,而行业对大数据人才的求贤若渴。现在入行,学大数据是十分明智的选择。
对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解
想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家
并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。