数据工程师或die折:一个开发人员的故事

在12月初,我犯了一个致命的错误,在我作为开发人员的生活中做出了重要决定,然后转到公司内部的数据工程(DE)团队。在本文中,我将分享我在DE团队工作两个月期间所做的一些观察。




为什么选择数据工程?


我的DE之旅始于2019年夏天 内格开车去了分布式计算学校,在那里我得到了启发。我开始对该主题感兴趣,研究算法甚至撰写它们,然后我思考了应用领域,并很快发现我们公司的实际应用是分布式数据库。

我们的团队通常会做什么?与所有时尚男孩和女孩一样,我们希望成为数据驱动公司。为了使之成为可能,我们至少需要构建一个可靠的存储库,在该存储库上可以构建公司所需的任何报告。但是最重​​要的是,必须信任此存储中的数据。而且,根据这些数据,必须能够在时间t恢复系统的状态。我们生活在一个微妙的微服务新世界中,所有这些使情况变得复杂,这种意识形态意味着每个服务都实现其小型功能,其数据库是其自己的业务,并且至少每天都可以删除它,但是同时,我们必须能够接收和处理服务状态。

想要成为数据驱动者,首先成为事件驱动者


没那么简单。事件是不同的,开发人员和日期工程师对事件的看法也不同。关于事件的讨论是另一篇文章的主题,因此在这里我不再赘述。而且,有人马丁·福勒 Martin Fowler)已经写过这样的文章,我不会因为他的桂冠而让他成名。

通常,有一些事情要考虑,并且该地区很有吸引力。碰巧的是,在我们公司中,数据工程师比负责编写ETL / ELT管道的人要负责的范围要广得多(如果您不知道这些缩写的含义,请转为mitap作为上下文广告)。

当然,我们从事构建仓库,建模数据以及与数据安全性有关的问题以及管道本身的体系结构。而且我们需要确保,一方面,产品开发人员不会对我们的工作造成太大的负担,并且当他们看到系统中的新功能时,他们必须尽可能少地被我们的需求所分散,另一方面,我们需要提供方便存储的分析人员和BI团队的数据。那就是我们的生活。

发展困难


在工作的第一天,我遇到了许多困难,想与您分享。

我看到的第一件事是缺乏调优和一些实践。以测试的代码覆盖率为例。在开发中,我们有数百个测试框架。当处理数据时,一切都变得更加复杂。是的,我们可以在测试数据上测试ETL管道,但是我们必须亲自完成所有这些工作,并为每种特定情况寻找解决方案。结果,测试覆盖率差得多。幸运的是,还有另一层以监视和日志形式出现的反馈,但这已经要求我们做出反应而不是主动,这使我们非常生气

2.从DE的位置来看,这个世界根本不是普通产品开发人员所能看到的(当然,读者不是那样,他已经知道了一切,但是我不知道,现在他正在king跷)。作为开发人员,我看到了我的微服务,将数据放在[您选择的数据库]中,将状态保存在那里,通过ID得到了一些东西,这很正常。服务在旋转,订单在泥泞中,仅此而已。他们要求我在另一项服务中弄清状态,好吧,我将一个事件扔到RabbitMQ中,仅此而已。在这里,我们再次回到上述事件的问题。

服务所需的操作工作不适合我们使用历史数据,因此开始处理服务合同并与开发团队紧密合作的问题。您甚至无法想象我们要花多少时间才能达成共识:他在我们公司中是什么样的事件?

3.您需要头脑清醒。不,我并不是说开发人员不认为(尽管我是每个人的代言人),只是在产品开发中您通常已经拥有某种架构,并且您正在削减各种积压工作。当然,这需要进行计划和反思,但这是一项流媒体工作,其中主要问题只是要做的高质量和高质量。

这里不是那么简单,因为将各种系统组件从温暖舒适的整体转移到野生微服务丛林的世界并不是那么简单。当服务开始充满事件时,您需要修改填充存储的逻辑,因为数据现在看起来有所不同。在这里,您需要进行全面思考,而不是作为开发人员,而是作为数据工程师。这是一个正常的故事,当您花几天时间在笔记本和钢笔上或在板子附近使用记号笔时。我不喜欢思考,这非常困难,我喜欢无花果和无花果。

4.也许最重要的是信息。当我们缺乏知识时我们该怎么办?谁说stackoverflow?把这个人带出房间。我们将阅读有关该主题的文档,书籍,并且仍然有一个组织论坛,会议和会议的社区。该文档很酷,但是很遗憾,它不完整。我们在许多项目中使用Cosmos DB。祝您阅读本产品的文档好运。书籍是唯一的救赎,幸运的是,它们存在并且可以找到,它们具有很多基础知识,您必须经常阅读很多书。但是社区陷入困境。

现在,按照我们的方向,很难找到至少一场适当的会议。当然,“数据”一词有很多缺点,但是通常会在该词旁边出现ML或AI之类的缩写。因此,这不适合我们,我们正在谈论如何构建存储设施,而不是如何涂抹神经元。这些赶时髦的人充满了一切。结果,我们没有社区。顺便说一句,如果您是一名数据工程师并且了解良好的社区,请在评论中写下。

mitap的结论和公告


到底我们有什么?我的第一次经验告诉我,对每个​​工程师来说,穿上工程师约会的感觉都会很有用。它只允许您以不同的方式看待事物,而当开发人员如何对待他们的数据时,我们的视线流血时,您不会感到惊讶。因此,如果您的公司拥有DE,请与这些人聊天并学到很多(关于您自己)。

最后是公告。由于白天无法找到关于我们主题的混搭,我们决定自己制作。还有什么,我们最糟的是什么?幸运的是,我们有一个了不起的施韦普斯以及来自New Professions Lab的朋友,他们像我们一样认为约会工程师受到不公平的剥夺。

我借此机会邀请所有相关人员参加我们的首次社区会议,会议的名称很有前途,名称为“ DE或DIE”,将于2020年2月27日在Dodo Pizza办公室举行。有关TimePad的详细信息

如果有的话,我会在那里,您可以亲自告诉我,我对开发人员的看法有多糟糕。

All Articles