
Java Developer (identity management solutions)
- Den Haag, Zuid-Holland
- Vast
- Voltijds
- Contribute to the improvement of the development and build process
- Design and develop production grade, enterprise level systems that make extensive use of messaging and microservices.
- Participate in the Java implementation of applications and micro-services involving integration with search engines, being able to write backend code in a reliable, fast, scalable, and secure way, satisfying requirements and service level agreements following both a functional and reactive programming approach.
- Write OAUTH authentication mechanisms. Implement validation mechanisms as unit and integration tests.
- Assist with deployment and configuration of the system. Setup CI/CD pipelines. Familiarity with Kubernetes/Docker is assumed.
- Follow Scrum procedures and disciplines. Estimate the work to be done upon request.
- Write technical documentation. Account for secure coding practices, as well as logging and auditing features.
- Work with Git following pull request procedure.
- Write clean, secure and high-quality code.
- Bachelor's degree plus 10 years of relevant professional experience.
- A minimum of 6 years of professional experience of OOP paradigms and SOLID principles using Java 21 (or higher) and experience with most common Java frameworks, Spring and Spring Boot.
- A minimum of 1 year of professional experience in the domain of biometric and identity management solutions, including: fingerprint handling (tenprint and latent print), face identification or face matching.
- Good knowledge of application development environments including: Java 21+, Eclipse or Intellij, Maven, Git.
- Good knowledge of the design and development of components like REST APIs, integrations, micro-services), proficiency in using REST based frameworks like Spring MVC as well accessories tools like Postman or and proficiency in functional and reactive programming.
- Broad expertise of relational databases Microsoft SQL server, ability to use Spring Data and Hibernate.
- Good knowledge of Agile software development methodologies: Scrum or Kanban.
- Proficient in container technology :Docker and Kubernetes.
- Good knowledge of messaging systems including: ActiveMQ and Kafka.
- Extensive knowledge of CD/CI systems like TFS/Azure DevOps.
- Good knowledge of front-end web application development: Javascript, jQuery or JSP.
- Good knowledge javascript front-end framework: Vue.js or React/Angular2.
- Good knowledge of a Java EIP framework like Apache Camel or Spring Integration.
- Proficiency in modelling an EIP system using classical EIP patterns and diagrams.
- Good knowledge of no-sql and graph databases and ElasticSearch.
- Proven proficiency in software development methodologies (e.g. AGILE).
- Good knowledge principles and application of working in an Agile Team implementing Scrum (e.g. team work, clear communication).
- Good knowledge of biometric data manipulation, procedures and standards including: NIST file handling and generation, fingerprint identification or face recognition.
- Excellent command of English equal to B2 according to CERF.
- Ability to participate in multi-lingual meetings, ease of communication.
- Capability of integration in an international/multi-cultural environment.
- Ability to cope with fast changing technologies used in application developments.