Senior Software Engineer - Ticker Plant Database Infrastructure Team
New York, NY
Posted Sep 16, 2022 - Requisition No. 97137
Our Team
The Ticker Plant system is the core of Bloomberg’s market data infrastructure and is responsible for the storage and distribution of Market Data. Market Data is information -- trades, quotes, and other pricing data -- gathered from around the world on every possible kind of financial instrument, from stocks and bonds to currencies and commodities. In the aggregate, this amounts to over 100 billion events per day and growing all the time.
The Database Infrastructure team in TickerPlant develops a high performance time-series database that is used to store all the Market Data at Bloomberg. This database is uniquely designed and built to be flexible and fast, while still being able to support massive datasets. We provide low latency data storage and retrieval options for high-frequency/high-volume applications. The storage engine hosts several petabytes of data, across hundreds of millions of instruments. The query engine handles ~80 billion queries each day ranging from interactive queries to batch queries at very high throughputs of upto 100K QPS. Our clients are other engineering teams within TickerPlant and Bloomberg.
Read our blog to know more! https://www.bloomberg.com/company/stories/how-bloomberg-handles-a-massive-wave-of-real-time-market-data-in-microseconds/
The Role
We have some unique challenges where we not only have to optimize for scale (billions of data points, hundreds of hosts) but also for very high throughput of updates and queries at the same time. As the volume of market data increases each year, these challenges get harder to meet with the current infrastructure and so we are re-architecting the core parts of our system.
To that end, we are building the next generation Ticker Plant by decomposing Ticker Plant into smaller independently scalable units by splitting data processing and data storage with near real time replication. Our vision is to take Ticker Plant query clusters to the cloud compute platforms, help them scale easily and at the same time make effective use of hardware resources.
On the query side, we are working towards making Market Data access easier, flexible, and safer. We are adding client access control, load management, dynamic cluster and data discovery, and a bulk data query system. Our vision is to create a platform to support structured queries that allow hosted computation on Market Data facilitating the creation of new financial products.
We develop our software using a combination of open source, third-party and in-house technologies. As engineers, we try to balance using the best technology fit to solve a problem while managing the risk of using exploratory technologies. Some of the problem domains we regularly encounter are:
- Distributed systems
- Database internals
- Low latency/high throughput, fault tolerant systems
- Replication and data consistency
We are looking for a motivated engineer who is excited by these areas to help build TickerPlant’s data storage/query platform of the future.
What is in it for you:
- Get hands-on experience working on large scale systems
- Join a group in the early stages of a major system re-architecture
- Work on core computer science problems such as efficient data storage, data discoverability, data replication, load balancing, and more!
- Be challenged with trying to make our system more modular and horizontally scalable
We will trust you to:
- Take full ownership of technical solutions/features
- Design, implement, and own critical applications/components of our infrastructure stack
- Write high quality code with automated tests
- Collaborate with other engineers in the team and with our CTO office stakeholders
You’ll need to have:
- 3+ years experience programming in any object oriented language such as C++/Python
- BS, MS, PhD in Computer Science, Engineering/related technology field or relevant boot camp experience
- A deep desire to learn and understand software infrastructure
- Familiarity with distributed systems
We are extremely proud of our diverse and open culture, and value diversity of thought and perspective in every form. We're looking for engineers with a real passion for writing reusable, efficient solutions to complex problems, who can adapt to an ever-changing market landscape, and who can collaborate and work effectively on small teams to develop software that impacts thousands of power users around the world. If this sounds like you, please apply below!
To find out more about Engineering at Bloomberg, check out www.bloomberg.com/careers/technology/engineering/.
Bloomberg is an equal opportunity employer, and we value diversity at our company. We do not discriminate on the basis of age, ancestry, color, gender identity or expression, genetic predisposition or carrier status, marital status, national or ethnic origin, race, religion or belief, sex, sexual orientation, sexual and other reproductive health decisions, parental or caring status, physical or mental disability, pregnancy or maternity/parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law.
Bloomberg is a disability inclusive employer. Please let us know if you require any reasonable adjustments to be made for the recruitment process. If you would prefer to discuss this confidentially, please email amer_recruit@bloomberg.net.
Salary Range: 160,000 - 240,000 USD Annually + Benefits + Bonus