查看原文
其他

成为数据工程师前,我应该知道的事

Peter Mei 大数据应用 2022-10-18

今日份知识你摄入了么?

在我从事这项工作的两年半后,我发现这个工作与我以前预期的不一样。也许并非下面列的每一条都跟你一样,但有些可能会适用于你的情况。


我的背景


这可能有助于你理解以下的几个观点。


我拿到了数学工程硕士的学位,主要研究高性能的计算和机器学习。毕业后,我马上就开始工作了,并没有时间来没有停下来探索世界或做做别的事情。

我作为数据分析师工作了 5-6 个月,主要的工作内容是创建 excel 报告,但这些工作内容都和我所学的技术技能并没有什么关联。因此,我转向了学术界,开始攻读机器学习的博士学位。我开始自己一个人研究非常酷的话题。


Photo by Edi Libedinsky on Unsplash


数据工程岗位,是一个技术性很强、大部分团队都有的岗位,而这个岗位达到了我想要的预期。


那么,我应该知道什么?


我将从以下两个角度来分享观点:


年幼无知的我,依然很无知但成长了的我。


 数据科学家是 21 世纪最性感的工作


目前,市场对数据工程师的需求更高


2012年那篇“数据科学是 21 世纪最性感工作”的臭名昭著的文章,无疑给了数据科学、机器学习和人工智能领域吸引到了应有的高度关注。


但问题是,要交付一个成功的数据科学(或 ML /AI)项目,需要的不仅仅是几个领域专家来回答高优先级的商业问题,运行 model.train() 和 model.predict() 来优化某个指标或 KPI这些而已。这在 下图的AI 需求层次结构中得到了很好的解答。


简而言之,要在顶层做好有影响力的事情,你需要良好的基础层。这就是大多数(数据)工程师所做的。这也反映在如 AWS 的岗位搜索工具的搜索点击次数上:数据工程师为 24k,机器学习为 8k,数据科学为 18k。



在 LinkedIn 上搜索时可以找到类似的结果:数据工程师的点击率高于数据科学家



因为任何建筑都需要坚实的基层,所以我这认为这是进入数据工程的好时机。


我需要了解所有的技术:由下而上

采取自上而下的方法



在浏览数据工程工作要求时,你很容易会以为你需要掌握所有这些技能。但其实不是,这只是招聘员的梦想要求。


目前技术领域十分广阔,一个人是无法完全掌握所有复杂的细节的。


为什么?因为技术一直在发展,世界也一直在发展。能够正确评估某种技术、快速或者可持续地完成工作更为重要。


当然,深入了解其中的一些知识会对你有所帮助,但知道去哪里找或问谁,通常来说就足够了。


重要的是,你要因大量学习新工具/技术而感到兴奋!


我需要构建一个自己的数据工程工具

使用不完美的工具可以解决 99% 的问题和情况


作为数据工程师,你遇到的每个问题和情况都是独一无二的。我曾经以为我需要专门为它编写或构建一个工具。


如果你在为世界上拥有强大的工程能力的大公司,例如 Uber、Facebook 和 Google 工作,那么是的,你可能需要做出这类的贡献。但对于剩下的人,现有的工具在 99% 的情况下都很好用。


至于其余 1% 的利基问题和情况,这些问题多半都是低优先级的。如果你在一个业务部门工作,他们仍希望你能找到解决方案,那么最好的办法是调整一个很接近它的现有开源工具。不要忘记把它回馈给你的开源社区。这样,至少在你离职去另一个组织后,这个工具也不会消亡。


每家公司对数据工程的定义大致相同

每个公司都有自己的定义


数据工程师有多种形式、职责和不同的业务参与程度。这是我遇到的三种常见类型:


  • 万事通


他们构建和管理整个数据平台,构建和部署多个 ML 模型,同时拥有和管理项目,将业务需求转化为技术需求。


这种类型的工程师,常见于“大规模机器学习”的年轻初创公司。

Photo by Standsome Worklifestyle on Unsplash


  • 改良的数据库或系统管理员


他们仅仅维护或提供对数据平台的支持。这些人不喜欢谈论商业问题。他们主要通过 IT 票务系统访问平台。


但不要误会我的意思,他们会知道他们管理的解决方案的每一个细节,且完全垂直。只是不要期望他们的工作有太多的水平上的移动。


你可以在大型跨国组织中找到这一类员工,因为,只有以这种规模的公司拥有这些配置员工才是是有意义的。


Photo by Sammyayot254 @ https://superadmins.co on Unsplas


  • 点睛之笔


虽然数据工程的范围很广,但这些人主要负责确保机器学习模型已准备好、且可以投入生产。他们可能会,也可能不会嵌入到业务部门中,且很少或根本没有数据平台管理。

你可以在更成熟的 ML 组织(在生产中运行超过 50 个 ML 模型)中找到这些员工。


Photo by René Ranisch on Unsplash


��� 按时交付成功项目的最大挑战是技术

��� 大多数挑战都与公司自身的文化、流程有关


好吧,你可以忘记我刚刚分享的所有内容。但我想让你记住一个最重要的,那就是这个。


项目和人员可能会发生变化,典型的数据/IT/预期挑战仍然存在。你花的大部分时间和汗水的那些事,总是扎根于组织的文化中


你也知道,想改变公司文化是有多难。但首先,你只需始终如一地面对这些挑战。


如果你想解决或至少改进其中之一,恭喜!数据世界需要更多像你这样的英雄。



你可以选择从事数据工程岗位,如果你满足以下条件:


  • 1.你喜欢像工程师一样在这些方面思考 :系统、稳定性、可靠性、容错、效率、自动化等等,

  • 2.你觉得数据科学的 80% 是数据工程,

  • 3.你喜欢在每一个新项目中学习一项新技术,

  • 4.你是一个真正的团队合作者:


→ 你从良好的讨论中获取能量,

→能以团队的形式实现某事,

→ 喜欢向更有经验的成员学习。


作为一个完全想进入数据工程的新手,以下是最基本的要求:


✅ 对编程语言(最好是 Python)有深入的理解或展示经验

✅ 提高你的沟通技巧

✅ 在课上或自己学习过机器学习


剩下的知识,你的工作会教给你!


你可以通过以下方式来给未来的雇主留下好印象:


  • 拿到云认证证书(AWS、GCP 或 Azure)

  • 展示构建和运行 Docker 容器的经验

  • 了解 DataOps、MLOps、DevSecOps

  • 使用 Kubernetes(或其他容器编排框架)

  • 学习 Terraform (或其他设施即代码的框架)

  • 使用数据工程组件:工作流协调器 (Airflow)、数据质量工具,

  • 展示你在并行计算框架(Dask、Pyspark、OpenMPI、Horovod 等)中的经验,

  • 为 Github 上的一个开源项目做出贡献,

  • 变革管理方面的经验。


总结


正如 Andrew Ng 所说:如果你目前有不理解的知识,请不要担心。你迟早会明白的。

原文作者:Coussement Bruno

翻译作者:Peter Mei

美工编辑:过儿

校对审稿:Jiawei Tong

原文链接:https://medium.com/datamindedbe/what-i-wish-i-knew-before-going-into-data-engineering-ddb659b4a05

本周公开课预告



往期精彩回顾


东京奥运接近尾声:Data Analysis在体育行业有哪些应用以及工作机会?

六个月零基础入行数据科学家,我做对了哪些事?

7周时间硅谷大牛带你免费学推荐系统!8月数据科学读书会直播讲座报名中~

基于云端的数据仓库的优势





点「在看」的人都变好看了哦

点击“阅读原文”查看数据应用学院核心课

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存