Position: Senior/Lead Java developer
Company: EPAM
Category: Java
Experience required: 2y
English level: intermediate
Published: 2020-06-01T00:00:00+03:00

We're looking for a skillful and well-rounded remote Senior Java Developer with solid experience in developing microservices and understanding the peculiarities of microservices architecture. Our client is one of the largest banks in Russia, now developing online banking services that include online payments, loans, and investments. This position implies an opportunity to advance on the career path as a developer. Moreover, we'll help you build a managerial career if you have such a desire.

ABOUT THE PROJECT
EPAM takes part in a client's project by developing a system of online banking services for private clients. From a business perspective, we help automize daily operations like payments, money transfers, credits, investments, card accounts, and bank cards.

In terms of infrastructure, we handle various tasks that range from building web and mobile user interfaces to developing bank's systems that manage business processes and integrations with third-party applications.

EPAM has been a contractor for the client for a while. Together with a client's team, we've been growing the functionality of software iteratively and replacing technologically obsolete solutions with the modern ones. On a project, we rely on a modern technology stack and microservices architecture to build the system.

The typical size of a team responsible for an individual focus area is 10-15 people. The team consists of a business analyst, a system analyst, a software developer (back-end, front-end, mobile, database), specialists in functional and automated testing, DevOps, project manager, product owner, and UI/UX designers.
By joining the project, you'll work on the software used by people on an everyday basis. You'll contribute to the well-being of thousands of banks' clients and upgrade your skills working with the best EPAM's talents.

**PROJECT TECHNOLOGIES AND TOOLS**
Java 8-11
Spring Boot/ Spring Cloud
Spring (REST, security, JMS)
Tomcat
Jetty
Netty
PostgreSQL
Oracle
Redis
Maven
Gradle
Ansible
RESPONSIBILITIES
Develop software with Java and Spring boot framework
Develop software in terms of microservices architecture
Design APIs to connect with other systems
Collaborate closely with specialists in front-end development, testing, and analytics
Work in accordance with agile software development methodologies

**REQUIREMENTS**
At least 3 years experience with Java development
Experience with developing microservices and understanding the peculiarities of microservices architecture
Experience with Spring Framework (Boot, MVC, data, security, etc)
Experience with multithreading and asynchrony
Experience of working with databases, ability to write and optimize requests (PostgreSQL)
Experience of working with distributed stores and systems
Experience of working with frameworks and automated testing instruments (Junit, Postman, Jmeter)
Understanding of processes and methodologies of agile software development
English level: B1

**NICE TO HAVE**
Experience of working with Docker and Kubernetes (OpenShift)
Experience with decomposing monolith applications
Experience of working with Kafka
Excellent knowledge of Apache Ignite, ELK stack, Jenkins, LDAP

**WE OFFER**
Competitive compensation depending on experience and skills
Work in enterprise-level projects long-term
Full-time remote work (you can work from anywhere you are)
Unlimited access to learning courses (LinkedIn learning, EPAM training courses, English regular classes, Internal Library)
A transparent growth with competency matrix and regular performance assessments
Opportunity to realize yourself beyond projects
Participation in our meetups and conferences as a speaker. We also provide coaches for speakers and boost professional communities