FA - Senior C++ Engineer - MARS (Multi Asset Risk System)
Location: New York, New York
Type: Full Time
Internal Number: 13300041
The MARS team (Multi Asset Risk System) enables professional market players to assess their trading and portfolio risks against the gathering financial storm.
Our team is based across both NYC and London locations, with over 130 engineers globally. MARS is the unified Risk Platform of Bloomberg serving Enterprise workflows, powered by Bloomberg's world-class pricing engines and market data. We enable front office, middle office and back office professionals to analyse their trading and investment portfolios, manage and mitigate their exposure and ready themselves for any turn of financial events such as the 2020 COVID Market Crash. We serve both external and internal clients with varying calculations traffic and workflows, which brings exciting problems across computation resource scaling, code complexities, and financial calculation accuracy.
MARS is built on top of distributed systems with Bloomberg's SOA framework that span across hundreds of machines, serving more than a billion calculations daily, consuming terabytes of data. Our code base is mostly backend and built 90% in C++, with a mixture of C++ 17 and C++03 that are actively migrated to the modern stack. We fully own our SDLC and use a combination of open source technologies such as Redis, Cassandra, Kafka and RabbitMQ in addition to our home grown systems to provide scalable solutions for our ever growing client base. We are also constantly improving the best practices and code structure in our enterprise codebase to be more extensible while providing stronger contracts of our software behavior.
What's in it for you: MARS is a close knit group of 130+ engineers. Working in MARS, you will have the opportunity to address large scale problems such as improving resiliency and scalability in enterprise architecture design by utilizing modern technology. On the other hand, you will have a chance to work on software that's serving real clients' use cases across varying workflows. You will gain further experience in building an enterprise product on top of distributed systems and financial workflows.
We'll trust you to :
Take ownership of technical solutions, handle full-stack development from client to server side and delivery to production
Implement SDLC standard methodologies adapted with Bloomberg existing practices.
Mentor the junior members with modern C++ best practices and language standards.
Work directly with product owners to build applications that our clients use to tackle complex problems
Write production-quality infrastructure software to gather metrics and data, automate model training, and run the models and computation at a large scale
You'll need to have:
5+ years of experience programming with C++ in a production environment
Deep understanding in C++ language across version (03-17) including memory management, concurrency model, language optimization etc.
Working experience with enterprise codebase and design patterns
Working experience with software SDLC and best practices
Strong, nimble and innovative problem solving skills
BA, BS, MS, PhD in Computer Science, Electrical Engineering or related technology field
We'd love to see:
Experience in distributed systems, including distributed database technologies and open source technologies
A background in finance, math or statistics
Bloomberg is an equal opportunities employer, and we value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.