Capgemini is looking for a Software Engineer to help the world's leading organizations unlock the value of technology and build a more sustainable, more inclusive world. This role specifically focuses on core microservices expertise and Java development to address software engineering problems through scientific methods, research, design, development, and maintenance.
Requirements
- Strong command of Java 8+ features including annotations, lambda expressions, multithreading, and file I/O operations.
- Experience in building stateless, scalable microservices using Spring Boot, Quarkus, and KNative.
- Developed and consumed RESTful, SOAP, and OAuth2-secured APIs.
- Proficient in API versioning, contract-first design, and OpenAPI/Swagger documentation.
- Implemented security best practices including vulnerability mitigation, secure coding, and data encryption (algorithms, modes, IVs, auth tags).
- Integrated with secure secrets management tools like HashiCorp Vault.
- Hands-on experience with Apache Kafka for asynchronous communication and event streaming between microservices.
Responsibilities
- Core Microservices Expertise, Java Development (4+ years)
- Experience in building stateless, scalable microservices using Spring Boot, Quarkus, and KNative.
- Developed and consumed RESTful, SOAP, and OAuth2-secured APIs.
- Implemented security best practices including vulnerability mitigation, secure coding, and data encryption (algorithms, modes, IVs, auth tags).
- Hands-on experience with Apache Kafka for asynchronous communication and event streaming between microservices.
- Experience deploying microservices on OpenShift and working with containerized environments.
- Integrated Drools, Kogito, and Red Hat Decision Manager (BAM OE) for dynamic rule execution within microservices.
Other
- Works in the area of Software Engineering, which encompasses the development, maintenance and optimization of software solutions/applications.
- Applies scientific methods to analyse and solve software engineering problems.
- He/she is responsible for the development and application of software engineering practice and knowledge, in research, design, development and maintenance.
- His/her work requires the exercise of original thought and judgement and the ability to supervise the technical and administrative work of other software engineers.
- The software engineer builds skills and expertise of his/her software engineering discipline to reach standard software engineer skills expectations for the applicable role, as defined in Professional Communities.