Position: Java Senior
Company: AltexSoft
Experience required: 3y
English level: upper

Our client is a leading business travel agency for large corporations.
Existed for more than 80 years, have fortune-500 companies as customers.
Our client provides travel services to its clients, business travelers which include booking travel (Flight, Hotel, Car, Rail etc.), expense management, trip disruptions and more.
The services are web and mobile applications where travelers can book flights/hotels/cars/rails, manage their trips, contact their agents if needed and more.
The architecture is microservice based, deployed as a Kubernetes cluster on the AWS and all products are developed with the most updated technology.
Services communication flows have a synchronous and asynchronous nature and includes lot of integration with third parties .

**Stack:**
Java
Spring/Spring Boot
Apache Kafka
MongoDB
JUnit / Mockito
Gradle
Kubernetes
AWS

**Required Qualification:**
At least 5 years of backend development experience in web application development using Spring Framework and Java.
Knowledge of SQL, experience in NoSQL databases.
Experience in Docker, Java build systems (Gradle, Maven, Ant), Apache Kafka
English - Upper Intermediate.

**Preferred Qualifications:**
Experience with Redis, Elasticsearch and Kibana
Experience working in a DevOps team
Experience developing applications with microservices architecture
Experience in SOAP, Apache Camel, AWS, Kubernetes
Experience working in the Travel Industry domain

**Responsibilities:**
Design, implement, deploy and maintain complex software solutions that fully satisfy the business requirement.
Provides high quality code reviews; coaches junior developers on conduct of code reviews.
Promotes good development methodology and regularly provides technical leadership in a development team.
Helps ensure that the code quality goals of the team are met; writes unit tests providing 100% code coverage.
Collaborates with Business Analyst and Product Owner to ensure clear and well-formed user stories and welldefined defects.
Provides support for functional, regression and performance testing, and provides analysis and recommendation on performance testing.
Assists in preparation and on-the-day activities for production releases.
Provides technical support including issue investigation and analysis for production alerts; fulfills tasks that aid monitoring of production health.
Effectively communicate (written, verbal) issues and solutions in a clear, consistent manner through appropriate methods (voice calls, email, instant messaging, ticketing systems).
Mentor developers.