技术工作:数据工程师——站在数据中心的建筑师
行业趋势 2018年 08月 06日人们经常将数据工程师与更为人熟悉的数据科学家相混淆。然而,在今天的技术就业市场上,随着大数据相关新技术的发展,数据工程师成为一份炙手可热的职业。那么,数据工程师的工作内容究竟是怎样的呢?今天,55 数据公司的数据工程师 Jérémy Caldas 将为我们揭开这层神秘面纱。
你好,Jérémy!能跟我们聊聊数据工程师的具体工作内容吗?尤其是你在 55 数据公司负责哪些工作呢?
作为 55 数据公司的一名数据工程师,我的工作是架构数据馈送或数据管道,并保证用户能在最佳状态下使用这些数据。数据管道是用于处理数据的技术解决方案,由几个步骤构成。我们通过向客户和内部使用者提供这些技术方案来解决他们的需求。
首先,我们从源头上收集数据,数据来源一般为外部服务平台或客户。这个来源的范围就很广泛了,可以是新开发的数据采集器,也可以是应用程序接口 (API),或其他的一些服务平台。理想状态下,数据采集技术应当可供重复使用,可以再次用于将来的一些类似操作上。
接着,我们要对数据进行一些处理,让数据科学家和数据分析师能在最好的状态下直接使用这些数据,比如合理的访问时间、直观明了的访问方式、成本效益最大化。在55数据公司,我们运用大范围的数据分析工具,如谷歌的 BigQuery 或亚马逊的 Athena。
最后,我们将经过“完善”的数据(也就是聚合数据或结构数据)传递给客户。之后,客户会运用控制面板对数据进行可视化。获取“完善数据”的方法有很多种,包括常见的数据聚合和复杂的机器学习算法等。
同时,我们也一直都在为内部团队构建各种工具平台。上述数据处理的过程必须能够共享,从而能用于创建可重复使用的技术块。这部分工作使我们能将先前的成果用于构建新的项目。
平常工作中,你如何与数据分析师和数据科学家进行合作?你们的工作有哪些异同呢?
数据科学家和数据分析师是数据工程师的好伙伴!我们一起将软件工程和数据科学联系了起来,或者说是在编程、数据架构和专业统计知识之间架起了一座桥梁。归根结底,我们负责公司的技术基础,而数据世界的其他所有功能都是建立在我们构建的这个基础之上的。
数据工程师与数据分析师共同为项目提供业务方面和技术方面的支持。数据分析师对业务特质了如指掌,因而能了解客户的需求。在数据分析师的协助下,我们能确保数据管道架构的每个步骤都符合最佳实践的要求:安全性、对数据传递错误的弹性、可维护性和平台或云端的成本效益。
数据工程师必须质疑数据科学家的决定,特别是对于他们产生结果、进行分析所依据的算法模型和计算环境保持怀疑的精神。数据科学家和数据工程师之间的这种协作对于确保模型的有效性和良好的成本效率而言,是十分必要的。
你觉得要成为一名数据工程师,必须具备哪些关键技能和资格条件呢?对从业者的教育背景会有偏好吗?
我先后就读于国际信息处理科学学校 (EISTI)——一所法国的工程学院——和英国的克兰菲尔德大学 (Cranfield University)。我的学习范围包括软件工程、数学和机器学习,这种知识构成非常契合我的工作。在 55 数据公司,我团队中的其他成员基本上都掌握软件工程技能(Python、Java 等等),而且对数据科学都很感兴趣。在我们这个领域,学习永无止境。总是有很多新知识,比如关键概念和新技术,等着你去学习!
数据工程师必须拥有好奇心和多元化的技能。你要能从宏观角度看待公司的情况,你必须了解当前使用的技术和每位与数据有接触的人员所扮演的角色。你得时常反思,数据处理的方式是否恰当,也就是说,你要能预料新用途的出现,而这种新用途可能需要你转向一个全新的领域。此外,你还需要留意可能出现的问题,并预先准备好解决方案。
对于其他数据工程师,你有什么建议吗?
我想到了三个概念:开发运维 (DevOps)、开放源代码和云端。我认为数据工程师必须理解并实践开发运维的理念。我们经常需要解决一些障碍,但其他公司(特别是谷歌、爱彼迎、Spotify 这些公司)已经遇到过相同的问题,并通过开放源代码分享了他们的解决方案。而反过来,我们也可以在有需要或者条件允许的情况下,进一步完善他们的解决方案。云端(比如谷歌的 DataProc 和亚马逊的 EMR)提供的技术工具真的非常有用。这些工具(比如 Hadoop 和 Spark)能让我们轻松迅速地得到我们的数据存储及处理方案。
此外,我们的职责还包括了解和选择合适的技术平台来促进内部程序的发展。这些选择非常重要,因为它们会产生结构性的后果,而我们还无法在日常工作中对其进行质疑。为了得到合适的解决方案,我们数据工程团队会定期进行交流讨论。在团队内部,我们也会分享各自掌握的技能、知识以及在技术发展方面的最新发现。
作为 55 数据公司的数据工程师,你必须不断成长,不断学习更多关于这些概念的新知识!
你觉得这份职业的中期发展前景如何?
在目前的就业市场上,数据工程师相当热门。根据 IBM的估计,到2020年,美国对数据科学家、数据开发人员和数据工程师的年需求量将达到70万人。法国对相关人才的需求也是呈激增态势。所以,现在是成为数据工程师的好时机,而且前景一片光明!
这个岗位要求从业者具备很高的复合型才能,而这需要从业者拥有旺盛的求知欲——不仅仅体现在技术方面,在业务和数据应用领域方面也要保持学习的好奇。
优秀的数据工程师通常拥有软件工程背景,同时还能学习数据应用领域的相关知识。
我个人认为,在今天,数据工程师比以往任何时候时期都更加重要。现在,每件事都产生数据,而数据正在成为企业的核心因素。在迈向完全数据驱动型企业的道路上,所有企业都应当考虑构建一个能存储数据、促进数据开发利用、自动处理数据的全面坚实的信息科技基础架构。