Senior Golang Engineer - AIM Positions/P&L Infrastructure
Salary undisclosed
Apply on
Original
Simplified
Bloomberg AIM (Asset and Investment Manager) is a buy-side trading platform used by some of the biggest asset managers in capital markets. The AIM platform is an all-inclusive system that enables everything from idea generation to trade execution and post-trade operations. AIM is a large-scale system, built and maintained by more than 400 engineers, which is used to manage trillions of dollars of assets by 930 global firms in over 80 countries. We are the market leading platform and Bloomberg continues to invest in our growth as a product and engineering team - that's where you come in!
Our team:
Market events such as trades, stock splits, dividends, maturities, acquisitions, new pricing, etc affect the current as well as historical portfolio positions for a client. AIM's flagship portfolio manager (PM) has an engine to record and provide live and historical position/P&L data, which is an event-driven system which can provide bitemporal (history of history, i.e. as "as of" as well as an "as was" view) traceability into security positions, cash balances, and P&L computations to serve as the accurate, single-source of truth across asset classes.
The engine is highly scalable and designed to compute a very high volume of trading events per day. We challenge ourselves to maintain a system that is horizontally scalable, efficiently processes high frequency of updates, while providing high throughput. We balance these goals with the need for reliability and accuracy required for a business-critical system. Solving problems on this scale is hard and we're always looking for fresh ideas and new technologies to leverage.
What's in it for you?
We'll trust you to:
You'll need to have:
We'd love to see:
Our team:
Market events such as trades, stock splits, dividends, maturities, acquisitions, new pricing, etc affect the current as well as historical portfolio positions for a client. AIM's flagship portfolio manager (PM) has an engine to record and provide live and historical position/P&L data, which is an event-driven system which can provide bitemporal (history of history, i.e. as "as of" as well as an "as was" view) traceability into security positions, cash balances, and P&L computations to serve as the accurate, single-source of truth across asset classes.
The engine is highly scalable and designed to compute a very high volume of trading events per day. We challenge ourselves to maintain a system that is horizontally scalable, efficiently processes high frequency of updates, while providing high throughput. We balance these goals with the need for reliability and accuracy required for a business-critical system. Solving problems on this scale is hard and we're always looking for fresh ideas and new technologies to leverage.
What's in it for you?
- This project is a critical component of the PM system. You will get an opportunity to work on and build this highly scalable event-driven system to support clients of different asset classes
- The stack is built using modern technologies such as Golang and RabbitMQ. You will gain experience working with modern tech stack which is highly scalable. Technologies employed include: GoLang, Python, C++, RabbitMQ, Kafka, Postgres, Protobuf, Docker etc. The core of the system is coded in GoLang
- You will have opportunities to influence all aspects of the project, such as discussions with Product team to gather requirements, with other engineering teams to ensure efficiency and compatibility, with your team members to design, implement, test and deploy
- We are consistently looking for ways to improve the system and are open to fresh ideas
We'll trust you to:
- Work independently and drive the execution of the initiatives in the team by collaborating with various stakeholders
- Think outside the box and influence the strategic direction of the project with the goals of improving capacity, stability, availability and accuracy.
You'll need to have:
- 6+ years working with Golang, object-oriented programming language such as C++ and Python
- A degree in Computer Science, Engineering, Mathematics, or similar field of study or equivalent work experience
- Experience designing and architecting large scale data processing systems
- Familiarity with a variety of Bloomberg and open-source technologies including RabbitMQ, Kafka, BAS, CI/CD pipelines, Docker, Humio, BBTF, and others
We'd love to see:
- Experience in system design, architecting, and developing software that is high quality, modular, stable and scalable.
- Curiosity about Portfolio Management and Trading and how our clients use it.
- Enthusiasm to drive discussions, share new ideas, and promote best practice on the team
- Passion for finding opportunities to use new technology to improve stability and performance
- Applied critical-thinking and problem solving skills to solve business problems
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.
Report this job Similar Jobs