Company Profile

Morgan Stanley is a global financial services firm and a market leader in investment banking, securities, investment management and wealth management services. With offices in more than 43 countries, the people of Morgan Stanley are dedicated to providing our clients the finest thinking, products and services to help them achieve even the most challenging goals.

As a market leader, the talent and passion of our people is critical to our success. We embrace integrity, excellence, team work and giving back.


The Technology division partners with our business units and leading technology companies to redefine how we do business in ever more global and dynamic financial markets.

Our sizeable investment in technology results in leading-edge tools, software, and systems. Our insights, applications, and infrastructure give a competitive edge to clients’ businesses-and to our own.

Institutional Securities Technology (IST) develops and oversees the overall technology strategy and bespoke technology solutions to drive and enable the institutional businesses and enterprise-wide functions. Our clients include Fixed Income, Equities, Commodities, Investment Banking, Research and Global Capital Markets.

We are also responsible for Pioneer and Application Infrastructure groups that look to develop foundational strategies, tools and technologies that are leveraged across Technology, as well as standardized data and enterprise-wide services to provide leverage to the Firm’s businesses.

Position Description:

RICE (Risk Calculation Environment) is the strategic risk framework for the Fixed Income business at Morgan Stanley. Our group provides both the development environment and the runtime environment for the RICE Platform. Multiple teams are working together to build this cutting edge, highly integrated, functional Scala platform to underpin the firm’s next generation of applications. This platform covers a number of technologies including object stores, bitemporal data representation, asynchronous, memoized and highly distributed compute graph processing, embedded query languages and declarative reactive UIs. Our core platform component development focus means that our primary clients are not the teams and individuals operating on the financial side, but their end-user application developers, who rely on the services and components we provide.
We are inviting candidates into a number of distinct role profiles associated with specific teams within our platform development community, as described below. Please note also that these roles all operate under the RICE ecosystem and our integrated platform, which allows for subsequent transitions with relative ease.

– The Core Graph team are responsible for the concurrent compute engine and associated Scala compiler plugins and macros, which automatically transform application code to run asynchronously. They also develop the high performance caches, reactive graph engine, debugging and profiling tools and various other components.
– The Data Access Layer (DAL) team builds the servers and clients for storage, access and global distribution of data within the platform. These integrate with MongoDB, PostgresSQL, Kafka and other open source technologies, along with internal and external cloud platforms, to provide data to large compute grids as well as front office UI applications.
– The SDLC tooling team builds an efficient workflow for users by optimizing the IDE interactions, build/test cycle, and code review process. This includes management of Jenkins jobs, pull request standards, compilation, out-of-the-box workspace setup, and test configurations.

We will interview candidates for these roles simultaneously and will consider their particular skills and their expressed interests when making offers.

Role Profile:

– You should be a technically proficient and enthusiastic developer, with a desire to work across the full stack in order to help engineer new and existing components.
– You will work on new and existing components in Scala in an agile team working across multiple time zones.
– You will support and lead different phases of the product lifecycle including analysis, development and testing.
– You will suggest improvements to our systems and processes and over time, you will take ownership for some areas.
– You will collaborate closely with very experienced Scala developers and have the opportunity to learn and grow in this role.
– Your clients will be application developers and you will work with them to understand and deliver their requirements.


Required Skills:

– The primary development language is Scala but we will consider highly skilled technologists proficient in any of .NET, C++, TypeScript or Java who are excited to work with Scala.
– Strong problem-solving, analytical skills and technical curiosity are essential
– Good understanding of core computer science concepts and code optimization techniques
– Understanding that testing and documentation is critical to delivering high quality solutions

Desired Skills:

– For the DAL roles, experience working with a variety of SQL and no-SQL data stores is helpful but not at all required
– For the Graph roles, experience working with compiler internals or Scala macros is helpful but not at all required
– For the SDLC role, experience in user tools, Git, build systems, and compilers is helpful but not at all required.
– Prior experience in the financial industry is not required, but comfort working with large enterprise systems is beneficial.

Knowledge of French and English is required.

Morgan Stanley is an equal opportunities employer. We work to provide a supportive and inclusive environment where all individuals can maximize their full potential.

Spotlight on our Montreal Technology Centre:
*Video dated October 2019.

Job Overview

Sign in

Sign Up

Forgotten Password