About

I’m a software developer with over 10 years of experience, mostly building back-end systems in finance, trading and debt collection. These days I build high-performance, distributed financial systems.

I like delivering things that are genuinely useful — to the business and to other developers. I love simple, self-explanatory code, and I have a lot of fun building tools and libraries for developers. I also enjoy the planning side of team work, and I just love learning new things.

Outside of work: a lucky husband and the proud father of the greatest daughter in the world.

  • Fintech & banking
  • Trading
  • Leasing
  • Debt collection

Experience

  1. 2022 — nowSenior C# .NET Developer · StoneXBack-end and API logic for retail trading platforms with 260k+ clients — and moving them to the cloud.Worked onFOREX.comCity IndexMetaTraderTradingViewTrading APIsDistributed systemsCachingCI/CDArchitecture

    Trading platforms

    • Back-end and API logic for the FOREX.com, City Index and MetaTrader apps.
    • Worked on the TradingView integration, bringing FOREX.com to 100M+ traders.

    Performance & architecture

    • Designed, built and supported API caching with sub-millisecond response times.
    • Designing and implementing high-performance, distributed financial systems.
    • Created architecture plans, including migrating legacy systems to the cloud.

    Delivery & reliability

    • Built and maintained CI/CD pipelines.
    • Organised observability for analysis and alerting.
    • Automated tests for existing and new systems.
  2. 2021 — 2022Senior C# .NET Developer · Spyrosoft S.A.Client projects in parking software and investment research: deployments, reporting, performance.Worked onParkingEyeRedburn (Rothschild & Co)DB deploymentsBuild automationReportingPerformance

    ParkingEye ↗

    • Rebuilt database deployments for a platform managing 4,000+ UK car parks — migrations are now standardised and automated.
    • Built an automation module for reporting.

    Redburn (Rothschild & Co) ↗

    • Refactored their distributed reporting system and fixed its performance issues.
    • Made processes resilient: jobs that stopped on an error now retry and carry on.
  3. 2017 — 2021Senior C# .NET Developer · Krajowy Rejestr Długów BIGDebt collection system for Kaczmarski Inkaso, and the back-end of wingo.pl.Worked onKaczmarski Inkasowingo.plDebt collectionEmail & SMSETLCI/CD

    Kaczmarski Inkaso ↗

    • Maintained and developed the debt collection system.
    • Refactored the email and SMS distribution systems: better performance, plus efficiency metrics.
    • Led an internal ETL project for data import and transformation.

    wingo.pl ↗

    • Built the back-end of wingo.pl — submit a debt for collection in under a minute.

    Delivery

    • Co-authored the CI/CD pipelines.
    • Owned implementation and delivery of the final solution.
  4. 2016 — 2017C# .NET Developer · Getin LeasingInternal debt collection and monitoring modules.LeasingDatabases
    • Maintained and extended debt collection and monitoring modules.
    • Designed and optimised databases for performance and reliability.
    • Refined system requirements with business stakeholders.
  5. 2015 — 2016IT System Analyst · Getin BankBusiness analysis, database design and custom reporting.BankingAnalysisReporting
    • Analysed business requirements and wrote system documentation.
    • Designed databases and implemented custom reports.
    • Ran training sessions for product teams and gathered feedback for next stages.

Education

2012 — 2016

Mathematics · Wrocław University of Science and Technology

Projects

  • Sharp Dependency

    Automated dependency updates for .NET projects.

    A tool that finds outdated NuGet dependencies across .NET projects and updates them for you.

    C#.NETCLI
  • Trail Bud

    Trail-race nutrition planner that runs in your browser.

    Upload a GPX route, add aid stations, set timing, flasks and gels — get a deterministic hydration and carb timeline drawn on the route. Everything stays local.

    TypeScriptGPXVibe codedOpen app ↗
  • GPX Bud

    GPX routes as slope charts — spot the hard parts.

    Visualises a .gpx file as a slope chart, so the steep sections of your next trip are obvious at a glance.

    JavaScriptGPXChartsOpen app ↗
  • Test ID Generator

    Deterministic random IDs for tests.

    Generates random-looking but repeatable identifiers, so snapshot tests stay stable instead of breaking on new IDs every run.

    C#TestingLibrary
  • Sharpoogle

    Search C# code by method signature.

    A fun experiment: a search engine for C# codebases where you query by signature, e.g. (string, int) → bool.

    C#SearchNuGetNuGet ↗
More on GitHub →

Skills

  • Distributed systemsMicroservices and event-driven architectures designed for scale.
  • AI-assisted deliveryLLMs and coding agents across the lifecycle, incl. AI PR-review agents.
  • Developer toolingTools and libraries that make other developers faster.
  • People & processRequirements, documentation, planning and mentoring teammates.
Core
C# / .NETASP.NET CoreEntity FrameworkSQLNoSQL
Cloud & containers
AzureKubernetesHelmDockerIngress
Messaging
Azure Service BusActiveMQKafka
Observability
OpenTelemetryGrafanaELKOpenSearchJaegerDatadog
CI/CD
GitHub ActionsAzure DevOpsTeamCityOctopus
AI in engineering
Coding agentsAI code-review agentsLLM workflowsMCP servers
Languages
Polish — nativeEnglish — fluent

Latest writing

All articles →