Senior Developer - C++

  • Competitive
  • 上海, 上海市, 中国
  • 未指明
  • Morgan Stanley
  • 2017-01-19

See job description for details

This is a senior developer role in the Listed Sales and Trading team (LST).
LST is responsible for the development of equity sales and trading applications for listed products. LST systems capture order instructions from clients electronically and via phone, route those orders to execution venues and manage the full status of all orders in real time. LST systems are complex, enterprise solutions with demanding requirements for reliability, scalability, availability and throughput. Each system comprises multiple components developed in technologies including C++, C#, KDB, Python, and running on both windows and unix platforms. The team is a virtual global team numbering nearly 200 members globally, including 20 in Shanghai. The Shanghai team works on a wide range of projects and systems including both Asia-focussed and global projects. A substantial proportion of projects are owned and project managed directly from Shanghai.
The role is to join an established team of strong C++ developers to strengthen the technical and design capacity of the team. In addition to hands-on coding, the successful candidate would be expected to act as a technical mentor to more junior members of the team, providing technical coaching and support, and building the skills of the team as a whole.
The candidate should have expert knowledge of the C++ language, 2+ years of experience with applied development using C++ in an enterprise setting and a strong grasp of practical OO programming and the use of design patterns. Excellent knowledge of basic computer science principles and demonstrated ability to solve complex software engineering problems in a global setting are essential.

The ideal candidate would have also a good general knowledge of the Unix operating system and experience working with enterprise-scale distributed systems within a formal software development framework.

Our team is a global team and interactions with developers across Asia (as well as Europe and the US) occur frequently, often daily. For this reason, strong English communication skills are a must. The Shanghai team has been established for over eight years, and this maturity gives us considerable opportunity to influence global strategy, dictate our own direction and drive our own projects.*LI-AW1


Essential requirements:
- Outstanding developer skills in C++ including experience with STL, template and multi-threaded programming
- Excellent communication skills in English (both oral and written)
- Excellent grasp of basic computer science principals, object-oriented design and use of design patterns
- Demonstrated skills and experience in systems analysis, development, design and testing
- Able to handle pressure and think on your feet.
- Technology-related degree

Strongly desirable:
- Experience with C++ 11/14
- Experience with Boost library
- Experience of C++ development in a Unix environment
- UNIX / Linux skills and experience
- Good understanding of XML.
- Experience with large-scale distributed systems

Advantageous but not essential:
- Knowledge of common unix scripting languages (Python, Perl, Shell, etc.)
- Knowledge of KDB
- Database (SQL, DB design, etc.)