Curriculum Vitae — 2026

Sigurd Ofstad

Full-stack developer / Kotlin · Java · React · CI/CD

01 Profile

Full-stack developer and consultant with eight years of experience building JVM backends, React frontends and the CI/CD pipelines that ship them.

Sigurd has built REST-based case management systems, logged-in client applications and e-commerce features for clients in both the public and private sector, using Kotlin, Java, Spring Boot, React and TypeScript on top of PostgreSQL and Oracle. He is equally at home continuing work on an existing codebase and doing the pioneering work where choices of architecture, frameworks and test strategy decide how well a product scales.

He is highly proficient in CI/CD with CircleCI and GitHub Actions, and has extensive experience deploying Dockerized microservices to Kubernetes on AWS, with infrastructure defined in Terraform and Helm. He has worked in agile, SCRUM-based teams with continuous delivery, using test coverage as a tool to enable rapid releases.

Most recently he has led backend work at Spond on new products, event-driven messaging over SNS and SQS, and scaling groups to thousands of members, with work in Go services and the edge as well. He cares about clear service boundaries, an efficient testing pyramid, and cross-functional teams with well-defined ownership.

He enjoys sharing knowledge: as Head of Competence at Yne he organizes the annual Yne Summit and hosts technical evenings. He holds an MSc in Technical Physics from NTNU.

02 Setting the direction

  1. Spond · 2026

    Spearheading one-web

    Chosen to lead one-web, a large undertaking to unify all of Spond's web concerns in a single technology framework so product teams can ship features independently and fast.

  2. Norwegian Tax Administration · 2024

    Proof of concept for Born Digital

    Chosen for his experience with proofs of concept and MVPs to build the PoC exploring new models for collaboration between the public and private sector.

  3. Spond

    Spond's first Spring Boot microservice

    Hand-picked by the CTO to build it, as both a tech demo and a real application. Years later it still runs smoothly with little maintenance.

  4. Spond · 2021

    Referral programme MVP

    Brought in for his ability to build a full application end to end within an existing microservice architecture: landing pages and commission attribution for recruiters and sports influencers partnering with Spond.

03 Experience

Employer
Client

Hover or tap a bar for details

  1. Dec 2021 — Present · 4 yrs 11 mos Employer

    Yne AS

    Developer · Head of Competence

    Consultant on client projects for Spond and the Norwegian Tax Administration. Alongside client work, Head of Competence, responsible for professional development and knowledge sharing across the company.

    • Organizes Yne Summit, the company's annual internal technical conference.
    • Hosts technical evenings where colleagues share knowledge and explore new technologies.
    1. Oct 2024 — Present · 2 yrs 1 mo Private sector

      Spond

      Backend engineer

      Returned to Spond after the Skatteetaten project. Works across the stack, mostly backend, in cross-functional teams with clear areas of ownership, service contracts and quarterly OKRs; on the Membership & Comms team since early 2026. About 2,300 commits to the backend monorepo and contributions to some 30 other repositories.

      • Coaches Corner — backend lead Apr 2025 — Mar 2026

        Led the backend end to end: took part in the domain design and built a new service with its own schema, REST API and published OpenAPI docs, integrated it with chat, and ran the production rollout. Project lead for the related chat service improvements, and shut the product down cleanly when it was sunset.

      • Event-driven messaging over SNS and SQS Jun 2025 — Nov 2025

        Added domain-event publishing to group-service behind a feature toggle, with batching and failure handling, and built the FIFO SQS consumer in chat-service. Moved chat-service to Guice, extracted a shared distributed-locking module (Redisson) and switched local and test setup to LocalStack on Testcontainers.

      • Groups at scale Jan 2026 — Present

        Led the memory and performance investigation (load tests up to 2,000 members) and the projects to raise, and then 10x, the group size limit: a runtime-configurable limit enforced across club hierarchies, a keyset-paginated members API, lazy loading and index clean-up.

      • Linked groups and in-app clubs Jan 2026 — Present

        Designed and built the backend API: shared membership between clubs and linked groups, a versioned club model, database constraints separating legacy and in-app clubs, and a batched migration of existing clubs. Built a React demo app with multi-user Playwright tests for the client teams to integrate against.

      • Go notification services Feb 2026 — May 2026

        Improved push-sender, user-notifier and external-communicator: device pruning, a refactored dispatcher, idiomatic error handling and Testcontainers-backed tests. Moved activity notifications from the legacy publisher to user-notifier.

      • one-web May 2026 — Jun 2026

        Chosen to spearhead one-web and built the foundation for merging the Angular Groups app and the React Spond Club into one web platform: a Cloudflare Worker front door, a stateless backend-for-frontend that swaps tokens for HttpOnly cookies, an Unleash-gated rollout and the supporting infrastructure.

      • Security and compliance work, including PCI DSS remediation, an SSRF fix, audit logging, and a password policy with breach checks against Have I Been Pwned.
      • Helped take the monorepo and web frontends to trunk-based delivery, and maintained CircleCI orbs, Terraform infrastructure (SNS/SQS, ECR, IAM) and Kubernetes deployment config with Datadog structured logging.
      • Introduced Liquibase with shared utilities and a Gradle version catalog with lockfiles.
      • Earlier in the period, built the fixtures service with NIF API clients and handball imports, and club subscription billing.
      • React
      • Spring Boot
      • Java 21
      • JUnit
      • Jest
      • Docker
      • Kotlin
      • TypeScript
      • OpenAPI
      • PostgreSQL
      • React Query
      • REST
    2. Apr 2024 — Sep 2024 · 6 mos Public sector

      Norwegian Tax Administration Born Digital

      Full-stack developer

      Proof of concept for Born Digital, part of the Nordic Smart Government & Business initiative, exploring how public and private sector can collaborate through event transmission (Altinn 3 / Dialogporten), digital wallets and users' own platforms.

      • Planned and built the solution with one other developer, within the experimental frame set by the project manager and architect.
      • Designed, developed and deployed frontend, backend-for-frontend and backend applications, test-driven and spec-first with OpenAPI-generated server stubs and clients.
      • Learned Skatteetaten's Jenkins build system quickly and deployed to OpenShift.
      • Collaborated closely with teams at Skatteetaten, Oslo Municipality, Digdir and the Brønnøysund Register Centre on shared integrations.
      • React
      • Spring Boot
      • Docker
      • Kotlin
      • PostgreSQL
      • OpenAPI
      • TypeScript
      • React Query
      • REST
      • Maven
      • Express
      • styled-components
    3. Dec 2021 — Apr 2024 · 2 yrs 5 mos Private sector

      Spond

      Senior backend developer

      Spond is a popular app for organizing youth sports and leisure activities, built on a Java microservice platform with React, Android and iOS clients. The client was moving towards agile methods, automated testing and frequent releases during the engagement.

      • Built an MVP of a referral programme end to end, then retained for a wide range of work, including payments (Vipps, NETS, Checkout.com), warehouse integrations and fundraising.
      • Played a key role in migrating to Spring Boot, introducing unit tests, adopting Spring Data JPA and jOOQ, and moving the build system from Jenkins to CircleCI, driven through PoCs and RFCs.
      • Built new CircleCI pipelines covering tests, Docker images, coverage (JaCoCo, Codecov, SonarCloud), AWS CodeArtifact and deployment to AWS EKS with Helm and Terraform.
      • Developed and set up TypeScript/React frontends from scratch, including build, deployment, caching, testing and linting.
      • Handled tech support across Spond's ecosystem and gave internal talks on CircleCI and OpenAPI code generation.
      • React
      • Spring Boot
      • Java 11/17
      • JUnit
      • Jest
      • Docker
      • Kotlin
      • PostgreSQL
      • TypeScript
      • React Query
      • OpenAPI
      • Jersey
  2. Oct 2018 — Dec 2021 · 3 yrs 3 mos Employer

    Visma Consulting

    Consultant

    Consultant on client projects for the Norwegian Agriculture Agency and the Norwegian Tax Administration, after an internal product project at Visma.

    1. Apr 2021 — Dec 2021 · 9 mos Public sector

      Norwegian Tax Administration Test center

      Backend developer

      The test center builds end-to-end tests for the administration's value chains. Took over responsibility for maintaining and developing test suites within one domain.

      • Worked independently as a resource for development teams and testers, and initiated new value chain tests together with test leads.
      • Built test applications in Java/Spring Boot with a React frontend, integrating with REST and Elasticsearch APIs on OpenShift and legacy infrastructure.
      • Worked with attribute-based access control (ABAC) and a security token service under very high security requirements.
      • Helped onboard new colleagues at the test center.
      • React
      • Spring Boot
      • Java
      • REST
      • JaCoCo
      • Jenkins
      • OpenShift
      • SonarQube
      • Elasticsearch
    2. Mar 2020 — Apr 2021 · 1 yr 2 mos Public sector

      Norwegian Agriculture Agency Disko — milk quota system

      Full-stack developer

      A new system for the milk quota scheme: a self-service application portal and an internal case processing system that automatically gathers quota data from several sources.

      • Built new REST endpoints, database tables and external integrations in an event-driven Spring Boot backend.
      • Developed the React frontend to meet design and WCAG accessibility requirements.
      • Worked closely with the functional architect and designer in a cross-functional SCRUM team practising TDD.
      • React
      • Spring Boot
      • Java
      • JUnit
      • Jest
      • REST
      • Liquibase
      • Maven
      • Mockito
      • Redux
      • AssertJ
      • Jenkins
    3. Mar 2019 — Mar 2020 · 1 yr 1 mo Public sector

      Norwegian Agriculture Agency BRIS — tariff reductions and subsidies

      Full-stack developer

      Case management system for tariff reductions and subsidies on agricultural products, with a tariff calculator, an applicant portal and an internal system for caseworkers.

      • Developed the domain logic, REST endpoints and Oracle data model for application processing.
      • Built the React user interface to WCAG accessibility requirements.
      • Took responsibility for continuous deliveries to the QA environment and mentored new team members.
      • React
      • Spring Boot
      • Java
      • JUnit
      • Jest
      • Docker
      • REST
      • Liquibase
      • Maven
      • Mockito
      • Redux
      • Jenkins
    4. Jan 2019 — Mar 2019 · 3 mos Public sector

      Norwegian Agriculture Agency MOR — reindeer husbandry reporting

      Tester / functional QA

      Web solution where reindeer owners register required information and apply for subsidies. Joined late in the project to write tests and verify user stories against their acceptance criteria.

      • React
      • Spring Boot
      • Java
      • JavaScript
      • Oracle
    5. Oct 2018 — Dec 2018 · 3 mos Internal

      Visma Risk Assessment Tool

      Developer

      A lightweight tool for cataloguing risks and producing risk assessment reports, with risks shown both as a list and in a probability/impact matrix.

      • Responsible for the application, including architecture and distribution, and built the prototype in close collaboration with the product owner.
      • React
      • JavaScript
      • HTML
      • CSS

04 Talks & writing

May 2023 · Yne Summit 2023

Playwright — automated browser testing

An introduction to Playwright, the open-source tool for testing web applications.

Nov 2022 · Yne

Technical evening on CircleCI

How to set up CI/CD for your own repository, covering pipelines, workflows, jobs and common gotchas.

May 2022 · Yne Summit 2022

Vim — terminal-based text editor

Why learning Vim pays off, the basics, and how to fit it into a developer's daily workflow.