The position involves designing, developing, and maintaining backend services using Java 8/17, Spring Boot, and Java EE.
Responsibilities include implementing and maintaining REST APIs based on RAML specifications, ensuring they are secure, scalable, and high-performing.
The role requires applying CQRS (Command Query Responsibility Segregation) and Eventual Consistency principles to design robust distributed systems.
Event Sourcing and Pub/Sub systems will be utilized to support event-driven architectures.
The candidate will write and maintain automated unit and integration tests using JUnit, Mockito, and Wiremock to ensure high-quality code.
Performance testing and profiling will be conducted using Apache Dataspike to optimize system performance.
The role involves leveraging Liquibase for database versioning and schema management with Postgres/SQL and Active MQ.
The candidate will design and implement microservices in a Microservice-based Architecture, ensuring they are scalable, maintainable, and fault-tolerant.
Management of containerized applications and services using Docker, Kubernetes, and Azure Kubernetes Service (AKS) is required.
The position includes developing and deploying solutions on Azure, utilizing services like Function Apps (Azure) and Azure DevOps.
Collaboration with cross-functional teams to define and implement scalable architectures and solutions is essential.
Participation in Agile development processes, contributing to sprint planning, code reviews, and knowledge sharing is expected.
The candidate will ensure high system reliability by applying monitoring, logging, and alerting best practices.
This is a contract role for 3-6 months, with remote work and some travel if required by the client.
The role will require the candidate to have or be willing to go through Security Clearance.
Requirements:
Proven experience as a Backend Developer with a strong focus on Java 8/17 and Spring Boot is essential.
Experience designing and implementing REST APIs using RAML is required.
Strong knowledge of CQRS, Event Sourcing, and Eventual Consistency patterns is necessary.
Familiarity with Domain Driven Design principles is preferred.
Strong experience with Postgres/SQL and Active MQ is required.
A solid understanding of microservice-based architecture and Pub/Sub systems is necessary.
Experience with JUnit, Mockito, and Wiremock for testing purposes is required.
Proficiency in version control systems, such as Git, is essential.
Knowledge of Azure, including Function Apps and Azure DevOps, is required.
Proficiency in containerization using Docker and orchestration with Kubernetes is necessary.
Strong problem-solving skills, with an emphasis on debugging and troubleshooting complex backend issues, are required.
The ability to work in a collaborative, fast-paced environment and adapt to changing project requirements is essential.
Benefits:
The position offers a contract role for 3-6 months, providing flexibility in work arrangements.
Remote work is available, with the possibility of some travel if required by the client.
Candidates will have the opportunity to work with modern technologies and frameworks in a dynamic environment.
The role includes the potential for professional growth and development through collaboration with cross-functional teams.
Candidates will gain experience in security clearance processes as part of the onboarding.