C++ Developer - Distributed Computing.

Alltech Consulting Services

Montreal, Quebec

POSITION OVERVIEW.Job: C++ Developer - Distributed Computing.The Company Profile: As a market leader, the talent and passion of our people is critical to our success. We embrace integrity, excellence, teamwork 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. 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. JOB 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++17, 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. After hours support is expected, on a rotation basis, in line with capabilities and experience. REQUIRED SKILLS: -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. DESIRED SKILLS: -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.