Senior Software Engineer - Portfolio Analytics
Posted Aug 2, 2022 - Requisition No. 83773
Every day, trillions of dollars pass through the Bloomberg Terminal. As a result, hundreds of thousands of financial professionals rely on our 500 enterprise applications to manage their portfolios, execute their trades and analyse the markets.
Bloomberg Portfolio Analytics (or PORT) empowers the most prominent players in the financial world to manage their portfolios, assess exposures, and make decisions that move the financial markets. Our flagship product on the Bloomberg Professional service is a critical tool used daily by money managers, mutual funds, hedge funds, and pension funds around the world.
We are responsible for a number of enterprise products in London which come with complex challenges to solve:
1. JMGR (owned by the Portfolio Batching team): a workflow management and batch reporting tool used by large institutional and enterprise clients to manage their portfolios, run reports, and consume PORT analytics in an automated fashion.
2. Tickerization (owned by the Tickerization team): a process for representing custom portfolios as individual securities and making them first-class entities in the Bloomberg Terminal. The process allows clients to maintain complex portfolio graphs to mimic how large funds maintain their asset hierarchies.
3. ARME (owned by the Enterprise Infrastructure team) – a permissioning system foundational to the entire PORT infrastructure that provides access control to and enables sharing of PORT objects among different groups
4. Orchestration (owned by the Orchestration team) - a framework for workflow definition, execution, introspection and management. It specialises on the longer asynchronous workflows that cross products and outlive single process lifetimes.
5. Portfolio Interface (owned by the Portfolio Interface team) - a service based API for running portfolio computations. The API provides a uniform interface to enable many different products to run portfolio computations across Bloomberg. It is responsible for query planning and executing computations with low latency and high throughput.
The common challenge for our area is meeting the scaling requirements of our highly distributed systems, such as ARME’s 700+ million daily requests, Tickerization’s 200k tickers, and JMGR’s 300k daily reports.
We'll trust you to:
- Take ownership of the full development cycle and collaborate with the team on design and implementation
- Partner with clients and other developers to design, build and roll-out solutions that will optimize complex workflows
- Explore new technologies both within and outside of Bloomberg to determine if they can help make our products run faster, increase stability, etc.
- Embrace working together as a team – mentoring and learning from their existing teammates to break knowledge silos and ensure that our team is producing reliable, well documented and well understood products for our clients
You'll need to have:
- Experience working with an object-oriented programming language (C/C++, Python, Java, etc.)
- A Degree in Computer Science, Engineering, Mathematics, similar field of study or equivalent work experience
- Experience covering the full software development lifecycle
- Prior contributions to system design and architecture and scaling fault-tolerant, distributed systems and an understanding of the challenges you may come across (e.g. prioritization, throttling, failure recovery etc.)
- Honest approach to problem-solving, and ability to collaborate with peers, stakeholders and management
We'd love to see:
It’ll be great if you already have experience programming in Python alongside working with large scale distributed systems. We value someone who has an interest in sharing knowledge and mentoring other team members. If you have a passion for working on large scale projects, you’ll fit right in.
Bloomberg is an equal opportunity employer and we value diversity at our company. We do not discriminate on the basis of age, ancestry, color, gender identity or expression, genetic predisposition or carrier status, marital status, national or ethnic origin, race, religion or belief, sex, sexual orientation, sexual and other reproductive health decisions, parental or caring status, physical or mental disability, pregnancy or maternity/parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law.
Bloomberg provides reasonable adjustment/accommodation to qualified individuals with disabilities. Please tell us if you require a reasonable adjustment/accommodation to apply for a job or to perform your job. Examples of reasonable adjustment/accommodation include but are not limited to making a change to the application process work procedures, providing documents in an alternate format, using a sign language interpreter, or using specialized equipment. If you would prefer to discuss this confidentially, please email AMER_recruit@bloomberg.net (Americas), EMEA_recruit@bloomberg.net (Europe, the Middle East and Africa), or APAC_recruit@bloomberg.net (Asia-Pacific), based on the region you are submitting an application for. Alternatively, you can get support from our disability partner EmployAbility, please contact +44 7852 764 684 or firstname.lastname@example.org?