关于 Data Engineer 的第一手解读

最近几年,Data Engineer 作为一个新职位在互联网公司招聘中反复出现,很多朋友申请拿到面试后也一头雾水,不知道如何准备。究竟 Data Engineer 和 Software Engineer / Business Analyst 是不是一回事儿?小编最近恰好有一次和某 Data Engineer 组的 Team Lead 聊到这个话题,第一手资料分享给大家。

背景介绍

互联网的一个产品定律是,成功的产品必须能迅速点燃用户增长。当年的 Facebook, 现在的 UAP, 都曾带着炫酷的光环风靡主流用户群。

在疯狂的增长期,公司的重心永远是”保持增长,不出乱子“。技术部门的核心任务也相对简单,保证产品的技术架构能撑住新用户的增长速度,同时开发新功能保持用户粘性。

当产品的蜜月期过后,用户增长的瓶颈迟早到来。于是,创始人和各种 VP 就得坐下来,重新思考:怎样提高用户的增长速度?怎样提高用户粘度?如何提高产品变现能力?等等等。

数据难题

对于高层面上的产品问题,硅谷不推崇拍脑袋决策。事实上,大部分公司倾向于用数据来解释发生的现象,并通过 A/B Test 的方式不断通过尝试新的实验,帮助产品决策。

说起来简单,但搭建一条完备的 data pipeline 并非易事,上下游的 stakeholder 各种各样,真的很难让所有人满意。

简单说列举几个核心角色。

Business Analyst

BA 非常重要,他们非常熟悉公司的各条产品线和业务线,能够通过组合、比较数据来回答 CXO 们的问题。

由于 BA 专注于业务和产品层面,因此他们需要高度格式化、提纯过的数据集,这样就可以使用 BI 相关的工具去做深入分析、比较,最终拿出代表结论的图表。

Software Engineer

SDE 自然是需要写代码咯。他们把收集业务数据的逻辑嵌入产品中,然后通过各种各样的大数据解决方案,把原始数据做一定程度的加工、整理,供其他 stakeholder 使用。

Data Engineer

BA 和 SDE 知识背景的不对称,如果 BA 提出的需求在 SDE 实现的时候变了样子,那么结果一定糟糕:要么大家发现数据不对,要么大家用错误的数据得出错误的结论。

所以 Data Engineer 就出现了,作为 BA 和 SDE 之间的桥梁:一方面他们负责建立合理、有效的数据模型,帮助 SDE 采集原始数据的准确性和统一格式化;另一方面他们了解每一个表、每一列数据的来龙去脉,因此 BA 关于数据的问题往往可以在 Data Engineer 这得到满意的答复。

招聘要求

Data Model

理解数据模型是 Data Engineer 的重中之重。虽然大部分情况下 SDE 负责维护和数据相关的 pipeline, 但 pipeline 中使用的数据模型,一般是由 data engineer 负责维护的。

数据模型可以包括:数据表名,列名,各个分析纬度,触发条件等等。只有透彻理解数据模型,他们才能掌握生成数据的来龙去脉,从而帮助 BA 正确的分析数据。

Business Acumen

一个好的 Data Engineer 一定有非常敏锐的业务、产品直觉。当 BA 提出关于数据需求的时候,他们可以进一步分析出 BA 真正的意图是什么,如何通过构建合理的数据模型来解决 BA 提出的需求。

举个例子,当 BA 希望得到一个 app 在 wifi 环境下某个功能的数据时,Data Engineer 可以进一步在数据模型中把网络环境抽象成分析维度,这样 BA 不仅可以看到 wifi 的数据,还可以看 4G / LTE 下的数据。

Reporting && Dashboard.

Data Engineer 的终极目标是 make data accessible. 不管是 BA 需要的结构化数据,还是 CXO 喜欢的报表,又或是 SDE 喜欢的 dashboard, Data Engineer 都需要满足他们。

对于 Reporting 或者 Dashboard,他们往往在 SDE 负责的 data pipeline 上跑一些 reporting jobs, 或者搭一个 dashboard portal (比如 looker),因此最好有一定的技术基础,这种小任务可以手到擒来。

尾声

不管是大公司还是小公司,对海量数据的理解和分析使用都是产品发展的重要推力。因此 Data Engineer 的市场缺口依然很大,招聘到一个优秀的 Data Engineer 往往比 Software Engineer 更加困难。所以我们继续看好 Data Engineer 作为一个职业发展的方向。

原文发布于微信公众号 - 包子铺里聊IT(baozitraining)

原文发表时间:2015-12-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

揭秘高手拼命写博客的原由

对于软件开发人员来说,坚持写博客是个好习惯。以下是我建议大家写博客的七个理由。 ? 1. 帮助整理思路 最近我做出了一个决定,那就是: 我要坚持天天写博客,记录...

34250
来自专栏PHP在线

架构之路(一):目标

原文出处: 自由飞 标准来源于目标 前文说过,评价架构好坏是一个很主观的东西。既然大家写出来的程序都能跑,凭什么就说你架构好,我的架构就差?拿出来大家评评理...

35850
来自专栏编程微刊

Python将被加入高考科目?你怎么看?

21430
来自专栏VRPinea

学习技能UP:敢爱敢恨敢开口,还怕英语学不好?

32860
来自专栏鹅厂网事

在苦难中的成长--从某宝某程故障看互联网业务系统可用性

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

31890
来自专栏VRPinea

二维图像再见,VR远程操控才是机器人正确的开启方式

372130
来自专栏腾讯云技术沙龙

常青:小程序音视频技术实现以及在相关行业的实际应用

我演讲的内容是小程序音视频背后的一些技术支持。先讲一些术语,解释一些术语的概念,最后再说这些技术怎么去用起来,但是我觉得这比较容易陷入到大家都开始睡着的阶段。所...

804100
来自专栏Python爬虫与算法进阶

爬下几万条数据,聊聊淘宝上的飞机杯

温馨提示,本文某些内容可能会引起不适 目标:爬取淘宝上关键词为“飞机杯”的商品数据,和销量前十的所有评论。 工具:Python Scrapy 爬数据,Exce...

449110
来自专栏云计算D1net

集成性成部署云计算首要考虑的问题

Forrester最近的调查显示集成已经成为CIO在采用云计算时首要考虑的问题之一。虽然点对点的解决方案可以解决即时的问题,但是问题不会局限于单独的Saa...

25740
来自专栏企鹅号快讯

程序员该如何修炼自己

软件外行人如何成功地进入程序世界?进入这个坑的程序员如何进入下一阶段?关于如何学习编程和提高技术技能有大量的教程或材料,但这不是重点,我不想在本文中提到这一点。...

21550

扫码关注云+社区

领取腾讯云代金券