About Hans
Dutch
Native or bilingual
English
Fluent
Experience
- AimwelSenior Scala DeveloperJune 2022 - April 2026 (3 years and 10 months)Amsterdam, NetherlandsStack:Scala (2.13.16), ZIO (2.1.19, kafka, config, logging, sqs), Tapir, scalacheck,cats (org.typelevel), GRPC / protoc / protobuf, org.apache.kafka, io.circe,Doobie, Flyway, react.js, Spring Cloud Config, Cucumber, Docker,ElasticSearch, Axon Framework, Kibana, Microservice development,Functional Programming, Scrum / Lean and agile principles, BehaviourDriven Development (BDD), Test Driven Development (TDD), CI / CD,DevOps, AWS (Dynamo DB, S3, SQS), Kubernetes, Argo CD, MySQL,DB2, H2Contribution:Aimwel has a SaaS platform for job advertising with whichjob boards, publishers, and advertisers distribute job campaignsautomatically to (inter)national advertising channels. Theplatform wanted to scale quickly from a handful of channels to a broadnetwork with partners such as LinkedIn, Meta, Criteo, Adzuna, and otheraggregators. Each new advertising channel required customization, making thegrowth of the network directly dependent on the capacity of thedevelopment team.My assignment: ensure that new advertising channels could be added quicklywithout impacting existing services. Specifically, I built:• the central PSA backend with command and event handling (Axon),including gRPC and REST interfaces for external clients;• distribution services for advertising channels such as LinkedIn, Meta,Criteo, RTBHouse, talent.com, and Adzuna;• automated feed processing for XML and JSONjob feeds (fetching, validation, transformation, and asynchronousprocessing);• an expense reconciliation service for automatic comparison ofactual click prices with budgets;• the central configuration service for backend andfrontend components;• shared libraries for models, configuration, exception handling, andutilities.Aimwel could onboard new advertising channels significantly faster —without changes to existing channels posing a risk. The architecture remainedstable as the network grew.
- De Persgroep Employment SolutionsScala DeveloperJuly 2018 - June 2022 (3 years and 11 months)Amsterdam, NetherlandsStack: Scala (v2.12.6), Cats (for Scala), react.js, Polymer, Twitter Bootstrap, JavaScript, scalikejdbc, PHP, Akka (HTTP, Stream, Actor, gRPC), Play Framework (for Scala), ScalaTest, Cucumber, Docker, ElasticSearch, Quartz Job Scheduler, Axon Framework, Kibana, Kubernetes, Microservice development, Scrum / Lean and agile principles, Behaviour Driven Development (BDD), Test Driven Development (TDD), CI / CD, DevOps, Domain Driven Design (DDD), Functional Programming, AWS (Dynamo DB, Kinesis, S3, SQS, Route 53), MySQL, H2, MongoDB, RedisContribution:DPG Media Employment Solutions manages platforms like Intermediair andNationale Vacaturebank — which help thousands of job seekers daily andsupport organizations in attracting talent. Thousands of job postings and millions of data points are processed daily. The underlying job posting processing was based onSanDiego, a legacy application that was no longer supported by the vendor. Every adjustment took disproportionately much time, making the platform a brake on innovation rather than a driver of renewal.My assignment: contribute to the New Development Platform (NDP) — themicroservices platform that was to phase out SanDiego, allowing DPG Media to independently further develop its job posting platforms again. Specifically, I built:• design and build backend services in Scala and Akka;• model and process events within an event-drivenarchitecture (Axon event sourcing);• develop microservices for job posting processing and Salesforceintegrations;• integrate external services and data streams;• set up CI/CD pipelines and release to Kubernetes.Intermediair and Nationale Vacaturebank have since been running on ascalable, manageable infrastructure. DPG Media could again develop itsjob posting platforms faster — without every adjustment becoming a major project.
- Nederlandse SpoorwegenSenior Java ConsultantMay 2017 - June 2018 (1 year and 1 month)Utrecht, NetherlandsStack: Java (v1.8), JavaScript, Spring (Boot, Core, AOP, WS), Aspect OrientedProgramming (AOP), AngularJS 2.0, Angular CLI, Protractor, Karma,Selenium, Cucumber, Scrum / Lean and agile principles, Behaviour DrivenDevelopment (BDD), Test Driven Development (TDD), Apache Tomcat,Atlassian Bitbucket, Atlassian BambooContribution:NS OVEasy offered consumers access to public transport-relatedservices via a single platform — from subscriptions to reimbursements. The backend consisted of multiple standalone services that had grown without clear coherence, requiring more coordination for further development each time than necessary.My assignment: stabilize and expand the backend — and enable the team to do so themselves in the future. Specifically:• manage and further develop existing microservices;• build new backend services with Spring Boot and Spring Cloud;• set up a proof-of-concept with Spring Boot Admin and Eurekafor service monitoring;• provide technical guidance to team members on Java, architecture, anddesign choices.For the first time, the team had direct insight into the health of theindividual services. Team members could subsequently justify architectural choices more independently — NS could develop the service provision on OVEasy with more certainty.
Recommendations
Be the first to recommend Hans
Help this freelancer shine by sharing your experience working together.
These freelancer profiles also match your criteria
Agatha Frydrych
Backend Java Software Engineer
4.7
(3)
2
Baptiste Duhen
Fullstack developer
4.6
(4)
5
Amed Hamou
Senior Lead Developer
4
(2)
7
Audrey Champion
Web developer
4.3
(3)
4
Education
- "Functional Programming Principles in Scala"Ecole Polytechnique Fédérale de Lausanne2012"Functional Programming Principles in Scala"
- "Fast Track to Scala" en "Advanced Scala"Typesafe2011"Fast Track to Scala" en "Advanced Scala"