与团队见面:DataHub工程

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

吉奥莉•Ranganathan

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

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

我们拥有各种各样的金融数据集。为了支持纳斯达克等市场数据,彭博社建立了专门的基础设施,称为股票代码工厂。对于参考数据,如全球48000多家公司的公司财务、通过抓取数十亿网站获得的新闻、经济数据、所有公司、政府和市政债券、公司行为、基金和ETF的信息,我们有BBDS数据管道,它基于Apache卡夫卡

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

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

简要地告诉我们你的职业道路。
当我第一次加入Bloomberg时,工程培训计划位于499公园大道,持续3个月。高级工程师将通过课程并获得课程。我们从他们的经验中学到了很多东西,迅速吸收了快速移动的彭博文化,粗体和开放。

培训班结束后,我加入了Data Systems(现在普林斯顿的Data Technologies),以支持我们全球数据部门的运营。我有机会在固定收入(公司、政府、优先和贷款)部门工作和股票指数,以支持数据采集和分发到核心团队,如固定收益、企业和交易系统。我有机会与工程、全球数据和产品领域的多个团队建立联系并扩大我的网络。这有助于我了解我们的核心业务和我的团队的影响。

当彭博房地产垂直平台(Bloomberg Real Estate vertical)出现新的工作机会时——这是一项为商业房地产所有者和经纪人提供运营、财务和租户管理透明度的在线服务——我接受了挑战,并获得了网络技术方面的专业知识。

我还很高兴在彭博财富(Bloomberg Wealth)工作,这是一项面向个人投资者的个人财富管理在线服务,我在该服务中领导了财富数据采集架构、消息和聊天等客户通信应用程序以及用户登录的开发。

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

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

你如何激励女性(彭博社内外)从事科技职业?
我与“大哥大姐”一起做志愿者,帮助中学女生参与STEM活动。我指导团队内外的领导工程师。我帮助并鼓励团队中的女性参加会议,如格雷斯·霍珀计算机女性庆祝会(GHC)并期待在未来做更多这方面的工作。

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

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

对于使用DataHub平台作为应用程序后端的财务应用程序来简化数据管理和分发,我们需要使用高可用性管理低延迟分类的SQL数据存储平台。我们正在培养团队,以便先驱使用Vitess来解决这些挑战。使用Jupyter笔记本电脑的这些数据集上的数据探索和协作是DataHub的另一个增长领域。

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

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

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

我们一直是一个分布式团队,在普林斯顿、纽约和伦敦都有工程师,因此我们不仅习惯于团队内部的书面沟通和协作,也习惯于与我们的供应商和开源Kafka、Spark、,金宝搏网址维蒂斯,及MySQL我们积极参与的社区。我们能够适应远程工作而不会失去生产率或需要改变我们的团队工作方式。但是,我们非常激议人队的团队聚会,步行前往中央公园,一个晚上的饮品,在普林斯顿大学的一个下午茶,以及许多让我们的工作环境特别的即兴的事情。大流行对新员工造成的挑战并让他们在团队中遇到别人,但我们组织了有趣的虚拟活动,游戏和午餐。

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

——吉奥莉•Ranganathan

路加福音安

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

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

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

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

在彭博社获得知识的方法有很多。一种方法是通过学习,通过阅读书籍和文献。另一种方法是通过亲身体验,教你最佳实践。另外,有许多愿意的工程师在你学习的过程中牵着你的手并指导你。

告诉我们你在彭博社得到的指导。
我目前与Kubernetes,一种技术在加入彭博之前我几乎没有知识。看到公司如何利用该技术和实际福利Kubernetes提供,我意识到它是我想开发我的专业知识的关键技术之一。我不仅收到了团队的支持,而且来自整个部门的成员,因为我学习了该技术和技术和最佳实践。Bi-Weekly知识共享会议以及每周办公时间托管,以帮助传播知识并建立持续学习的文化。团队的领导也可能会创造老虎队一起完成工作。

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

“我从会议彭博代表获得的一个关键外卖器是,一旦你加入公司,您就会获得各种资源,如指导,几个月的培训,以及选择与您兴趣相匹配的团队的机会。”

- - - - - -路加福音安

肖恩·马修斯

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

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

它看起来你在多年的几年里曾在几个彭博队伍上工作过。有什么动力你最近的动作?对他们最感到惊讶的是什么?
我开始作为一名初级工程师,用于研究财务分析师使用的前端应用程序。作为UI开发人员,您与我们的产品经理和客户密切合作。这为您提供了不同的视角,并鼓励您像用户一样思考,而不是作为程序员。

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

大约四年前,我收到了加入DataHub团队的要约。我很高兴加入努力解决整个公司其他工程团队面临的数据存储和数据分发挑战的团队。该团队呈现出与我习惯的完全不同的挑战,例如如何构建和维护高度可扩展,可用,可靠的分布式系统,能够存储和分发大量数据。我惊讶地看到正在使用的广泛技术以及用于管理这种复杂系统的工具和自动化。

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

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

“我很惊讶地看到正在使用的各种技术以及为管理如此复杂的系统而构建的工具和自动化。”

——沙恩马修斯

瑞安·莱斯利

瑞安·莱斯利是DataHub核心团队中的高级软件工程师。他工作在管道平台上,使横跨彭博的许多系统能够消息。

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

在同一家公司工作这么多年后,你是如何让事情变得有趣的?
在彭博社,技术发展很快,而且从不缺少新的东西可以学习。为新问题找到创造性的解决方案是不断值得的。

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

请告诉我们彭博社导师制的重要性。
在我在彭博社工作的早期,我有幸与一些非常聪明和有才华的高级工程师一起工作。重要的是要有好的榜样,鼓励你为自己的工作感到自豪,努力做到最好。这些天来,我试图将这些相同的经验传授给新的团队成员。我还继续从我的经理那里学到很多关于成功项目管理的知识。

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

–莱恩·莱斯利

与我们在纽约的DataHub工程团队一起查看一些公开角色(在这里在这里)普林斯顿大学(在这里在这里).