Skills

Skills and stack

What I actually do, grouped around the three pillars of the method. Technologies are secondary tags. Where a blog article makes the competence concrete, the link sits right next to it.

Organized by method, not by logo wall.

01

Design

5 areas

The architectural decisions that cost the most to change later. Where I focus before any line of code is written.

Event-driven architectures

Asynchronous systems with explicit contracts, ordering and recovery strategies.

Kafka RabbitMQ Pekko Schema Registry
Read more: Read the Kafka series

API design and service contracts

Designing the seams between services so they can evolve without breaking each other.

REST gRPC OpenAPI AsyncAPI

Distributed systems

When a monolith is the right call, when microservices are not, sync vs async tradeoffs made explicit.

Modular monolith Microservices CQRS

Domain modeling and tradeoff-driven choices

Technology decisions backed by the constraints they solve, not by hype.

DDD Bounded contexts State machines
Read more: Modeling with state machines

Performance and scalability as design requirements

Treated as constraints from day one, not as fixes bolted on after the fact.

Benchmarking Load profiles Capacity planning
Read more: .NET 8 benchmark study
02

Verify

6 areas

Making sure the system actually works: under load, under attack, over time. Without this, automation just makes failures faster.

Observability

Traces, metrics and logs you can correlate. SLOs, burn-rate alerts, signal that matters.

OpenTelemetry Prometheus Grafana Tempo
Read more: Multi-window burn-rate alerts

End-to-end functional testing

Tests that exercise the system the way users do, deterministic enough to run in CI.

Playwright Page Object Model Network mocking
Read more: Complete E2E guide

Performance testing

Load profiles tied to real traffic, regressions caught before users do.

k6 Load testing SLO validation

Authentication and authorization

Identity and permissions designed once, enforced everywhere, including service-to-service.

Keycloak OpenFGA OAuth 2.0 OIDC
Read more: Zanzibar/OpenFGA fundamentals

Security analysis

Static and dynamic analysis, dependency scanning, threat modeling on the path that matters.

SAST DAST SCA Threat modeling

Architectural consistency over time

Guardrails so the system you designed is still the system you have a year later.

ADR Fitness functions Architecture tests
03

Automate

4 areas

Only after designing and verifying. Automation amplifies everything sitting above it, mistakes included.

CI/CD

Pipelines that fail loudly on the right things, ship safely on the others.

GitHub Actions GitLab CI Quality gates
Read more: Advanced CI/CD strategies

Container orchestration

Kubernetes when it earns its keep, with the platform abstractions to keep developers productive.

Kubernetes Cluster API Helm
Read more: Cluster API series

Infrastructure as Code

Reviewable, reproducible infrastructure, including the recovery path.

Terraform OpenTofu Ansible

GitOps

Git as the source of truth for deployment state, drift caught automatically.

Argo CD Flux Kustomize

Want to put this to work?

If something here matches what you're facing, the fastest way forward is a 30-minute discovery call.