We are seeking an experienced Lead Software Engineer – Java with Microservices, Kafka and GraphQL to work in the customer's atomic teams on a defined backlog and scope of work. Excellent communication skills and English are required.
Responsibilities
Collaborate within the customer's atomic teams to deliver on a defined backlog and scope of work
Design and implement scalable microservices using Java and Spring Boot
Develop and maintain event-driven solutions leveraging Apache Kafka and Avro
Build and optimize GraphQL and REST APIs for seamless integration
Model and query graph data using Neo4j and Cypher
Implement asynchronous processing patterns to support distributed workloads
Work with relational databases such as PostgreSQL to support application data needs
Communicate effectively with stakeholders and team members in English
Contribute to architectural decisions and ensure adherence to best engineering practices
Requirements
8 to 12 years of professional software engineering experience
Strong proficiency in Java (primary language) with Java 8+ features
Expertise in Spring Boot and Spring Framework, including dependency injection, Spring MVC and Spring Data
Skills in Neo4j, Cypher query language and graph data modeling
Knowledge of SQL and relational databases such as PostgreSQL
Background in Apache Kafka, Avro and event-driven architecture patterns
Competency in asynchronous processing
Proficiency in GraphQL query language and API design
Familiarity with REST API design and implementation
Excellent communication skills and English
Nice to have
Experience in a distributed development environment