Technology, Java / Scala Dev (Application Development), Associate, Shanghai

  • Competitive
  • Shanghai, Shanghai Shi, China
  • Permanent, Full time
  • Morgan Stanley
  • 20 Oct 18

See job description for details


The team:
TRA(Trade Routing Applications) mission: Analyze and model new and changed flows and ensure that they can interoperate with the downstream systems. Connect the trade execution systems to all the rest of the trade processing systems of the plant, including flow monitoring (CFM, GLM), trade reporting (TRG), risk (OMPK), allocation (VISTA), trade capture (ETSDB), and trade enrichment (TC), Adverts.

Description:
We are seeking a hands-on server-side Java developer with track-record of building advanced systems. The candidate will work on low-latency, high-throughput routing infra/tooling renovation that receive messages from the trading engines, sales & trading apps, exchanges etc and send to various middle-office trade completion/allocation applications, as well as real-time KDB data stores. The candidate will get the opportunity to touch a wide range of cutting edge technologies in the financial IT industry, including reactive programming libraries, multicast middleware, real-time db design, columnar db etc. The team is positioned to be the development center of the global team, making a lot of architecture decisions on our own and managing the projects together with the global counterparts, and is currently in expansion to take on more global projects. Successful candidate will be able to switch projects for the technology breadth, own a component, and eventually own a project or several projects. The team has 3 functions: development, integration, BA, so that the candidate will learn about MS system knowledge and data flows within the team from integration and BA teams. Candidates must have have excellent Java skills and experience writing production code for large scale performance critical systems. Deep understanding of JVM internals and Linux, concurrent data structures and algorithms, creative problem solving skills, and excellent communication skills are essential.


Qualifications:


Key responsibilities:
- Technical analysis and software development & dev testing
- System design
- Infrastructure engineering for stability and scalability, capacity planning
- Change management and release planning
- Mentoring junior developers to build up the team
- Work closely with integration team on rollout and knowledge transfer

Technical skills:
- 1-3 years solid hands-on core java coding experience is a must
- Working knowledge of one or more scripting languages, Python preferred
- Hands on with build and continuous integration tools (Ant, Gradle, Jenkins)
- Hands on TDD practice using JUnit, Mockito, code coverage and other related tools
- Performance tuning for linux
- Working knowledge of JavaScript/HTML is a big plus
- Working knowledge of Hadoop/Kafka/Spark/Docker is a plus
- Be comfortable operating within a dynamic and changing environment and able to react appropriately