Skip to content

Experience

Here you will find my main projects, earlier client assignments, employment and education. The projects are listed newest first.

Main projects

Larger assignments with role, responsibilities and technologies.

  1. Banking Circle

    Period: Feb 2025 – Feb 2026

    Role: Senior backend engineer (hands-on), solution architecture and design

    Senior backend developer in a cross-functional team, responsible for the design, development and operation of event-driven backend services on Azure. I worked with modern .NET-based microservices, the AKS container platform and cloud infrastructure in an enterprise setup with strict requirements for robustness, traceability and operational stability.

    I was responsible for preparing and driving architecture and design proposals for new backend services, including data modelling, persistence and event flows, in close collaboration with the team lead and the other developers.

    Responsibilities and results (7)
    • Design and implementation of a greenfield reconciliation service, including the data model, persistence strategy and event contracts that ensure consistency between databases, Azure Event Hubs and Azure Service Bus.
    • Development of a new event subscriber service based on existing event streams, with a focus on idempotent processing, replay handling and scalability.
    • Migration of backend services from Azure App Services to Azure Kubernetes Service (AKS), including containerisation, Helm-based deployment and adaptation of the runtime configuration.
    • Improved observability and operational stability through health endpoints, distributed tracing with correlation across requests and events, and targeted use of metrics to analyse performance and bottlenecks.
    • Setup and maintenance of CI/CD pipelines for both application code and infrastructure as code, with a focus on reproducible builds and secure deployments.
    • Active knowledge sharing and mentoring in the team, including code reviews (particularly AKS and Terraform) and internal presentations on architecture and design choices.
    • AI-assisted development and review (GitHub Copilot) to speed up feature implementation, refactoring and quality assurance, with a focus on clear design constraints, testability and traceability.
    • C#
    • .NET
    • .NET Core
    • Azure Web App
    • Azure Service Bus
    • Azure Event Hubs
    • Azure Traffic Manager
    • Azure Application Gateway
    • Azure Key Vault
    • Azure Application Insights
    • Azure SQL
    • Azure Functions
    • Kubernetes
    • Helm
    • Terraform
    • Infrastructure as Code
    • YAML
    • Azure DevOps
    • Entity Framework Core
  2. Letpension

    Period: Aug 2019 – Jan 2025

    Role: Solution architect, system developer and designer, team lead

    Maintenance and further development of pension advisory systems and of systems for exchanging data with banks, a bank data centre and PFA. Advice on improving workflows around software development and ALM. Implementation and operation of GDPR processes.

    Responsibilities and results (12)
    • Led the work on development and maintainability: optimisations, analysis and removal of dead code, refactoring for better design and testability, refactoring of document code so it could be shared across two technology stacks, and a redesign of the batch area for greater stability and isolation and to support two technology stacks.
    • Strategy for and implementation of automated tests: a reference implementation of BDD and Specification by Example with SpecFlow, with an isolated database instance for each test using DACPAC and SQL Server LocalDB.
    • Led the work on architecture and design: strategy for microservices vs. modular monolith, interface design and SOLID principles.
    • Led the work on databases and data access: resolved long response times and poor concurrency by moving to snapshot isolation and shorter, smaller transactions, analysed and fixed the biggest problems, and worked with batching, eager vs. lazy loading and more.
    • Led the implementation of GDPR processes: deletion processes for a very large database with 500+ tables and 8 TB of data, and interaction with data owners about interfaces and process.
    • Data intelligence: in-depth analyses of data across data sources and formats, data quality assurance and conversion of customer portfolios.
    • Continuous improvement of the development process: management of database changes, the release process and DevOps (Azure DevOps).
    • Cloud strategy: analysis and plan for migration to the cloud, and a proof of concept for applications using Azure Web App, SQL, Service Bus and Functions.
    • Monitoring: implementation of monitoring that gives insight into how the system is used, bottlenecks and other problem areas.
    • Handling of difficult incidents and troubleshooting: took part in the most serious and complex incidents, such as outages or degraded performance, analysing the cause, implementing a fix and identifying longer-term improvements.
    • Stakeholder management: on many of the tasks above I dealt with stakeholders directly, and throughout the period I kept an eye on the business side as well as the technical one.
    • AI-assisted development (GitHub Copilot) for implementing and reviewing features and for quick scripts for data extraction and manipulation, where I largely set the constraints for design, tech stack and quality.
    • C#
    • .NET
    • .NET Core
    • Azure Web App
    • Azure Service Bus
    • Azure SQL
    • Azure Functions
    • Azure DevOps
    • Visual Studio Data Tools
    • SQL Server
    • XML
    • XSD
    • Entity Framework
    • Entity Framework Core
    • SpecFlow
  3. Saxo Bank

    Period: Aug 2017 – Aug 2019

    Role: Solution architect, system developer and designer

    Further development and maintenance of OpenAPI, which underpins the SaxoTraderGO and SaxoTraderPRO trading platforms, and the integration with third parties. The focus was on scaling, preparing for cloud enablement and automating the release process.

    Responsibilities and results

    • Architecture and design of a new distributed cache to cope with a growing number of clients. The implementation went into production.
    • Requirements analysis and implementation of new features.
    • Took part in the analysis of how the APIs could be migrated to Azure and .NET Core.
    • C#
    • .NET
    • Redis
    • WCF
    • ProtoBuf
    • Git
    • TFS Build
    • PowerShell
    • ASP.NET Web API
    • Azure
  4. Danmarks Nationalbank

    Period: Aug 2016 – Aug 2017

    Role: Solution architect, system developer and designer, team lead

    Further development and maintenance of FIONA, a reporting system. The system handles reporting of economic and financial key figures for both Danmarks Nationalbank and the Danish Financial Supervisory Authority.

    Responsibilities and results

    • Analysis, design and implementation of changes in connection with new regulatory requirements and new legislation. Two production releases for updated schemas from the EBA and EIOPA.
    • Team lead for the outsourcing of operations and development. Specification of processes and knowledge transfer. The team was subsequently self-sufficient and supported the applications without problems.
    • Support and troubleshooting of more complex issues, mainly related to databases and replication.
    • C#
    • .NET 4.5
    • .NET 4.6
    • LINQ
    • SQL Server
    • Transact-SQL
    • Topshelf
    • WCF
    • SOAP
    • SOA
    • TFS
    • Continuous Integration
    • CS-Script
    • XBRL
    • XML
    • XSD
    • MSBuild
    • Confluence
  5. Naturstyrelsen

    Period: Oct 2015 – present

    Role: Solution architect, system developer and designer

    Integration between an internal timber inventory system and an external timber measurement system, sScale from Dralle. The people measuring the timber are notified with coordinates as soon as a stack has been hauled out and is ready to be measured.

    Responsibilities and results

    • Gathering requirements in collaboration with the client and other stakeholders.
    • Producing the architecture and design.
    • Implementation, testing and release of the application.
    • C#
    • .NET 4.5
    • SQL Server
    • TDD/BDD
    • SpecFlow
    • Topshelf
    • Subversion
    • TeamCity
    • Continuous Integration
    • NLog
    • Unity
    • Rhino Mocks
  6. BankInvest

    Period: Sep 2015 – Jul 2016

    Role: System developer and designer

    Maintenance, extension and new development of various core applications, including applications for maintaining instrument reference data, exchanging data for fee and commission calculation, and an application giving an overview of pricing and allocation keys across funds.

    I also drove an initiative to document and test the functional requirements of existing applications using BDD/SpecFlow, so that the knowledge needed for future maintenance was secured.

    Responsibilities and results

    • A presentation on how BDD/Specification by Example principles could improve the documentation of requirements while making the requirements directly testable.
    • Analysis, documentation and test coverage of a service using these principles, as a kind of reference implementation. Knowledge of the service had been lost because of staff turnover. The solution was then handed over to other developers, who quickly gained enough knowledge to implement new requirements and could be confident that they had not broken existing functionality.
    • Implementation of feature requests.
    • C#
    • .NET 4.5
    • .NET 4.6
    • ASP.NET MVC 5
    • Bootstrap
    • KnockoutJS
    • Oracle
    • LINQ
    • SQL Server
    • SQLite
    • NHibernate
    • TDD/BDD
    • SpecFlow
    • Topshelf
    • WCF
    • SOAP
    • SOA
    • Scrum/agile
    • Subversion
    • TeamCity
    • Continuous Integration
    • log4net
    • StructureMap
    • Rhino Mocks
    • NSubstitute
    • Confluence
    • Jira

Earlier assignments

Shorter client assignments, grouped by period and employer.

Self-employed consultant (various clients)

Period: 2004 – 2015

Role: Solution architect, system developer and designer, team lead

As a self-employed software development consultant I have worked on a wide range of projects for large Danish companies and public organisations. The assignments have ranged from architecture and design of complex systems to hands-on development, team leadership and requirements analysis.

  • Saxo Bank · 2011–2015

    OpenAPI platform and Social Trading/Auto Trading systems. REST-based API framework, low-latency messaging, TDD/BDD. Team lead for an offshore team in India.

  • Miljøministeriet/Naturstyrelsen · 2009–2013

    Self-service solution for riding permits (ASP.NET MVC, DIBS payment) and a livestock Q&A system.

  • Banedanmark · 2011

    Reference implementation for bulk data load services (WCF, MTOM).

  • Danmarks Miljøportal · 2010–2011

    Proof of concept with BizTalk Server, WCF and AD FS.

  • Domstolsstyrelsen · 2010–2011

    System for handling enforcement cases at the bailiff's court (WPF, WCF, AD FS).

  • VP Securities · 2010

    SSIS packages for loading company and shareholder data.

  • e-Boks · 2010

    Public digital mailbox with interfaces to borger.dk and virk.dk (WCF, REST, OIOXML).

  • KL · 2010

    System for ordering and keeping an inventory of IT equipment.

  • Innovisor · 2009

    Customisation of the NodeXL network analysis tool (VSTO, WPF).

  • MAN Diesel · 2008–2009

    Sales support system with customer overview, data warehouse and reporting. MOSS 2007 migration.

  • BRFkredit · 2009

    Advisory application for customer advisers (WinForms, TDD).

  • Toyota Danmark · 2006–2008

    Several systems: collection of workshop data via an ESB, measurement of dealer performance, and organisation and employee management with integration with Lotus Notes and European systems.

  • Vacasol · 2007

    Holiday home rental system built from scratch. Architect and team lead for an offshore team in Vietnam.

  • NCC Construction · 2004–2005

    Invoice handling system with BizTalk, an employee portal with HR integration, and customer/supplier management.

  • Bakmann A/S · 2005

    Integration between a debt collection system and RKI/Debitorregistret.

Technologies (21)
  • C#
  • .NET Framework
  • ASP.NET MVC
  • ASP.NET Web API
  • WCF
  • REST
  • WPF
  • WinForms
  • SQL Server
  • Oracle
  • BizTalk
  • Entity Framework
  • TDD/BDD
  • SpecFlow
  • Low-latency messaging
  • Active Directory
  • SSIS
  • Git
  • TFS
  • TeamCity
  • Continuous Integration

ProActive Consulting A/S (various clients)

Period: 2002 – 2004

Role: Development consultant, system developer and designer

As a consultant at ProActive Consulting A/S I worked on a number of projects for large Danish companies and public organisations. The main focus was web development, CMS solutions and integration.

  • Miljøministeriet, Skov- og Naturstyrelsen · 2004

    Adaptation and further development of a Q&A system for an online question-and-answer service, with CMS integration via web services.

  • Kræftens Bekæmpelse · 2002–2004

    Development of a website and intranet based on Microsoft CMS, including e-commerce and online payment.

  • Ferring Pharmaceuticals · 2003

    Web-based Q&A database for drug-related questions with FDA Part 11 approval and Active Directory integration.

  • Københavns Kommune · 2003

    Intranet with web services and fine-grained role-based security.

  • Danmarks Radio · 2002–2003

    Website based on Microsoft CMS, integration with the DMI data feed for DR Vejret (the DR weather service), and a custom administration tool.

  • Carlsberg · 2002

    Intranet and website with Microsoft CMS, with modules for an image library, permission management and log file analysis.

  • Københavns Lufthavne · 2002

    E-commerce solution based on Microsoft Commerce Server 2002 with DIBS payment integration.

Technologies (11)
  • C#
  • ASP.NET
  • ASP
  • VBScript
  • Visual Basic
  • .NET Framework
  • Microsoft CMS
  • Microsoft Commerce Server
  • SQL Server
  • Active Directory
  • Web services

Aston Group (various clients)

Period: 2000 – 2001

Role: Development consultant, system developer and designer

As a consultant at Aston Group I worked on web development projects.

  • Lundbeck · 2001

    Development of a software licence management system with a web-based interface.

Technologies (4)
  • ASP
  • Visual Basic
  • SQL Server 2000
  • C++

Employment

  • Self-employed

    Software development consultant

    May 2004 – present

  • ProActive Consulting A/S

    Development consultant

    Jan 2002 – Apr 2004

  • Aston Group

    Development consultant

    Feb 2000 – Dec 2001

  • Berlingske Online

    Web programmer

    Jun 1999 – Feb 2000

Education and certifications

  • Certified Scrum Master, Jeff Sutherland, Xebia, Amsterdam

    Dec 2010

  • Course "Essential BizTalk Server", DevelopMentor, London

    Sep 2008

  • Microsoft Certified Solutions Developer (MCSD)

    Sep 2002

  • Microsoft Certified Professional: "70-175 Designing and Implementing Distributed Applications with Microsoft Visual Basic 6.0"

    Sep 2002

  • Microsoft Certified Professional: "70-176 Designing and Implementing Desktop Applications with Microsoft Visual Basic 6.0"

    Jun 2002

  • Microsoft Certified Professional: "70-152 Designing and Implementing Web Solutions with Microsoft Visual InterDev 6.0"

    Jul 2001

  • Microsoft Certified Professional: "70-100 Analyzing Requirements and Defining Solution Architectures"

    Jun 2001

  • AP Degree in Computer Science (datamatiker), Lyngby Uddannelses Center

    1999 – 2000

  • Upper secondary school leaving exam (studentereksamen)

    1996

  • International HG

    1993

Contact

Write to me about an assignment or a collaboration.