Senior Software Engineer/SRE - Market Data
Posted Aug 2, 2019 - Requisition No. 76456
At Bloomberg, our software runs the financial markets. We provide the technology that financial professionals rely on to access real-time market data, news, and analytics to better inform their investment decisions. To do this, we ingest this real-time market data and news from hundreds of exchanges and thousands of newswires around the world – to the tune of 100 billion ticks of data per day. Our users and downstream applications rely on us to be reliable and always available - this is where our SREs come in.
The Feeds SRE team sits right in the heart of Bloomberg's global market data operations. Our global team of engineers is responsible for meeting our clients’ need for speed and stability across the market data pipeline – from ingestion of real-time market data from hundreds of financial sources, through to enrichment and delivery of data to the clients. This critical system is the backbone of Bloomberg, making us one of the most visible teams in the company.
Our role as reliability engineers requires that we are constantly working with application teams to design better software and a build a more stable production environment. We do this by contributing to application design, writing automation and monitoring software, and focusing on weak points in the pipeline as needed.
Our technology, environment, and upcoming projects:
Our feed handlers are primarily multithreaded C++ applications that run on Solaris and Linux platforms using varying network technologies. Our team will provide you with a unique opportunity to reshape our entire production environment from improving the quality of our software through to the way we deploy it and how we monitor it. Some of our upcoming projects include (but are not limited to):
- Building a robust monitoring platform for the market data pipeline, from hundreds of diverse parsers to delivery of data to clients
- Designing and implementing workflow management systems to take system inputs and proactively perform preventative actions
- Building intelligent alerting to minimize SNR in the market data delivery pipeline
- Help bring us towards continuous deployment by building a testing, deployment, and rollback platform to automate release of components and verify them in production
- Establishing standards, workflows, and tools to help standardize parser development
You can check out more about how we work and what it means to be an SRE at Bloomberg in our recent blog post: https://www.techatbloomberg.com/blog/bloomberg-bets-big-on-sres/
We'll trust you to:
- Help to enhance our monitoring of the production environment to ensure a speedy resolution of issues
- Work with the development team to highlight recurring issues; you will ensure these are addressed across all feed handlers in a consistent way
- Help promote and improve development and operational standards within the wider group; you will work with your business partners and software engineers
- Ensure that support documentation is produced, maintained and improved
- Automate away manual processes to increase reliability and time to market while at the same time reducing cost
- Work with build teams to ensure applications meet operational acceptance criteria
- Champion Continual Service Improvement activities
- Define and deliver SRE standard methodologies across Bloomberg
You'll need to have:
- Proficiency in an OO language such as C++ or Java
- Excellent Python skills
- Familiarity with design and implementation of large scale distributed systems
- Experience with SRE style applications: production monitoring, capacity management, automated deployment, orchestration, configuration management, etc
- Knowledge and experience of applying agile practices to software development
We'd love to see:
- Strong working knowledge of software testing practices and metrics
- Excellent collaboration and partnering skills: you can effectively listen, communicate, challenge and influence team members, immediate peer group and senior managers.
- That you are comfortable taking ownership and responsibility of issues
- A desire to learn new technologies and apply them where appropriate to improve the quality of our software and processes
- A broad Market Data industry exposure or knowledge
We believe interviewing is a two way street. It's a way for us to get to know you and your skills, and also a way for you to learn more about the team, our technical challenges, and what you'd be working on. The content of each interview round will be tailored to the role and your background, but the general framework can be found here: https://www.bloomberg.com/careers/technology/engineering/software-engineering-experienced-hire/
We want to ensure you can put your best foot forward throughout the process, so if you have any questions or need any accommodations to be successful, please let us know!