Senior Software Engineer Market Data Platform, Ticker Plant Runtime Services
Job Summary
- Correctness - the data a customer sees should accurately reflect the marketplace
- Performance - real-time latencies should be minimised; requests should be served without delay
- Availability - System components will fail; in a sufficiently large system parts of it fail all the time. But the system as a whole should not fail. Deployments and upgrades should not affect availability.
- Code - to read code to debug code and to write production-quality code. We provide software that defines the environment in which the component software runs. We build dashboards that are used to analyse current load and latency and plan for the impact of anticipated changes but we also build the toolkits that allow for the software to be instrumented in the first place. Our platform technology provides self-service for many routine operations and supports our Incident Response responsibilities.
- Design - We write code that integrates with components across the entire system. Often this work is done in collaboration with component teams. Our work with the component owners involves assessing workflows and designing appropriate interfaces that provide consistent access to the necessary functionality and then building the applications that can perform many workflows via self-service or even automatically. Also as components and product features move to production we ensure that the features that are being introduced are supportable in production without increasing operational load. Sometimes this means advising the component team of existing solutions; in other cases it means recognising gaps and filling those accordingly. This results in improving the designs of our features and our system.
- Analyse - Our key concern is the behaviour of the system. Often we are asked to consider the impact of required or desired changes to the system before those changes make it to production. At other times the system is simply not behaving as we expect with no immediate obvious cause. We are the ones who are often asked to figure out what is going on.
- Experience with an object-oriented programming language (C/C Python Java etc.)
- A Degree in Computer Science Engineering Mathematics similar field of study or equivalent work experience
- Prior contributions to system design and architecture and scaling fault-tolerant distributed systems
- Honest approach to problem-solving and ability to collaborate with peers partners and management
- The accuracy of financial market data worldwide
- The reliability of Bloombergs core services
- The evolution of our market data architecture
- The future of financial technology
- We primarily use C and Python but an ability to present working solutions in any high-level programming language is sufficient to get started. We want to be clear here - this is a development position.
- In-depth knowledge of Linux/Unix
- Experience with blameless postmortems
- A passion for performance excellence robustness and engineering mindset
Required Experience:
Senior IC
About Company
Bloomberg is the world's primary distributor of financial data and a top news provider of the 21st century. A global information and technology company, we use our dynamic network of data, ideas and analysis to solve difficult problems every day. Our customers around the world rely on ... View more