Developer - C++
- Hong Kong
- Permanent, Full time
- Morgan Stanley
- 20 Feb 17
See job description for details
This is a C++ 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.
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.*L1-KW1
- 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
- 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.)