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.
Qualifications
Mandatory:
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.
Desirable:
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.
We offer bespoke software development, data science, infrastructure, digital trust and mobile development to government institutions at national and European level, telecom providers, and financial institutions, among others.