Senior Java Developer

London, UK

Striving for excellence is in our DNA. Since 1993, we have been helping the world’s leading companies imagine, design, engineer, and deliver software and digital experiences that change the world. We are more than just specialists, we are experts.

DESCRIPTION


Currently we are looking for a Senior Java Developer (12 month contract) for our London office to make the team even stronger.

EPAM is looking to recruit numerous Senior Java Developers (Java 8, Multi-threading, REST, TeamCity, TDD, Scrum). Our customer is one of the leading investment banks. You will have to develop functionality for a customer-facing product, which will potentially process millions of transactions on a daily basis. You will collaborate with other development teams designing best solutions using best practices to deliver high quality product in Agile environment.

Responsibilities

  • Develop new functionality;
  • Design and implement tests (unit/integration/behavioural);
  • Integration with other systems (feeds, REST, JMS, etc.).

Requirements

  • 5+ years of experience as a Java Developer within production projects;
  • Education: Master's degree in IT;
  • Strong Java Core;
  • Spring (Core, Batch, MVC, Integration);
  • Hibernate;
  • REST Web Services;
  • XML, XSD, parsers, XPath;
  • RDBMS: Good SQL (preferably Oracle);
  • Building tools: Maven, Gradle;
  • Expertise in Test Driven development;
  • Hands-on experience in best practices in testing and developing of good/clean code;
  • Practical experience in full SDLC;
  • Server Side development;
  • VCS: Git (at least 1 year of experience within production projects);
  • Linux: intermediate level (bash Scripting);
  • Scrum: 2+ years of experience within production projects;
  • Proactive team player;
  • Good knowledge of design patterns;
  • English: Intermediate or higher.

Nice to have

  • Experience of work in financial area;
  • Experience in TeamCity;
  • Knowledge of some Scripting language (Groovy, Scala, Python);
  • Knowledge/use of design patterns;
  • Knowledge/use of enterprise integration patterns;
  • Domain-driven design or related exposure;
  • Advanced programming aspects (multithreading).