Previous Job
Java Developer - Server Side
Ref No.: 17-00141
Location: New York, New York
Position Type:Direct Placement
Start Date: 01/11/2017
Our client is a leading global financial services firm providing a wide range of investment banking, securities, investment management and wealth management services.

Our client's Enterprise Application Infrastructure (EAI) is a horizontal technology group that develops reusable solutions, libraries and frameworks used in systems throughout the Firm. 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. 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.