Senior Software Engineer/SRE - Trading Analytics
Every day, the biggest players in the financial industry depend on Bloomberg applications to manage their portfolios, execute their trades and analyse the markets. As engineers, we're building the applications our clients rely on to not just stay informed, but stay ahead of the market. The applications and infrastructure we build embody the speed, agility and financial data that make Bloomberg the go-to solution for financial professionals across the globe.
To make sure we satisfy our clients' need for speed as well as stability, we have very high standards for reliability and scalability. And that's where our SREs come in! Who are we?
We are a growing SRE team who believes that solving the technology challenges is just one piece of the puzzle, and that having observable and reliable systems is critical to our success. Our platform distributes and analyses trading data for some of our most critical clients who rely on our systems to trade in an environment where down-time can have significant financial consequences. As a growing SRE team, we are also focused on partnering with stakeholders across engineering and product to ensure that observability and reliability are always part of the conversation. This year, our projects span from instrumenting our distribution infrastructure to monitor the key service level indicators that reflect user expectations, analysing such metrics with a big-data approach to identify the next bottleneck, to the utilisation of distributed tracing data for producing tooling to navigate complex debugging workflows within our distributed systems. What we are looking for from you:
We'll expect you to be passionate about using the right tool for the job and setting best practices for SRE methodologies and tools, and excited by the idea of helping us grow our team as well as a desire to drive change by promoting a reliability focused approach. This is a great opportunity for us to not just improve the current system, but also create a solid foundation for our engineers to continue building new and innovative products. We'll trust you to:
- Examine our system to identify key indicators that reflect client expectations and work with our engineering and product teams to define objectives
- Establish a high standard of Observability across our system to improve understanding and visibility of potential issues
- Produce tooling for monitoring and debugging with the aim of improving transparency of the system whilst minimising operational costs through automation
- Define standards based on reviews with component teams to ensure that scalability and performance aspects are considered during application design You'll need to have:
- 3+ years of professional work experience in a software engineer or SRE role
- Proficiency in one or more programming languages including some understanding of either C++ or Python (most of our software is written in C++, but our SREs often use Python)
- A solid understanding of data structures, algorithms, complexity analysis
- An understanding of how to manage the stability of performance sensitive distributed systems Interview process
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!
We have a lot of opportunities to choose from in Engineering, and it is important to us that your skills and experience align best with the team you are interviewing with. To help ensure you are placed on the right team, your application will be considered for all of our current vacancies in Engineering at the first stage of the interview process.