Skip to content

Experience

Experience

A concise overview of my professional engineering experience - the responsibilities I’ve taken on, the systems I’ve worked in, and the work I’m happy to go deeper on.

Current role

Where I am now

Senior Software Engineer

2022 - Present

Mindfire Solutions

I have worked on an e-commerce platform since its early development, with particular responsibility for the order module. My day-to-day work includes refining requirements, implementing changes, making technical decisions within my scope, and investigating production issues.

I collaborate with QA, business analysts, other platform teams, and clients throughout delivery. I also help teammates resolve technical questions and sometimes coordinate tasks and follow their progress.

Engineering scope

What I work across

The areas of the stack I spend the most time in. Each item is backed by work that lives on this site.

Backend Engineering

  • .NET / C#
  • ASP.NET Core
  • API design
  • Clean Architecture
  • CQRS

Cloud & Infrastructure

  • Azure Functions
  • Azure Service Bus
  • Blob Storage
  • Key Vault
  • CI/CD

Data & Performance

  • SQL Server
  • EF Core
  • Query optimization
  • Caching
  • Large-scale data

Responsibilities

What I take responsibility for

My responsibilities across implementation, production support, and collaboration throughout delivery.

  • Implementing and maintaining order-module features, primarily on the backend, with frontend changes where needed

  • API design - contracts, versioning, idempotency

  • Database and schema design for evolving product needs

  • Investigating production issues end-to-end, not just at the surface

  • Performance analysis and query / data-path tuning

  • Participating in architecture discussions and design reviews

  • Refining requirements with business analysts and clients, breaking them into technical tasks, and contributing estimates

  • Making implementation decisions within my scope and discussing wider changes with the team

  • Collaborating with QA on expected behaviour, defects, and validation

  • Helping teammates with technical problems and coordinating work when needed

  • Participating in the team's Agile planning and delivery process