Senior Software Engineer - Trade Processing
Bloomberg AIM (Asset and Investment Manager) is a buy-side trading platform used by the biggest players in finance. Our platform is a one-stop shop that enables everything from idea generation to trade execution and post-trade operations. It's a huge system - built by more than 200 engineers - used to manage trillions of dollars each day. We're the market leading platform, and Bloomberg continues to invest in our growth as a product and engineering team - that's where you come in!
In London, our engineering teams own the trade processing stack. We manage the creation and life-cycle of every trade flowing through our system. We are tackling the problems associated with large distributed systems like latency and scaling, balanced with the need for reliability and accuracy required for a business-critical system. This year, we have multiple projects focused on keeping our clients ahead of the competition - ranging from using linear programming to find the optimal distribution of assets across clients, to consolidating and migrating our current trade creation flows onto our new high-performance infrastructure. Solving problems on this scale is hard so we're always looking for fresh ideas and new technologies to leverage. Technologies and the environment you'll work in:
You'll need to have:
- Most of our system is written in C++, but we are pivoting to Python. We believe a smart engineer can pick up any language with some ramp up time. If you've been programming in any object-oriented language we want to talk to you!
- We believe in using the right tool for the job, recently this has meant using Python and open source software such as Kafka and Redis.
- We always put emphasis on doing things right, so you'll use industry best practices for testing, automation, and CI/CD. We own the full development process - from gathering requirements to testing, rollouts, and maintenance.
- Our system is entrenched in complex financial workflows -- you might not know the ins and outs of finance just yet, but that's not a problem if you're excited by the opportunity to learn them and build applications that enhance and improve clients' workflows.
We'd love to see:
- Expertise in your chosen OO programming language, and a willingness to learn/work in C++ and Python when you get here.
- An aptitude for problem solving, and a desire to build software solutions to complex business problems.
- Experience managing projects or working with multiple stakeholders to deliver business value.
- A team player attitude and collaborative approach to development.
- Commitment to building quality software through tests.
- Experience working in an agile environment
- Demonstrated experience working with a large distributed system and an understanding of its unique challenges
- Professional Python Experience. We are still early in our journey with Python and looking to learn from others.
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.