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. As a market leader, the talent and passion of our people is critical to our success. Together, we share a common set of values rooted in integrity, excellence and strong team ethic. Morgan Stanley can provide a superior foundation for building a professional career - a place for people to learn, to achieve and grow. A philosophy that balances personal lifestyles, perspectives and needs is an important part of our culture.
Our group works on Client Connectivity and low latency trading systems. We deal with all infrastructure used by such trading systems like core order management frameworks, connectivity, order managers, risk and limit validation systems.We work across asset classes mainly focusing on equity cash & derivatives , with additional focus on performance and stability.
We are looking for technologists who are looking to build the best low latency and high performance trading systems in the world. This role is primarily focused on developing the server side of the trading plant. We are looking for a hard core, hands-on C++ developer who can quickly get accustomed to our frameworks and distributed environment. Exposure to trading systems would be preferable.
We are looking for people with at least 3 years experience. Depending on your technical and functional experience and your exposure to the kind of complexity we are looking for, your role could shape up to be either a senior or junior role but in a highly technical, hands-on capacity.
The role will offer challenging opportunities to develop business knowledge and technical skills.
The developer will be responsible for building, testing and deploying strategic and tactical solutions for trading strategies, monitoring tools, improving scalability, performance and efficiency of the strategies.
Prior experience with Client Connectivity is a big plus.
Responsibilities will include:
- Act as a development resource for project work in a global development team.
- Be responsible for all aspects of the project lifecycle from requirements to deployment and subsequent support.
- Enhance existing systems to meet new requirements.
- Applying break-fixes to software as required.
- Served as L3 support
- Design/develop products to add value to the services the team provides.
- Perform unit, performance and regression testing.
- Bachelor's in Engineering, preferably Computer Science, from a top tier university.
- 3-7 years of relevant experience
- Strong technical background in software development
- Ability to work within tight deadlines and dynamic environment
- Need to demonstrate in-depth understanding of OO principles, design patterns and threading techniques.
- Working knowledge of C++, practical experience of writing production quality code
- Understanding of multi threading and asynchronous concepts. Experience working with complex frameworks and distributed environments. Exposure to STL, Boost etc., is desirable
- Experience with at least one scripting language Perl/Python etc.
- Preferably should be Unix/Linux leaning candidates who have worked on complex server side application code.
- Familiarity with full life-cycle software development in a team environment.
- Excellent written and verbal communication skills (English)
- Excellent problem solving, interpersonal presentation and analytical skills
- Familiarity with performance benchmark tools such as Vtune is a plus.
- Familiarity with operating systems internals such as kernel bypass, CPU pinning is a plus.
- Familiarity with FIX protocol is a plus