Senior Software Engineer

Paweł
Chojnacki.

.NET / Angular / Azure

Understand the domain. Take ownership. Help the team grow.

I help teams turn complex business problems into working software — from domain models to production applications. I combine .NET, Angular and Azure with experience in team leadership, mentoring and SQL optimisation.

See what my teammates say

01 / Recommendations

The people I work with
tell the story best.

Ownership, practical support and thoughtful questions. These are the qualities highlighted by the people I have built software with.

Team ownership

“He has always been a very reliable developer with a deep sense of responsibility for the team and the team's scope.”

Anna SzypszakHead of Development, KMD Poland ·

Recommendation excerpt

SQL performance

“There are countless situations when Pawel's SQL optimization ideas turned out to be a game-changer in queries time execution.”

Paweł TarsałaTeammate ·

Recommendation excerpt

Hands-on mentoring

“What is more, Paweł played a crucial role in mentoring me and our colleagues during our internships. His guidance and support helped me to develop my skills and confidence in no time.”

Jakub BorekTeammate ·

Recommendation excerpt

Read the full recommendations on LinkedIn

02 / Expertise

Complex systems.
Clear solutions.

I work best where a team needs to understand the domain, bring clarity to the architecture and deliver working software.

Enterprise modernisation

I evolve existing .NET platforms and improve their architecture. I focus on clear boundaries and changes that teams can maintain with confidence.

.NET / C# / ASP.NET Core

Distributed systems

I build cloud services and integrations between systems, working with asynchronous messaging, containers and deployment processes.

Azure / Kubernetes / Kafka / RabbitMQ / NServiceBus

Domain modelling

I translate business processes into models and code. I use DDD and Event Storming to help teams agree on responsibilities and system boundaries.

DDD / Event Storming / CQRS

Full-stack delivery

I deliver features from APIs and databases through to Angular applications, optimising SQL queries and keeping code clear on both sides of the API.

Angular / TypeScript / RxJS / SQL

03 / Experience

From banking systems
to cloud platforms.

Selected areas of my commercial work: banking, energy and education. From Nordic auto loans and KMD cloud platforms to British Council systems and Polish banking software.

Santander Nordics

Sep 2024 — present

Senior Software Engineer

I’m responsible for multiple applications supporting Santander Nordics operations, including auto loans across four countries: Finland, Sweden, Norway and Denmark.

  • Partners API — a new platform integrating car dealers with the bank’s loan process. .NET 10 microservices with NServiceBus, deployed through Azure Pipelines and ArgoCD.
  • Santander Connect — support for the legacy .NET Framework 4.7 system with NServiceBus while it migrates to Partners API.
  • FATCA/CRS — an application supporting FATCA and CRS tax compliance. .NET 10, React and MS SQL.
  • SBL — a connector to the Norwegian tax system, built with .NET 10 and MS SQL and running in Azure.
  • SuperOffice Customer Service — an application supporting the SuperOffice integration.

.NET 10 / C# / NServiceBus / React / MS SQL / Azure / ArgoCD

KMD Poland

Jun 2023 — Sep 2024

Lead / Senior .NET Developer

I took ownership of business domain knowledge and planned the team’s scope of work. I developed a cloud platform built with .NET, Angular and Kubernetes, combining technical design with implementation.

.NET / Angular / Kafka / Kubernetes

KMD Poland

May 2020 — May 2023

Senior Azure .NET Developer

I worked on KMD Elements for the energy sector, from architecture and domain modelling to backend and frontend features. I implemented Kafka messaging and CI/CD processes, mentored developers in Talent Lab and conducted technical interviews.

.NET / Azure / Angular / DDD / Helm

British Council

Oct 2018 — May 2020

.NET Developer · Diverse Consulting Group

I developed the Schools platform for registrations, payments and the administration of centres and schools. I worked in a team maintaining systems critical to British Council operations.

.NET / ASP.NET Core / Angular / SQL Server

Bazy i Systemy Bankowe

Mar 2016 — Sep 2018

Junior Programmer → Programmer

I developed banking systems including SPERT, anti-money-laundering software and a financial planning system for the National Bank of Poland. I also led functional changes for ecoTAX and optimised SQL query performance.

.NET Framework / Oracle / SQL Server / WPF

04 / Projects

After hours,
I build my own tools.

Projects I develop outside my day job. Each one solves a real problem: running a one-person business, working with KSeF (Poland’s national e-invoicing system) or the infrastructure I use every day.

Running on my server

Sole-trader accounting

A self-hosted accounting app for a one-person Polish B2B IT business. It issues invoices and submits them to KSeF, prepares JPK_V7M VAT files, and calculates social security contributions and income-tax advances for flat, progressive and lump-sum taxation.

.NET 10 / Blazor / EF Core / SQLite

In development

KSeFan

A KSeF invoice importer for accounting offices. It downloads documents for many clients and passes them to Rachmistrz, Optima, Symfonia or WAPRO — as an import file or, for some programs, directly into their SQL Server database.

TypeScript / Node.js / SQL Server / Docker

Prototype

Sole-trader accounting for macOS

A native Mac port of the accounting app: a SwiftUI interface, tax rules in a shared Rust core, a local SQLite database and full offline use.

Swift 6 / SwiftUI / Rust / SQLite

In daily use

Home infrastructure

A Debian server running more than 20 Docker services: media, photos, file sync, a password manager, Git and ad-blocking DNS. A reverse proxy with internal TLS, remote access over Tailscale, monitoring and nightly backups with a written restore runbook.

Linux / Docker / Nginx / Tailscale

The repositories are private — I’m happy to talk through the details.

05 / Approach

Good engineering makes
the whole team stronger.

Before proposing a solution, I want to understand the business problem and its constraints. At KMD, I took ownership of domain knowledge and planned the team’s scope of work. As a Talent Lab mentor, I helped new developers get started, and I interviewed prospective teammates.

I value collaboration, a calm approach to difficult problems and thorough code reviews. I have worked in international teams, including with colleagues in Denmark. Outside work, I build my own tools and run a home server — see my projects.

Education and perspective

Computer science, deep learning
and an international outlook.

Academic research

Deep learning in medical imaging

My master’s thesis at Nicolaus Copernicus University explored pattern recognition in medical images, focusing on architecture performance and methods for improving results.

MSc in Computer Science · Nicolaus Copernicus University · 2017–2018

Working across borders

An Erasmus+ exchange at Universitat de Vic, experience in Polish–Danish teams and professional working proficiency in English. I am comfortable discussing solutions with people from different backgrounds.

Polish — native · English — professional working proficiency

Certification

Microsoft Certified:
Azure Fundamentals AZ-900

Selected training areas

DDD and CQRS · Web application security (Niebezpiecznik.pl) · Telemetry and DevOps

06 / Contact

Let’s talk
about your system.

Need someone who combines technical design, implementation and ownership of the result? Let’s talk about your team, system or engineering challenge.

You can find more about my experience in my CV (PDF).