与团队见面:DataHub工程

在我们的办公室里,有这样一句话很常见:“数据是金融生态系统的命脉。”我们的DataHub工程团队在纽约、普林斯顿和伦敦都有成员,他们提供了一个用于托管数据集的分布式平台,包括托管数据存储、搜索、发现、批处理和实时流处理。用于编目、发布和消费数据的服务集合称为彭博数据服务(Bloomberg data services, BBDS)。

吉奥莉•Ranganathan

我们第一次见面团队领导吉奥莉•Ranganathan.24年前,她研究生刚毕业就加入了彭博社。在她的职业生涯中,她从几个不同的部门的角度见证了公司的发展和变化。自BBDS于2013年成立以来,她一直在该平台工作,并在该平台从一个用户到今天的发展过程中发挥了重要作用,目前已有超过1000名工程师使用该平台为他们的应用程序提供数据支持。

谈谈你作为DataHub工程主管的职责,以及这个团队的职责。
我们的目标是确保高质量的内容在一个地方被编目、标准化、可发现、分布式和可访问。BBDS平台提供低延迟、高可用性的数据存储、管道、流处理、实时变更数据捕获,以及分发和发现服务。

我们拥有不同的金融数据集。为了支持像纳斯达克那样的市场数据,彭博社专门建立了名为Ticker Plant的基础设施。对于参考数据,如全球48,000多家公司的财务数据,通过抓取数十亿网站获得的新闻,经济数据,所有公司、政府和市政债券的信息,公司行动,基金和etf,我们有BBDS data Pipe,它是基于Apache卡夫卡

你的团队需要解决哪些独特的技术挑战?
BBDS平台的目标是确保交付给彭博客户的所有数据集在一个地方被定义、编目、标准化、可发现和可访问。这有助于降低数据分发成本,并帮助企业数据、替代数据和量化分析等业务取得成功。

该团队的技术堆栈包括各种开源分布式系统,如Apache Kafka,金宝搏网址Apache火花Apache HBaseMySQL,Apache气流, Kubernetes。支持这种广泛的技术需要许多领域的专业知识。我们面临的主要挑战之一是在投资于系统的稳定性和可靠性和向用户提供功能之间找到正确的平衡。

简要地告诉我们你的职业道路。
当我第一次加入彭博社时,工程培训项目位于公园大道499号,持续了3个月。高级工程师会来上课。我们从他们的经历中学到了很多,并迅速吸收了彭博快速行动、大胆开放的文化。

培训课程结束后,我加入了数据系统公司(现在是普林斯顿大学的数据技术公司),支持我们全球数据部门的运营。我有机会在固定收益(企业、政府、优先股和贷款)和股票指数部门工作,为固定收益、企业和交易系统等核心团队提供数据获取和分配支持。我有机会与工程、全球数据和产品部门的几个团队建立和发展我的网络。这帮助我理解了我们的核心业务和我的团队的影响。

当一个新的工作机会出现在彭博房地产垂直——一个为商业房地产业主和经纪人提供运营、财务和租户管理透明度的在线服务——我接受了挑战,并在网络技术方面获得了专业知识。

我也很高兴在彭博财富(Bloomberg Wealth)工作,这是一家面向个人投资者的个人财富管理在线服务公司,在那里我领导了财富数据获取架构的开发,如消息和聊天等客户通信应用程序,以及用户登录。

2013年,我加入了普林斯顿的BBDS,帮助全球数据的多样化数据集构建数据管道,并没有回头。

你选择团队成员的策略是什么,尤其是考虑到多样性(技能、资质、态度、经验、文化背景、性别/种族和能力)?
我们重视那些具有很强的解决问题能力和创造性思维的工程师。我们的团队中有初级和高级开发人员,这有助于每个人的成长。在选择团队成员时,我们寻找热情、动力、好奇心、谦逊和愿意学习的人。我们的工程师面临的挑战是如何构建可靠、容错、高效、可扩展的系统,以满足金融数据集的不同需求。人才是万能的,我们相信多元化的团队可以帮助我们成为一个更强大的团队,建立一个更好的平台。

你如何激励(彭博社内外的)女性在科技领域寻求职业发展?
我在Big Brothers和Big Sisters做志愿者,帮助中学女生参与STEM活动。我在团队内外指导工程师的领导能力。我帮助并鼓励我的团队中的女性在像格蕾丝·霍珀计算机女性庆典(GHC)并期待在未来做更多这方面的工作。

在为你的团队招聘工程师时,你看重的是什么技能?
我们希望申请者至少精通一种系统编程语言(如Java、Go、c++),并对数据结构和算法有扎实的理解。我们注重解决问题、沟通和分析能力。我们重视设计可扩展的低延迟服务的经验,并从使分布式系统具有弹性中学习经验。我们喜欢看到所有权、质量、同理心、协作和对行动的偏见。

是什么因素推动了您团队的快速成长/扩张?
考虑到我们的平台支持的无数用例,有几个领域还在增长。DataHub数据管道使以前锁定在竖井中的财务数据可以作为流数据集提供。流数据,从一个数据集Bloomberg Dividend Forecasts开始,现在支持数千个数据集,并正在快速增长,以帮助数据技术、金融分析、股票、新闻、警报、投资组合、交易解决方案和企业等内部组织实时共享数据。通常,这些数据集需要大规模的批处理操作。我们管理的另一个产品DataHub Batch每周处理160亿条记录。

对于使用DataHub平台作为应用程序后端以简化数据管理和分发的金融应用程序,我们需要该平台来管理具有高可用性的低延迟分片SQL数据存储。我们正在扩大团队,率先使用Vitess来解决这些挑战。使用Jupyter笔记本对这些数据集进行数据探索和协作是DataHub增长的另一个领域。

另一个重要的增长领域是我们与彭博查询语言(BQL)的集成,使彭博的所有数据都可以轻松查询,以支持大型分析工作负载。

随着DataHub的发展,我们作为基础设施工程师也在发展,我们在服务的可靠性、可伸缩性、效率、可观察性和易用性方面进行了大量投资。但是,我们通过互相学习、分享、信任和互相支持来获得最大的成长。

你如何在你的团队中培养文化?疫情期间,大家都在家工作,情况发生了怎样的变化?
我们的团队文化是协作的,重视团队的成功而不是个人的成就。这是一种开放的文化,所以我们分享自己的想法,鼓励团队中的每个人都表达自己的观点。我们通过持续聊天、异步交流和视频会议保持联系。每周的会议让团队中的每个人都有机会了解其他人正在做什么,并宣布即将到来的变化和重要的发布。

我们一直是一个分布式团队,有来自普林斯顿、纽约和伦敦的工程师,所以我们不仅习惯了团队内部的书面沟通和协作,也习惯了与我们的供应商和开源Kafka、Spark、金宝搏网址维塔斯,MySQL我们积极参与的社区。我们能够适应远程工作,而不损失生产力或需要改变我们的团队工作方式。但是,我们非常想念面对面的团队聚会、散步到中央公园、晚上的饮料、普林斯顿大学的下午茶,以及其他许多让我们的工作环境变得特别的即兴活动。疫情对新员工来说也是一个挑战,让他们认识团队中的其他人,但我们组织了有趣的虚拟活动、游戏和午餐。

“我们的工程师面临的挑战是如何构建可靠、容错、高效、可扩展的系统,以满足金融数据集的不同需求。”

——吉奥莉•Ranganathan

路加福音安

路加福音安是DataHub流功能(DSF)团队的一名软件工程师。和彭博社的许多初级工程师一样,他以前对现在每天都在使用的技术知之甚少。但是,由于渴望成长,容易获得导师的指导,以及丰富的学习机会,Ahn能够迅速成为Kubernetes的熟练开发人员。

告诉我们你现在在做什么,你最大的挑战是什么。什么最能激发你的灵感?
我的工作帮助我们的下游应用程序无缝地使用流数据。它主要涉及构建一个具有健壮恢复流程的高弹性、高可用性的数据集成平台。最大的挑战是,在小样本容量下工作的软件在投入生产时往往需要更多的关注,因为生产中数据处理负载更大。密切关注其在规模上的表现是我们的挑战之一,也是我们成功的关键。

你是怎么发现彭博的?是什么让彭博脱颖而出?你为什么选择彭博社?
在加入彭博社之前,我是康奈尔理工学院的一名学生。彭博社的代表参观了校园,并谈论了他们所做的工作和他们正在产生的影响。同时在科技和金融领域工作是我的职业抱负之一,所以彭博社对我来说是合适的地方。此外,我很高兴能为我的团队向世界各地传播彭博金融数据的工作做出贡献。我从与彭博代表的会面中得到的一个重要启示是,一旦你加入这家公司,你会得到各种资源,比如导师、数月的培训,以及选择符合你兴趣的团队的机会。

彭博的培训项目是如何帮助你熟悉我们的系统的?
在经历了新员工入职和培训过程后,我可以说,公司投资个人的感觉创造了一种积极的联系和对成功的强烈承诺。

在彭博,获取知识的方式有很多。一种方法是通过学习,通过阅读书籍和文献。另一种方法是通过实践经验,它会教你最好的做法。此外,还有许多工程师愿意牵着你的手,指导你学习。

跟我们说说你在彭博社接受的指导吧。
和我一起工作的Kubernetes在加入彭博社之前,我对这项技术几乎一无所知。看到Kubernetes公司如何利用这项技术,以及Kubernetes提供的切实利益,我意识到这是我想要发展自己专业技能的关键技术之一。我不仅得到了团队的支持,还得到了整个部门成员的支持,因为我了解了技术的具体情况和最佳实践。每两周举办一次知识分享会,每周安排办公时间,以帮助传播知识,建立持续学习的文化。团队领导也可能创建老虎团队来共同完成工作。

彭博社的协作环境如何创造学习新技能和扩展专业知识的机会?
给我印象最深的一件事是,布隆伯格确实是一个技术不可知论者,管理层更愿意探索新的技术和工具来完成使命。你会发现他们在你学习新技能的能力上投入了合理的时间和资源——从被安排的学习时间到参加相关会议的能力,比如KubeCon和其他cncf主办的活动。

“从与彭博代表的会面中,我得到的一个重要收获是,一旦你加入这家公司,你会得到各种资源,比如导师指导、数月的培训,以及选择符合你兴趣的团队的机会。”

- - - - - -路加福音安

沙恩马修斯

沙恩马修斯是彭博社普林斯顿办公室DataHub Stores团队的高级软件工程师。在彭博的第一个十年中,他从事前端和中间件开发工作,之后他渴望一种新的编程挑战,并加入了目前的团队。

告诉我们你现在在做什么,你最大的挑战是什么。什么最能激发你的灵感?
我目前的团队专注于数据存储/服务和我们的HBase存储后端。该团队使用了一种复杂的存储机制,将数据存储在MySQL数据库、HBase集群中Apache Solr搜索服务器。这种混合方法除了提供批处理和搜索功能外,还可以为应用程序提供多种特性,如高效存储和快速检索存储的数据集。维护一个混合分布式系统也有它的挑战,例如需要确保跨数据库的数据完整性,同时可以扩展系统并使其高可用性。大量的工作是将底层系统的复杂性从通过简单REST api与平台交互的最终用户中抽象出来。

这些年来,你似乎在彭博的几个团队中工作过。是什么推动了你最近的行动?他们让你最惊讶的是什么?
我最初是一名初级工程师,负责金融分析师使用的前端应用程序。作为一名UI开发人员,你要与我们的产品经理和客户密切合作。这为您提供了一个不同的视角,并鼓励您像用户一样思考,而不仅仅是作为一个程序员。

几年后,我将重心转移到中间件开发上。虽然我可以利用我的编程技能,但我很快意识到,要想成为一名成功的中间件工程师,您需要具备更广泛的技能。除了开发可靠的高性能软件,您还需要像系统工程师一样思考。你需要对操作系统如何管理进程、线程、内存等有更深入的了解。您需要查看应用程序将对其运行的机器产生的影响,以及它如何与其他应用程序并行工作。

大约四年前,我得到了加入DataHub团队的邀请。我很高兴能加入这个团队,这个团队试图解决公司其他工程团队面临的数据存储和数据分发挑战。这个团队提出了一套完全不同于我所熟悉的挑战,比如如何构建和维护一个高度可伸缩、可用和可靠的分布式系统,能够存储和分发大量数据。我很惊讶地看到,为了管理这样一个复杂的系统,人们使用了大量的技术、工具和自动化。

你如何在工作中营造一个协作包容的环境?
团队领导者和经理清楚地传达他们的期望,团队的每个成员每年至少要重新审视和校准这些目标两次。在为接下来的季度和年份设定里程碑时,他们会寻求团队的反馈和建议,而不是强迫团队完成一套任务。在一些会议上,整个团队会聚集在一起,进行头脑风暴。该小组审查现有的系统,并确定改进的机会,每个成员的意见都被计算在这些练习中。

我们也会在没有经理的情况下每月开会,以确保有一个公开的讨论。任何新的想法或改变建议都经过讨论,并在必要时提交给管理人员。我们的团队还试图让新成员更容易地加入团队,并通过提供专门的导师、与所有成员一对一、主持技术/领域介绍会议,以及维护最新的团队文档,来快速做出贡献。

“我很惊讶地看到,为了管理这样一个复杂的系统,正在使用的各种技术、工具和自动化都已经建立起来了。”

——沙恩马修斯

瑞安·莱斯利

瑞安·莱斯利是DataHub核心团队的高级软件工程师。他从事管道平台的工作,该平台可以在彭博的多个系统之间传递消息。

你最大的挑战是什么?什么最能激发你的灵感?
我发现维护一个既高度可靠又可伸缩的基础设施是一项挑战。这是一个微妙的平衡,我们需要注意。看到许多内部应用程序团队成功地采用了我们的平台,并以创造性的方式继续使用它,我受到了启发。

在同一家公司干了这么多年,你是如何保持工作的趣味性的?
在彭博社,技术发展迅速,从不缺少新东西。为新问题找到创造性的解决方案总是有好处的。

作为工程师,我们经常做的另一件事是调试系统,试图解释意外的行为。这需要不同于编写代码的思维方式,想出为什么会发生一些事情并找出最好的方法来证明它是很有趣的。随后的“啊哈!“时刻可以是非常令人满意的。

请告诉我们在彭博社师徒关系的重要性。
在我在彭博社的职业生涯早期,我很幸运地与一些非常聪明和有才华的高级工程师共事过。有好的榜样鼓励你为自己的工作感到自豪并努力做到最好是很重要的。现在,我试着把同样的经验传授给新的团队成员。我也不断从我的经理那里学习成功的项目管理。

“在彭博社,技术发展迅速,从来不缺新东西可学。为新问题找到创造性的解决方案总是有益的。”

瑞安-莱斯利

查看我们在纽约市DataHub工程团队的一些开放职位(在这里在这里)及普林斯顿大学(在这里在这里).

Baidu