Tasks
Design & build event-driven and api-based backend services in Java using a current technology stack and adhering to DDD principles.
Work in a team with other back-end developers, frontend-developers and domain experts.
Analyze functional and technical requirements. Contribute, communicate and manage domain/technology-related information within the company.
Ideal Profile
Excellent knowledge of Java 17 and subsequent releases (in general, we follow the LTS release of Java if technically possible).
Excellent knowledge of Spring Boot & Java EE
Excellent knowledge of Object Oriented design & development
Excellent knowledge of event driven design and implementations.
Excellent knowledge of Persistence API / Hibernate.
Excellent knowledge on Cloud Native application development
Kubernetes/OpenShift
GitOps
Good knowledge of Micro Services
Excellent knowledge of REST API design & development. Having designed & implemented OAS contracts.
Good knowledge of Ports & Adapters pattern / hexagonal architecture
Good understanding of Domain Driven Design
Ubiquitous language, Bounded Contexts, Context Maps
Domain Model, Aggregates, Entities, Value Objects, Commands, Event Driven Architecture & Event Sourcing, CQRS, Sagas
Good knowledge and practical experience with Kafka.
Good knowledge of Test driven development
Good knowledge of JSON and Avro
Good knowledge of database techologies.
Good knowledge of Plain JDBC & SQL
Good knowledge of Integration Technologies (JMS, Camel, ...)
Good understanding of OWASP TOP 10 and secure code implementation.
Having knowledge of DevOps teams employing CI/CD pipelines. (GIT, Maven, Tekton, ArgoCd).
Having worked with Atlassian Tools (JIRA, Confluence, BitBucket).
Inquisitive and analytical mind.
Proven ability to work in a multi-cultural multi-functional environment where consensus is critical for success.
Customer and end-user focused.
Excellent oral and written communications skills.
Conceptual thinking: Understands the underlying issues in most situations and relates some similarities between situations that are not obviously connected through the use of concepts, models or previous experiences.
Seeking Information: Frequently identifies information gaps that are not immediately apparent and selects appropriate sources of information.
Forming Relationships: Develops good working relationships with internal contacts in immediate organization.
Teamwork: Contributes actively, both in practical terms and by promoting shared values and mutual respect, to the achievement of goals by teams which sometimes include people with varying types & levels of skills.
Is able to both work independent and in team context.
Nice to haves
Having worked with authentication/authorization protocols SAML, OpenID Connect
More advanced experience with Cloud native
ArgoCd
Secret management (1Password Secret Automation)
Distributed tracing (Opentelemetry)
Experience with Kafka Connect, Kafka Streams and KSQLDB.
Knowledge of Spring Cloud
Good knowledge of different persistence solutions
Good knowledge of document generation (Jasper Reports, iText).
Having worked with Dynatrace to monitor application performance & remedy application issues
Having worked with ELK/EFK
Having worked with event stores
Languages: English Fluent verbal and written (Dutch is a plus)