Skip to content
Jaap Oudejans

Currently on an engagement at IKEA. Open to conversations about what comes next.

A senior engineer who builds your backend, ships it and keeps it running.

Freelance senior software engineer in the Amsterdam area. Twelve years of backend delivery on payment platforms, retail logistics and marketing automation for IKEA, bol, Rabobank and others, in Kotlin and Java on GCP, AWS and Azure. I stay for the part after go-live too: observability, on-call and the support work that shows how a platform really behaves. I'm also the owner of Ohanimo, a shared family planner for iPhone, iPad and Mac.

Portrait of Jaap Oudejans
Based
Amsterdam area, The Netherlands
Works as
Freelance senior software engineer
Owner of
Ohanimo, a shared family planner
Focus
Backend, distributed systems, production operations
Stack
Kotlin, Java, Spring Boot, TypeScript, React
Cloud
GCP, AWS, Azure, Kubernetes, Terraform
Languages
Dutch (native), English (fluent)

What I do

The engagements I take on, usually as a hands-on senior engineer inside an existing team.

  • Backend delivery in your team

    Kotlin, Java and Spring Boot services from ticket to production: implementation, code review, technical decisions and release coordination alongside your engineers.

  • Distributed and event-driven systems

    Service boundaries, domain and event models, messaging with Kafka, Pub/Sub or Solace, and the auditing and reconciliation that keep money and stock correct.

  • Production operations

    Observability with Grafana, Prometheus, Loki and OpenTelemetry, alerting that raises the right tickets, on-call, incident response and root-cause work.

  • Cloud platforms and delivery pipelines

    GCP, AWS and Azure with Kubernetes, Terraform and GitHub Actions, set up so a team can ship often without losing control of what runs where.

  • AI-assisted engineering workflows

    Domain-aware agents, skills and shared memory for support and delivery, like the toolkit at IKEA that cut cross-system investigations from days to hours.

How I work

I join as a hands-on senior engineer, usually in teams of two to eight, and take on the architecture, reviews and operational ownership that come with the work. I collaborate closely with product owners, domain experts and neighbouring teams, and I measure my work by what changes for the people who depend on the system.

Core stack Kotlin, Java, Spring Boot, TypeScript, React, PostgreSQL, Kafka, GCP, AWS, Azure, Kubernetes, Terraform

Experience

Every role since 2013, with the systems, responsibilities and outcomes behind the title.

  1. Sep 2026 – Present

    Amsterdam

    Current

    Ohanimo

    Owner

    Own and build Ohanimo, the shared family planner for iPhone, iPad and Mac that keeps a family's plans, to-dos, groceries and deliveries in one calm place, with everyone in their own color.

    Stack TypeScript, React Native, Expo, Swift, Convex, Clerk, PostHog, Astro, Tailwind CSS, Vercel

  2. Mar 2025 – Jan 2026 · May 2026 – Present

    Amsterdam

    Current

    IKEA

    Full-stack Software Engineer

    Develop and operate a business-critical global store-receiving platform for inbound goods and customer returns. It supports delivery planning, scanning and receiving, and disposition to inventory, recovery, or scrap for thousands of coworkers across hundreds of stores in dozens of countries, processing millions of articles daily.

    Outcomes

    • Deliver full-stack functionality across planning, receiving, and disposition workflows, integrating transport-logistics providers, warehouse-management systems, and global and China infrastructure.
    • Contribute in a four-engineer team through code reviews, technical decisions, and release coordination, working with product owners, store coworkers, support, architects, and other engineering teams.
    • Designed and provisioned Grafana dashboards for eleven services through Terraform and GitHub Actions, combining Prometheus, Loki, GCP, OpenTelemetry, application logs, and PostgreSQL telemetry around Google's four golden signals, and co-developed alerting that creates Jira support tickets automatically.
    • Enabled rapid diagnosis of production bottlenecks, including tracing abnormal database pressure to faulty queries in a specific release and supporting an immediate rollback and recovery check.
    • Built a GitHub-hosted suite of custom Copilot agents, skills, and shared memory adopted by more than 15 people across multiple teams, including domain-aware Jira, Confluence, Grafana, and BigQuery capabilities.
    • Reduced cross-system support investigations from several days to one or two hours. The workflows also shortened lead time, coding time, and PR cycle time and increased deployment frequency enough for the team to replace Scrum with Kanban, while retaining human verification and approval.

    Stack Kotlin, Spring Boot, React, TypeScript, Node.js, PostgreSQL, Solace, BigQuery, GCP, Alibaba Cloud, Kubernetes, Terraform, GitHub Actions, Grafana, Prometheus, Loki, OpenTelemetry

  3. Feb 2026 – Apr 2026

    Amsterdam

    DNAAnuvu

    Software Engineer

    Owned backend delivery in a two-engineer team for Anuvu's airline-branded in-flight entertainment microsites, a shared platform for searching and browsing monthly catalogues with airline-specific branding, editorial content, functionality, and languages.

    Outcomes

    • Implemented language-independent delivery across the Python import pipeline, OpenSearch document model and index regeneration, and Kotlin APIs, with English fallback and multilingual launches including GOL and Arabic content for Saudia.
    • Extended the backend content model and APIs with reusable carousels, editorial components, buttons, and custom pages, supporting richer British Airways experiences.
    • Delivered backend changes and launch prerequisites for Aer Lingus, GOL, and Saudia using per-airline and per-content-cycle OpenSearch indices.
    • Prototyped an internal CMS replacement using Next.js and Strapi, defining content models and beginning a custom Excel-ingestion plugin for the export-driven workflow.

    Stack Kotlin, Spring Boot, Vert.x, Python, OpenSearch, AWS, Next.js, React, Node.js, Strapi

  4. Jan 2023 – Feb 2025

    Utrecht

    bol

    Software Engineer

    Developed and operated a marketing-automation platform that assembled profiles for millions of consented customers, evaluated campaign and channel eligibility, ranked competing communications, and delivered more than one million personalised emails and push notifications each day.

    Outcomes

    • Conceived and implemented dynamic Apache Airflow DAG generation that discovered marketer-maintained BigQuery scripts, resolved their execution order, and assembled the customer-profile and campaign pipeline automatically.
    • Replaced hardcoded campaign configuration with a marketer-controlled workflow, reducing the engineering bottleneck for campaign rollouts from weeks to hours and giving three marketers greater autonomy across dozens of live campaigns.
    • Introduced push notifications alongside email, integrating Airship across customer profiling, campaign eligibility, ranking, and delivery.
    • Led technical discussions, reviewed code, and coordinated releases in a three-engineer team while collaborating directly with marketers and other data and platform teams.
    • Shared responsibility for monitoring, production support, incident response, and on-call operation of the platform.

    Stack Python, Apache Airflow, BigQuery, SQL, Kotlin, Java, Spring Boot, GCP, Google Pub/Sub, Airship, Selligent, Grafana, Prometheus, Puppet-based infrastructure, React, TypeScript

  5. Apr 2021 – Jan 2023

    Naarden

    CFP Green Buildings

    Software Engineer

    Developed digital sustainability platforms used by consultants, financial advisers, property owners, sports clubs, and construction partners to turn building data into recommended measures, environmental impact, investment costs, savings, subsidies, and payback periods. In 2022, CFP reported its Green Buildings Tool had been applied to more than one million buildings across more than 20 countries.

    Outcomes

    • Designed and built a Kotlin blueprint DSL that replaced sustainability calculations scattered across complex spreadsheets and separate backend and frontend implementations.
    • Ported more than a dozen building types and dozens of calculations into reusable blueprints that generated calculation logic, UI configuration, validation, and tests, reducing changes from days to minutes.
    • Built the backend, scoring logic, and report generation for a BREEAM assessment pilot, digitising the workflow and immediately producing an indicative score.
    • Built the backend for Sport NL Groen, enriching addresses through BAG before producing recommended measures, costs, savings, payback periods, and subsidy options for sports clubs.
    • Connected participating clubs with construction suppliers by forwarding requests for recommended sustainability measures.
    • Led technical discussions, reviewed code, coordinated releases, mentored a developer, and collaborated closely with sustainability experts and product owners in a seven-to-eight-engineer team.

    Stack Kotlin, Java, Spring Boot, MySQL, Angular, Microsoft Azure, BAG integrations, Energy-provider integrations

  6. Aug 2020 – Mar 2021

    Haarlem

    XimedesLoomis Pay

    Software Architect

    Joined as a hands-on architect to extend the Loomis Pay proposition with online-payment and financial-processing capabilities, applying payment-domain experience gained while building Rabobank OmniKassa.

    Outcomes

    • Defined service boundaries, domain and event models, technology choices, and architectural decisions for transaction processing, merchant payouts and refunds, reconciliation, accounting, billing, and invoicing.
    • Designed services around CQRS and event-sourcing patterns using Kafka while actively developing the Kotlin and Java services alongside another senior engineer.
    • Built working demonstrations of payout, refund, and initial reconciliation flows, establishing the technical foundation while the capabilities remained in pre-production development.

    Stack Kotlin, Java, Spring Boot, PostgreSQL, Kafka, CQRS, Event sourcing, AWS

  7. Jan 2016 – Aug 2020

    Haarlem / Utrecht

    XimedesRabobank OmniKassa 2.0

    Software Engineer to Senior Software Engineer

    Progressed from medior to Senior Software Engineer while developing Rabobank's omnichannel payment platform, which served approximately 10,000 merchants and processed millions of transactions daily across payment pages, settlement, reconciliation, billing, and merchant reporting.

    Outcomes

    • Built the Worldline credit and debit card integration and contributed to iDEAL, including a PCI DSS-aligned browser-direct and 3-D Secure flow that supported older browsers without card details touching OmniKassa services.
    • Contributed to Java and PHP SDKs and developer documentation used by merchant technical teams to integrate checkout systems with the hosted payment flows.
    • Built a mandatory auditing framework for every transaction mutation, then reused it for trace-ID logging and added Logback safeguards to keep sensitive card and personal data out of logs.
    • Developed payout and refund processing that grouped transactions into merchant buckets before atomically producing bank-transfer instructions, including negative balances, configurable schedules, and billing deductions.
    • Implemented CAMT bank-statement reconciliation using payment references, provider events, trace identifiers, and fallback matching, with audited manual correction for unresolved entries.
    • Improved aggregate reconciliation for Worldline refunds without individual transaction references, accounting for currencies, fees, rounding, and provider batching before routing exceptions for investigation.
    • Shaped designs, reviewed code, and worked directly with bookkeepers, merchant technical teams, SDK developers, and payment providers in teams of two to three engineers, while joining on-call support for payment pages.

    Stack Java, Kotlin, Spring MVC, Spring Boot, JSP, Oracle, REST, CAMT, Jenkins, WebSphere, Splunk, Logback, Java & PHP SDKs

  8. Apr 2015 – Dec 2015

    Haarlem

    XimedesSelected projects

    Software Engineer

    Delivered a set of mobility and enterprise projects spanning Android field tooling, transport experiments, and automotive leasing software.

    Outcomes

    • Built Android and NFC tools for gate check-in, check-out, and conductor validation; prototyped automatic travel with BLE beacons and multi-provider trip booking; and maintained Java leasing software for automotive dealerships.

    Stack Android, Java, NFC, BLE, Struts, iBatis

  9. Dec 2013 – Dec 2014

    Hoorn

    Mirabeau

    Software Engineer

    Developed and maintained the application used to manage employee competencies and skills.

    Stack Java, Spring MVC, Hibernate, GWT

Education

  1. 2010 to 2013

    Bachelor's degree, Informatica - Software Engineering

    Hogeschool van Amsterdam, Amsterdam

  2. 2008 to 2010

    MBO diploma, Applicatieontwikkelaar (Application Developer)

    Nova College, Haarlem

Writing

Notes on building and running backend systems, and on the tooling around them.

  • 1 min read

    Hello world

    A small first note to open the blog.

    Build log. Blogging, Astro

All writing or subscribe with RSS

Have a system that needs a senior pair of hands?

Send a few lines about the platform, the team and the timing. I read everything, and I will tell you honestly whether and when I can help.