C++ Developer - Distributed Computing
Montreal (Montreal) IT development
Job description
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.
Technology
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 as well as Operations, HR and Corporate Services.
Position Description:
The CVA (Credit Valuation Adjustment) Technology team is looking for a C++ developer to work on a distributed system that runs simulations of derivative products on hundreds of servers.
CVA Technology develops CVATrader, a Counterparty Risk and Credit Valuation Adjustment system. It computes P&L and risk, provides reports and interactive tools for several categories of users and data feeds to firm wide horizontal systems: books and records, market, valuation and credit risk.
The team in Montreal is specialized in the distributed computing infrastructure layer and performance tuning of the CVATrader system. This system is written in C++14, Scala and Java and uses technologies such as IBM Platform Symphony and Google protocol buffer.
CVA Technology follows an agile development methodology with a flat hierarchical structure. You will be working with other members of the team and will be expected to contribute to all stages of the software development process. It is a supportive environment where you are encouraged to propose ideas.
The ideal candidate would be a fast learner who is not afraid to get out of her or his comfort zone. The candidate should be interested in finance and derivative products, and willing to learn. No initial business or financial knowledge is required. Afterhours support is expected, on a rotation basis, in line with capabilities and experience.
Desired profile
Skills Required:
- Excellent C++ skills with knowledge of STL and experience working on large systems or projects.
- Experience interacting with one of the major databases: Sybase, DB2, SQL Server or Oracle.
- Knowledge of one scripting language: Perl, Python or others.
- Comfortable programming in a Linux environment, familiar with ksh and bash.
Skills Desired:
- Knowledge of boost, and multithreading..
- Knowledge of Scala or C# or Java.
- Knowledge of service-oriented architecture (SOA).
- Exposition to big data, cloud computing or high performance computing.
Morgan Stanley is an equal opportunities employer. We work to provide a supportive and inclusive environment where all individuals can maximize their full potential.