Senior Software Engineer - Ticker Plant Distribution
New York, NY
Posted Oct 9, 2018 - Requisition No. 71184
The Ticker Plant system 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 60 billion events per day (and growing all the time) applied to millions of different instruments.
The Ticker Plant Distribution team is responsible for what we call Data in Motion -- that is, the flow of events through the system, starting from various exchanges, banks, and other financial institutions, and ending with our customers, all in real time.
is always hands-on. Bloomberg’s technologies are provided as a service, which means that we develop and deliver our software into production on a continuous basis, and ensure its correct operation while it’s in production. When there are problems, we often find ourselves on the front lines, working directly to mitigate and resolve issues, and to restore service to our customers. We also work directly with business teams to understand and predict our customers’ needs.
Challenges we face
- Our geographically dispersed sources and destinations of the data -- we are a global company with a global customer base
- Requirements for real-time, low-latency delivery, contending with inevitable failures of both machines and networks without disrupting service
- The scale of it all!
We are looking for you to come help build the next generation of our Distribution System. The current system, even though it does all that we describe above, doesn’t yet meet the challenges of tomorrow. The consumers of our data are increasingly as likely to be machines as people. We are faced with growing demands for stringent performance, latency, and data consistency, all while contending with increasing volumes. Our system must evolve, and we need your leadership to help us move forward.
We’ll trust you to:
- Work with stakeholders to establish product direction, and translate those into short-term and intermediate goals.
- Execute, guiding your team along the way. Things move fast, so balancing competing desires for timeliness and the development of high-quality, robust software is essential.
You'll need to have:
- Deep knowledge of and experience with distributed systems
- General systems-programming knowledge of operating systems, IP network protocols, database systems, concurrency (and when to avoid it)
- Experience with C++
- BA, BS, MS, PhD in Computer Science, Engineering or related technology field
We'd love to see:
- You should like to write code, but it helps most if you are also an active reader of code
- Strong communication skills with peers, managers, our clients, and our team
- Discipline and creativity are what you’ll draw on to be most successful