See job description for details
Morgan Stanley is a leading global financial services firm providing a wide range of investment banking, securities, investment management and wealth management services. The Firm's employees serve clients worldwide including corporations, governments and individuals from more than 747 offices in 42 countries.
In Morgan Stanley, Technology works as a strategic partner with Morgan Stanley business units and the world's leading technology companies to redefine how we do business in ever more global, complex, and dynamic financial markets. Morgan Stanley's sizeable investment in technology results in quantitative trading systems, cutting-edge modelling and simulation software, comprehensive risk and security systems, and robust client-relationship capabilities, plus the worldwide infrastructure that forms the backbone of these systems and tools. Our insights, our applications and infrastructure give a competitive edge to clients' businesses—and to our own.
The Morgan Stanley Enterprise Application Infrastructure group develops reusable solutions, libraries and frameworks used in systems throughout the bank. We also provide consultation and design advice to development teams. The C++ team within Enterprise Application Infrastructure work closely with Bjarne Stroustrup to help the firm adopt modern C++ approach to application and infrastructure development. Our team is full of naturally curious and very technical individuals, who like to dig beneath the surface to understand how things work. We encourage people to generate ideas and drive initiatives and find that individuals who enjoy solving complex problems flourish in our team.
We are seeking an enthusiastic, committed and productive C++ developer with deep knowledge or keen interest in modern C++, multithreading, messaging, low latency and high performance, to help design and implement the next generation of library and engine infrastructure for the firm. In both engines and user libraries, as well as for continuing feature development, performance improvement and upgrading and streamlining many existing library’s and infrastructure. The role is a great opportunity to work in a technically challenging environment on problems core to the business. Prior experience in or knowledge of the financial industry is not required; candidates from software and telecommunications companies are welcome to apply.
The products developed by EAI are used across the firm. This means that the role requires a developer with strong technical skills and the experience to understand the implications of their design decisions and good understanding of current best practices in application architecture, software design and code development.
The main responsibilities of the role include:
- Design and development of C++ libraries in collaboration with global team, with some supporting system in Python.
- Identification of current technology gaps and potential solutions. Promote best practices in your own work, within your team and the wider firm C++ community.
- Identifying the 'bleeding-edge' technologies that will form the basis of the firms next-generation systems.
- Interact with other developers across many development teams on requirements and development.
- Work with internal clients on improve the performance of their applications
- Maintenance and support of existing C++ libraries. Qualifications:
- Extensive knowledge of C++ on Linux. Python is a plus.
- Deep understanding of multi-threading and multicore architecture as well as low-latency networking issues.
- Experience building re-usable code.
- Strong problem solving and analytical skills and solid knowledge about computer science fundamentals; broad interest in technology.
- Strong communication skills