Key responsibilities of the job include ensuring that software is developed to meet functional, non-functional and compliance requirements, coding solutions, unit testing, and ensuring the solution can be integrated successfully into the overall application/system with clear, robust, and well-tested interfaces. In depth understanding of core Java API’s (collections, concurrency, nio etc) – Must have extensive understanding and proven industrial experience with multithreaded systems, working knowledge of the Java garbage collector, familiar with low latency IO.