Medior back-end engineer (Scala)
Role details
Job location
Tech stack
Job description
As a Medior Back-end Engineer (Scala), you will work on the core of our platform. You will develop services responsible for cryptographic operations, creating and validating digital signatures, and securely processing sensitive data.
You will collaborate with experienced engineers, independently take ownership of well-defined features and services, and actively contribute to architectural decisions, technical improvements and code quality.
You are not simply building software features - you are building systems that must be demonstrably secure, reliable and auditable., * Design and build back-end services in Scala (functional programming style using Cats & Cats-Effect), with a focus on correctness, performance and maintainability.
- Work on our trust services, including digital signatures, electronic seals and timestamps.
- Develop and maintain the underlying Public Key Infrastructure (PKI), including issuing, validating and revoking certificates and integrations with Hardware Security Modules (HSM).
- Build and extend API integrations and gRPC connections between services.
- Develop related data models and PostgreSQL migrations.
- Contribute to architecture discussions and technical decisions within a compliance-driven environment.
- Write clear, tested and well-documented code.
- Apply functional programming patterns, type safety, property-based testing and scenario-based (BDD) testing.
- Collaborate with colleagues from compliance and audit to ensure technical solutions align with regulations such as eIDAS.
- Participate in code reviews, technical discussions and improving our development practices.
Requirements
You are an experienced back-end engineer who enjoys working on complex systems where security, reliability and quality are essential.
You bring:
- 2 to 5 years of experience as a back-end engineer.
- Demonstrable experience with Scala, or another JVM language combined with a strong interest in functional programming.
- The motivation and ability to grow further within Scala.
- A solid understanding of type systems and functional programming patterns and how they contribute to reliable software.
- The ability to independently take ownership of new services and domains.
- The mindset that correctness is just as important as speed.
- The ability to work independently while actively seeking alignment when topics involve compliance or security.
- Affinity with cryptography, PKI or digital identity (experience is a plus, interest is required).
- Excellent communication skills in both Dutch and English.
Your technical background
We are looking for experience with:
- Scala (2.13) and the Typelevel ecosystem (Cats & Cats-Effect).
- Preferably experience with http4s, tapir, fs2 and/or doobie (parts of our platform still run on Akka).
- REST API design and gRPC/Protobuf communication between services.
- PostgreSQL and schema migrations, such as Flyway.
- Multiple testing approaches, including unit testing, integration testing, property-based testing with ScalaCheck and scenario-based testing (BDD) with Cucumber.
- CI/CD processes.
- Containerization with Docker and Kubernetes is a plus.
- Cryptographic libraries such as BouncyCastle, DSS or experience with PKI standards is a strong advantage.
Benefits & conditions
Pulled from the full job description
- Professional development assistance
- Pension plan, * A role with real technical impact within an organization that delivers trust as a product.
- A salary between €3,800 and €5,500 gross per month, depending on your knowledge and experience.
- 26 vacation days.
- A premium-free pension plan.
- Opportunities to grow towards a senior engineering role, supported by experienced colleagues.
- Work on challenging technical topics at the intersection of software engineering, cryptography and regulation.
- Space for personal development, including a training budget and conference opportunities.
- Hybrid working, with our office in The Hague as your home base.
- A small, close-knit team where your ideas and input are valued.