Java Developer - Server Side
November 15, 2016
Company Profile
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 1,200 offices in 43 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.

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.

Institutional Corporate Technology (ICT)
Institutional Corporate Technology (ICT) is part of Technology. This group is responsible for developing enterprise applications for a diverse set of businesses including Fixed Income, Equities, Commodities, Investment Banking, Research, and Global Capital Markets. In addition, ICT provides technology solutions for client-aligned groups and company-wide divisions, such as Finance and Operations, post-trade functions within the Institutional Securities Group and standardized data and enterprise-wide services to provide leverage to the Firm's businesses.

Position Description
Morgan Stanley Enterprise Application Infrastructure (EAI) is a horizontal technology group that develops reusable solutions, libraries and frameworks used in systems throughout the Firm. We also provide technical expertise in all aspects of computing in the form of consultation and design advice to development teams. This means that the team requires developers 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. Specific business knowledge is less important (as we work with many disparate groups), but good grounding in applied mathematics would be very useful on the parts of the projects that require development or application of data analytics. We are looking for highly skilled technologists proficient in Java/JVM technologies.

There are two streams of focus in the group:

The Dynamic Services Platform stream
Focused on building the next generation platform for hosting the firm's Java applications. This platform would provide Dynamic Service Discovery, Health-based intelligent routing, Agile Deployment patterns (like Canary/Blue-Green), Leader Election, etc. The platform requires building infrastructure for plugging-in various proprietary and vendor supported services like central remote administration, operational intelligence, metrics monitoring, etc. Building back-integration with the firm's ALM-PaaS for Continuous Deployment. This also requires building out the Java platform container which would be used to deploy application code on the platform. A successful candidate would be deeply involved in designing and building out the platform currently in its infancy.

The Low Latency solutions stream
Focused on providing library solutions for low latency applications like algo-trading involving, zero-copy networking, byte buffer based communications, native interfacing with highly optimized C code, low GC generation techniques, micro-optimizations using JIT analysis using home grown performance optimization tools and products like Solaris Studio, VTune, JITWatch, etc. On the critical path for algo-trading every micro optimization matters.

Required Skills
-Strong problem-solving and analytical skills
-Good understanding of core computer science concepts
-Understand testing and documentation are integral to delivering high quality solutions
-Naturally very technical and curious. Successful candidates will dig beneath the surface to understand how things work, why they are a certain way and what the design trade-offs were
-Strong Java server side developer. You are probably seen as 'the Java expert' in your current team. You deliver quality, robust APIs and library/framework solutions that other developers are happy to use.
-Good understanding of data-structures, algorithms, and multi-threaded programming. You can use this to deliver solutions
-Take initiative to propose ideas and air concerns, to take technical ownership to drive the areas they work on
-Desire to work with other bright motivated people, contribute to technical discussions, and continue to learn
-Prior experience in the financial industry is not required

Desired Skills

- Any specific interest in and experience of Java technologies used in server side-applications. For example: networking, Google Protocol Buffers, XML, SOAP, databases, multi-threading, common Java Open-Source libraries like Spring, CXF.
- Experience with ZooKeeper; PaaS implementations like Cloud-Foundry, etc
- Experience and knowledge wider than Java helps debugging, integration and with non-pure-Java tasks: Linux, C , dynamic languages, JVM languages like Scala, RDBMS, KDB, nosql.
- No specific business knowledge is required, but a healthy interest in all of the firm's lines of business is valuable in understanding and responding to the needs and priorities of the varied application development teams we work with.
A little about us:
Since its founding in 1935, Morgan Stanley and its people have helped redefine the meaning of financial services.

Know someone who would be interested in this job? Share it with your network.