厌倦了你的数据工程角色了吗?
厌倦了数据工程角色吗?
如何转行成为分析工程师
几年前,我发现自己在职业生涯中感到不满足。我在数据工程领域工作了三年,最初对科技世界的激情已经褪去。我开始意识到我对工作并没有如此热情。
我认为,无论身处何地,都重要关注自己的兴趣,以找到真正想要做的事情。这可能意味着追求在9-5之外带给你快乐的爱好,或者参与你已经工作的公司的不同团队。
我记得我在大学时多么喜欢市场营销和商业方面的知识,所以我决定开始探索这方面的选择。我开始与每天使用数据解决业务问题的数据分析师交流。他们就像是更多商业经验的数据工程师!
通过寻求数据分析项目,我学会了如何使用dbt,并进一步发展了我的Python技能。尝试新技术帮助我看到,我仍然喜欢从事数据工作,只是需要使用正确的工具并解决正确的问题。最终,这导致我寻求与这些新发现的兴趣和技能更加契合的不同职位。 这个职位恰好是分析工程师。
如何知道是否应该转行成为分析工程师
很多人害怕从数据工程师转行成为分析工程师,因为他们不知道是否时机合适。事实上,永远不会有所谓的“正确”时机。然而,如果你感到没有挑战和不满足,你永远不会过早做出这个选择。
如果你对数据本身感兴趣而不是构建支持数据的产品,那么从数据工程转向分析工程可能适合你。分析工程更加以客户为导向,因为你使用客户的数据来回答关键业务问题。你更加关注增长收入和洞察力,而不是构建东西。
这让我想到了第二点。如果你想更多地与业务保持联系,并希望做出推动公司增长的决策,分析工程可能适合你。作为一名数据工程师,你通过项目经理分配任务。你并没有权力决定要解决什么问题或者什么需要优先考虑。但是作为分析工程师,你有这个权力。
我是如何发现分析工程的
说实话,当我意识到我想要转换数据角色时,我并不知道什么是分析工程。我以为离业务更近的唯一选择是成为数据分析师。然后,我尝试了这样做。
我申请了很多数据分析师的职位,但运气并不好。我缺乏分析师所需的深入业务经验,以及构建适当仪表板的技能。我开始将注意力放在那些已经掌握的技能和想要学习的技能的混合的职位上,而不是职位名称上。
最终,我偶然发现了分析工程师的职位。这个职位需要SQL、Python、AWS、编排、dbt和数据仓库的知识,这些都是我作为数据工程师所掌握的技能。然而,它还需要与业务团队合作、一些基本的BI报告等方面的经验。
虽然我没有太多现代数据技术栈的经验,但我很幸运地找到了一个相信我的热情和学习愿望的公司。有时候,如果适合的话,公司愿意雇佣你,即使你没有满足所有要求!
转行成为分析工程师之前需要发展的技能
在寻求分析工程师职位之前,我花了很多时间来发展一些关键的技能,这些技能将使你在其他候选人面前占据优势。 如果你专注于这三种技能,我相信你可以在工作中轻松自学其他分析工程师所需的技能。
dbt
dbt,或者数据构建工具,是真正为分析工程师铺平道路的数据转换工具。事实上,它背后的公司就是首创了“分析工程师”这个名词!虽然作为一名分析工程师不一定非要了解dbt,但这是许多公司在招聘这个职位时都在寻找的一项技能。
dbt是一个基于SQL的工具,所以如果你已经了解SQL,学习它会相对容易。你需要熟悉如何设置dbt项目、数据建模的最佳实践以及每种dbt数据模型的目的。我建议查看dbt风格指南,了解在dbt中编写SQL代码时的“要做”和“不要做”的概要。这将帮助你学习加入团队时可能已经存在的标准。
dbt还使用了一种名为Jinja的模板语言,用于工具内的文档和函数。然而,dbt将它们称为宏(macros),而不是函数。宏是一种更高级的功能,相当于函数。你可以使用它们来自动化数据模型中的SQL输出。虽然这并非必要条件,但这绝对是使你作为一名分析工程师的生活更轻松的有用技能。
商业沟通
作为一名数据工程师,这可能是你最难发展和实践的技能。我们习惯于与其他工程师进行技术交流,而忘记以易于理解的方式解释事物。当与业务团队沟通时,你需要知道如何向非技术人员解释技术概念。越简单越好。你所交流的人群几乎永远不会像你一样具备技术背景。
除此之外,你还需要了解这些团队所使用的商业术语。你会经常听到不同的指标,如CAC、MRR、NPM和ROI。确保你知道这些的含义!很可能,这些就是你首先构建数据模型的原因。你需要了解最终目标/指标以及计算它们所需的数据。
构建数据流水线
作为一名数据工程师,幸运的是,你很可能已经具备了这项技能!构建数据流水线是许多数据工程师的常见技能,也可以用作分析工程师。然而,在这种情况下,你需要知道如何编排不同的dbt模型与各种数据源。你需要处理来自多个不同源系统的依赖关系。
分析工程中常用的数据流水线工具包括Airflow、Prefect和Dagster。它们都是使用简单的Python构建的,这也是构建流水线的重要技能之一。选择一种工具并熟悉它!一旦你学会了一种工具,很可能其他工具也可以学习。
我在转向分析工程之前希望我知道的事情
当然,回顾一下从数据工程转向分析工程的经历,有一些事情我希望我早知道,这样我的旅程会更加愉快。
你的数据工程技能仍然每天都会被使用,并且非常有价值。
从数据工程师转向分析工程师时,很容易认为你的整个角色和技能都会发生变化。然而,分析工程和数据工程之间存在许多重叠!往往,你作为数据工程师学到的技能会成为你最强大的优势。你可能能够做到其他分析工程师无法做到的事情,所以要拥抱它!
我认为这使你在申请职位时比其他候选人更具优势,特别是如果你正在寻找一个刚开始组建数据团队的小公司的数据职位。很可能,他们希望得到最大的回报,希望找到一个能够做一点点所有事情的人。一位积极进取的数据工程师转型为分析工程师正好符合这个职位的要求!
你不需要一开始就了解所有的东西。
很容易陷入一次性需要学习所有东西的陷阱。我需要知道如何设置像Airbyte这样的开源数据连接器,然后我才能申请那个职位。我需要有在dbt中构建自定义宏的经验,然后我才能申请那个职位。在我掌握所有类型的SQL窗口函数之前,我不能申请那个职位。
不要把注意力放在你不知道的事情上,而是要关注你已经知道的!你有什么独特之处?为什么别人会选择雇佣你而不是别人?想一想那些不能从工作中学到的让你脱颖而出的东西。行业总是在不断变化,意味着总会有一些你不知道的东西。接受它吧!这是分析工程中最好的部分之一。
当我开始从事分析工程师的工作时,我根本不知道什么是维度建模。实际上,我是通过dbt的文档介绍接触到它的,当时我正在尝试组织我们的数据仓库和建模我们的数据。最终,我能够学习到这是什么,将这些技术应用到我的工作中,并提高我的数据建模能力。现在,我可以花上几天时间和你谈论维度建模!
早点开始申请新职位永远不会太早。
如果你不开心,就采取行动。你越是坐在一个不能满足你的职业中,你就越会错过学习和成长的机会。每次我转换职业都是因为我的工作不再具有挑战性。如果我们不学习新的东西,不在个人成长上有所进步,我们就会停滞不前。有什么比这更糟糕的事情吗?
即使你认为自己一开始没有合适的技能,你可以通过探索各种选择来学习。浏览不同的职位,看看公司在寻找什么。工作岗位之间的技能有什么共同点?你认为在分析工程角色中有什么你不喜欢的事情吗?查看职位描述是找到答案的好方法!
结论
现在回顾过去,我从数据工程转到分析工程师的转变真是太棒了。我内心深处知道,一个纯粹的技术角色并不适合我。我需要亲手处理数据,用它来解决客户和业务问题。
生命太短暂,不要在一个你完全不喜欢的角色中停留!不要害怕探索其他可能性,无论是分析工程还是其他职位。最糟糕的事情是什么?如果你跳槽后发现那并不适合你,你总是可以回到你的旧角色。但是,除非你尝试,否则你永远不会知道!