Senior Software Engineer - Listed Securities Execution Management Systems
The Execution Management System Engineering team owns and supports a real-time, distributed, transactional trading platform. This product is used by financial institutions around the world to manage their daily trading activity.
Bloomberg's Execution Management System (EMSX) is a global market leader in its category. Our product provides financial professionals with an integrated multi-asset class trading platform to manage their order lifecycle, monitor real-time analytics, and connect with over 2500 broker destinations globally.
As our business evolves towards trends such as trade automation, portfolio trading, higher data volumes, and an increased focus on speed, we are working on multiple exciting initiatives to re-architect our entire software stack in order to meet and stay ahead of these needs and build the next generation state-of the art execution platform. What's in it for you:
You'll need to have:
- You'll get to work on building out high-performance, fault-tolerant, and real-time distributed systems with a goal of being able to process millions of transactions daily.
- You'll get to learn and have a chance to work with multiple industry-leading technologies such as Cassandra, Kafka, and Zookeeper, building out new services using C++17 on Linux.
- You'll get an up and close view of the global financial markets, while solving challenging real-world problems.
- Your work will be impactful to a diverse global community of traders and brokers.
- You will have access to Bloomberg University's vast training resources where you can learn everything from machine learning to how financial markets work.
- You'll be a part of a mission driven organization that values the safety and transparency of financial markets, and the ideals of service and philanthropy.
We'd love to see:
- 2+ years of experience programming in an object oriented language (ex. C++, Java, Python3, C# etc.), preferably on UNIX/Linux
- A robust knowledge of data structures and algorithms
- Experience with concurrent, asynchronous, event-driven programming
- A BA/BS or MA/MS in Computer Science, Engineering, or equivalent professional experience
- A desire to learn and a willingness to be challenged to come up with creative solutions to tough engineering problems.
- Hands on experience with C++
- Experience with high volume, performance sensitive systems
- Experience with stateful distributed systems (ex. Cassandra, Kafka)
- Experience using coroutines, promises and futures, and other concurrency primitives
- Familiarity with a scripting language such as python, and various tools such as Jenkins, Coverity, Grafana, etc
- An interest in the financial markets
- Taking ownership of projects while collaborating with your teammates, following a scaled agile and test-driven approach.
If you're excited by these challenges, have a passion for technology and a flexible, creative approach to problem solving, we want to talk to you! Submit an application.
We are an equal opportunity employer and 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.