数据工程师的没落

本文讲的是数据工程师的没落,本文是几个月前大数据文摘推送的一篇文章《数据工程师的崛起》的后续 。那是最近一篇尝试定义数据工程和描述数据工程师这一新职位与数据科学领域以往和现在的职位之间的联系的文章。如果对数据工程师这个职位不了解的读者,可以参考这篇文章《数据科学行业的8个关键角色:职责与技能》了解数据科学行业职责分类。

在这篇文章中我打算揭露使数据工程师寸步难行的挑战和风险,并列举这一领域在经历其“青春期”时所面临的阻力。The downfall of data engineer

尽管这篇文章的标题有点标题党,内容很悲观,但请牢记,我对数据工程非常有信心——我只是需要一个和我之前的文章对比强烈的标题。理解并揭露这一职位正面临的逆境是寻找解决方案的第一步。

同时提请读者注意的是这里陈述的所有观点都是我个人的,并且是基于我在与很多来自硅谷的数据科学团队的人们交流时所做的了解。这些观点并不是我老板的想法,与我现在的职位也没有之间的联系。

工作内容无聊 & 项目之间内容切换

编写和维护数据抽取、转换和加载(Extract Transform and Load,ETL)真的很无聊。绝大多数ETL工作需要花很长时间来执行,而错误和问题更容易在运行时出现,或是运行后才可以认定。由于开发时间对执行时间的比率较低,要做到高效就要同时周旋于多重管线之间,同时,这也就意味着需要进行大量的内容切换。在你的五个正在运行的“大数据项目”的其中之一完成之前,你不得不恢复到数小时前的大脑状态并设计下一个循环。这些取决于你有多依赖于咖啡因,距离上一个循环已经过了多久,以及你能做有多细致周到,你也许不能成功地在你的短时记忆中恢复全部的上下文语境。这将导致出现愚蠢的系统性错误,又要浪费数小时去纠正。

如果迭代周期之间的空闲时间以小时计算时,你会觉得夜以继日地工作更有效果 :晚上11点半花上5-10分钟的额外工作能够为你明天节约2- 4小时。这就可能会导致工作与生活之间的不平衡,很不健康。

寻求共识

不论你是否认为老派的数据仓库概念正在消逝,达成一致的维度和指标的追求依旧像以往一样具有重要意义。我们中的大部分人依旧能时不时地听到人们说“单一数据源”。数据仓库需要反映商业,而商业应该明确它认为这些分析怎么样。冲突的命名方式和不同命名空间或“数据集市Data Mart”中不一致的数据是有问题的。如果你想在决策支持上建立信任,你至少需要一致性以及准确性。在分析过程中的数据生成方包含数百人的现代大组织中,寻求共识在当下不是完全不可能,不过也是具有挑战性的。

过去人们用贬义词“数据孤岛”来指代与分散在平台上或引用不兼容的异质性分析相关的问题。数据孤岛在项目开始时便自然而然地大量产生,随着收购的进行,团队也不可避免地流动。使用如主数据管理(MDM)、数据集成(data integration)和厉害的数据仓库项目等增强共识的方法来解决这些问题是商业智能(现为数据工程)团队的职责。现如今,在现代快节奏的公司里,孤岛问题疯狂地不成比例增长。在这里你可以用“暗物质”这个词来描述正在发生的混乱的扩张后果。随着大量不那么合格的人们参与进来,管道网将很快变得混乱、不一致,并成为一种浪费。如果数据工程师是“数据仓库的图书管理员”,他们可能会觉得他们的工作就像在一个巨大的回收厂里分类出版物。

在仪表盘的生命周期以周计算的世界里,共识成为了几乎赶不上商业焦点的改变和切换速度的后台进程。传统主义者建议创立一个数据管理制和所有制的项目,但在特定的规模和速度下,这些努力只是一种微薄的力量,并不能与正在发生的扩张相匹配。

变革管理

由于有用的数据集被广泛使用,并且是通过会导致庞大复杂的有向非循环图(DAGs)的方法获得的,变化的逻辑或源数据可能会打破下游结构,和/或使其变得无效。下游结点比如派生数据集、报告、仪表盘、服务项目和机器学习模型便可能需要被改变来反映上游的变化。通常来说,数据传输线附近的元数据是不完整的或被掩藏在代码中,只有极少数人有能力耐心阅读。上游的变化将不可避免地以错综复杂的方式打破下游实体或使其无效。取决于你的机构如何权衡稳定性与精确性,这种变化可能是十分可怕的,并可能导致管道堵塞。如果数据工程师的工作目标是稳定性,他们很快就会认识到不打破任何东西的最好方法就是不改变任何东西。

由于管道通常是巨大且昂贵的,适当的单元测试或集成测试应当在某种程度上达到均衡。问题在于:利用抽样数据和试运行,你能确认的只有这么多。如果你认为一个单一环境的混乱程度已经超出了你能处理的范畴,那么在使用到了不同的复杂代码和数据的开发和生产环境时,请努力保持理智。凭我个人的经验,在大数据的世界里,很难找到体面地开发或测试环境。在很多情况下,你能找到的最好的就是一些人们用来支持任何他们认为合适但还未公开的进程的空间“沙盒(Sandbox)”。

数据工程已经错过了“devops运动”这只大船。devops是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。 并且现代工程师很少受益于devops运动带来的理智和安心。他们没登上这艘大船不是因为他们没出现,而是因为船票对于他们的货物来说太昂贵了。

整个团队中最不利的角色

现代团队发展得很快,不管你的机构是工程驱动、项目管理驱动或是设计驱动,也不管它是否把自己想成是数据驱动的,数据工程师并不会起太大的驱动作用。你得把数据工程想成是基础设施的角色,是一种人们认为理所当然的东西。只有当它坏了或者是没有达到人们的预期时,它才会受到人们的关注。

如果团队人员中有数据工程师,他的工作可能是帮助数据科学家和分析师收集他们需要的数据。如果需要的数据不能在数据仓库的结构化部分得到,分析师可能会查找一些原始数据来做出短期的解决方案。此时数据工程师就需要适当地处理数据并最终把这些数据加入仓库中。很多情况下答案必须及时给出,因而当新的维度和指标被填充到数据仓库中时,它们早已是过时的新闻了,所有人都已经忘了这件事儿了。数据分析师会因其洞察力而获得荣誉,而其他所有人都可能会质疑把这一部分新信息并入数据仓库这一缓慢的后台进程是否还有必要。

虽然“冲击/影响力(impact)”——这暗示着速度与改变——是员工在其业绩评估中最希望看到的词,数据工程却被谴责为几乎没有短期影响的缓慢的后台进程。数据工程师离那些能产生积极影响的形象还有些距离。

维护蔓延

维护蔓延(Operational Creep)对那些需要维持他们自己搭建的系统的职业来说是一个残酷的事实。质量监控团队在很大程度上被“你建立的系统你自己维护”的格言取代了,并且这个领域的大部分人都支持这个观点。这被认为是一种能够适当地使工程师意识到累积的技术债务并对其负责的方法。

由于数据工程通常伴随着相当高的维护负担,维护蔓延缓慢这现象出现得很快,并且它整垮工程师的速度比你的招募速度还要快。确实,现代工具使人们变得更高效,但这无疑只是指机器帮助管道建造者能在同时使更多的“飞碟”能旋转起来而已。

此外,维护蔓延蔓延会导致更高的员工流动率,而这最终会导致低质量、不一致且不可维护的混乱。

是否是真正的软件工程师?

这个领域的人们应该听到过关于数据工程师是否是“真正的软件工程师”,或是某种不同类别的工程师的争论。在某些机构中这一职位是不同的,并且可能有不同(更低)的工资级别。随机观测的结果显示,数据工程师中拥有计算机科学学位的比率显著低于整个软件工程领域中拥有计算机科学学位的工程师的比率。

由于本文所述的原因,这一职位的名声可能在恶性循环的传播中变坏。

别急——希望还是有的!

别着急退出。各公司一致认为数据是核心竞争优势,并且他们在数据分析上的投入也比以往更多。“数据成熟度”以一个可预见的曲线形式增长并最终使人们意识到数据工程的极端重要性。在你阅读这篇的文章的同时,成百上千的公司正在他们的长期数据策略上加倍投入并投资于数据工程。这个职位很有活力,且正在发展,并有着美好前景。

随着许多公司在他们的数据的投资回报率(ROI)上停滞不前,同时感受到了“数据运算高峰”的挫败感,创新必然会出现以解决本文所描述的痛点,并最终开创数据工程的新纪元。

也许有人会说未来可能的方向是"去专门化"。如果合适的工具出现,也许简单的任务可交付给信息工作者。也许和品质监控(Q/A)团队经历的一样,软件工程职能将是更复杂的工作任务。同时随着持续输送技术和方法的不断出现,工程师们也会被解放出来。

无论如何,适当的工具和方法能够决定一个职位未来的道路。我有信心它们能够解决。这是这篇文章所表达的担忧的大部分根源。

本文作者正在构思下一篇名为“下一代,数据感知ETL”的博文。在这篇文章中他将提出一个以可达性和可维护性为核心的新框架的构思。这个尚未建造的框架有一系列很强的限制条件,但反过来它也会为达成最好的实现提供很强的保障。敬请期待!

时间: 2024-11-08 19:18:56

数据工程师的没落的相关文章

大数据工程师练成记之首重:知识体系一览!

我们想要告诉大家的是成为大数据工程师需要掌握的知识体系,而作为初学者,你可以先从简单的入手,慢慢在学更深的知识,拿出高考的恒心和坚持来,肯定能行. 值得一提的是,目前大数据工程师的月薪都是20K起,月收入两万的薪资是不是很诱人?而且大数据工程师是非常容易找到工作的,所以--Why not 不扯犊子了,由于篇幅所限,这一部分内容主要包括数据可视化.机器学习和算法三个分支. 数据可视化 R R不仅是编程语言,同时也R具有强大的统计计算功能和便捷的数据可视化系统.在此,推荐大家看一本书,这本书叫做<R

数加:从数据工程师到CDO的七次升职路

2017云栖大会深圳峰会,阿里云高级产品专家陈鹏宇带来题为"数加:迈向数据智能之路"的演讲.本文引入一个数据工程师到首席数据官的七次升职过程,阐述了阿里大数据的进化史,其中包括Quick BI.DataV.PAI.公众趋势分析.MaxCompute & Data IDE以及推荐引擎等都进行了详细的解析,一起来了解下吧.   以下是精彩内容整理: 大数据实践之路并不像新闻描绘的高大上,很多企业仍然还没有解决看数据的问题,下面我会结合自身的体会,以一个虚拟人物的形象来描述如何一步步

2017年,大数据工程师应该如何充实自己的专业工具箱

随着互联网应用的普及.智能硬件的发展,数据产生的速度呈现了持续爆炸式的增长,数据产生的价值也已不仅取决于空间维度,同时开始在时间维度进行延展,因此提高计算的时效性,更快的从数据中挖掘出信息和知识就意味着能够获取更大的价值.这在阿里双十一大促这样的场景中表现的尤为明显,用户行为和商品变化信息带来的价值都是短暂有效的,因此大数据后台系统需要在线收集用户行为和商品变化等信息,实时调整搜索和推荐策略,为用户和商家提供更精准的服务. 在实时计算领域,Apache Storm.Samza.Spark Str

如何成为一名大数据工程师?

导 读 大数据是眼下非常时髦的技术名词,与此同时自然也催生出了一些与大数据处理相关的职业,通过对数据的挖掘分析来影响企业的商业决策. 这群人在国外被叫做数据科学家(Data Scientist),这个头衔最早由D.J.Pati和Jeff Hammerbacher于2008年提出,他们后来分别成为了领英(LinkedIn)和Facebook数据科学团队的负责人.而数据科学家这个职位目前也已经在美国传统的电信.零售.金融.制造.物流.医疗.教育等行业里开始创造价值. 不过在国内,大数据的应用才刚刚萌

如何成为一名优秀的大数据工程师

大数据是眼下非常时髦的技术名词,与此同时自然也催生出了一些与大数据处理相关的职业,通过对数据的挖掘分析来影响企业的商业决策. 这群人在国外被叫做数据科学家(Data Scientist),这个头衔最早由D.J.Pati和Jeff Hammerbacher于2008年提出,他们后来分别成为了领英(LinkedIn)和Facebook数据科学团队的负责人.而数据科学家这个职位目前也已经在美国传统的电信.零售.金融.制造.物流.医疗.教育等行业里开始创造价值. 不过在国内,大数据的应用才刚刚萌芽,人才

谁能做大数据工程师?

大数据是眼下非常时髦的技术名词,与此同时自然也催生出了一些与大数据处理相关的职业,通过对数据的挖掘分析来影响企业的商业决策.这群人在国外被叫做数据科学家(Data Scientist),这个头衔最早由D.J.Pati和Jeff Hammerbacher于2008年提出,他们后来分别成为了领英(LinkedIn)和Facebook数据科学团队的负责人.而数据科学家这个职位目前也已经在美国传统的电信.零售.金融.制造.物流.医疗.教育等行业里开始创造价值. 不过在国内,大数据的应用才刚刚萌芽,人才市

你们是不是真的很缺大数据工程师?

00 缘起 之所以有这个话题,是因为周末加班中午吃饭与一个同行朋友聊起了这个话题,之后再细细地结合一些其他接触的东西,确实是有些感触的. 并且对于行业的一些现状,也的确有些自己的看法,对不对先不论,这玩意儿也没有对错之分,每个人都有自己想法,当然也包括我博客虫了. 所以,有些东西.有些想法我还是愿意分享出来的,畅所欲言吧~~ 01 我眼中的大数据现状! 其实个人在大数据在大数据这个坑中,细细算来,时间也有3+年了,从一开始做大数据中心平台开发构建,到现在关注的数据上层应用挖掘.所以,基本上从数据

你们是不是很缺大数据工程师?

缘起 之所以有这个话题,是因为周末加班中午吃饭与一个同行朋友聊起了这个话题,之后再细细地结合一些其他接触的东西,确实是有些感触的. 并且对于行业的一些现状,也的确有些自己的看法,对不对先不论,这玩意儿也没有对错之分,每个人都有自己想法,当然也包括我啦. 所以,有些东西.有些想法我还是愿意分享出来的,畅所欲言吧~~ 1.我眼中的大数据现状 其实个人在大数据在大数据这个坑中,细细算来时间也有3+年了,从一开始做大数据中心平台开发构建,到现在关注的数据上层应用挖掘.所以,基本上从数据收集->数据处理(

如何区分数据科学家,数据工程师与数据分析师

与其他一些相关工程职位一样,数据科学家的影响力与互联网同进同退.数据工程师和数据分析师与数据科学家携手共同完成这幅"大数据时代"巨作. 三者之间的定义又是如何区分的呢? 数据科学家是什么样一个存在呢? 通常情况下,数据科学家有数学或物理方面的高等学位.有博士学位的情况并不少见,硕士学位仅是一个前提条件.数据科学家精通统计建模以及如何构建与定制高级数学算法.这既在他们专业范围内,也是他们所擅长的地方.我听到过有人这样形容一个数据科学家"软件工程技能牛过多数人的酷炫统计学家&qu