Skills

Technologies and competencies I apply in real-world projects.


C# / .NET

Building backend services in the .NET ecosystem with a focus on clean code, maintainability, performance, and long-term stability.

ASP.NET Core (REST APIs)

Designing and implementing scalable, versioned APIs with robust validation, error handling, and clear contracts.

Enterprise Architecture (Clean Architecture / DDD)

Structuring large codebases with clear boundaries, patterns, and domain-driven thinking to keep complexity under control.

Entity Framework Core, LINQ and Dapper

Data access with EF Core, LINQ and Dapper: modeling, migrations, query shaping, and performance-aware persistence.

Security (AuthN/AuthZ, RBAC, OIDC/OAuth2)

Securing enterprise applications with authorization rules, tenant isolation, and least-privilege access patterns.

Multi-Tenancy & Tenant Isolation

Building tenant-aware systems: safe data access boundaries, configuration scoping, and preventing cross-tenant visibility.

SQL (SQL Server / PostgreSQL)

Relational data modeling and practical querying: joins, indexing basics, and optimizing heavy-data workflows.

Background Jobs (Hosted Services, Quartz)

Design and implementation of scheduled and recurring background jobs with idempotency, retries, concurrency control, and operational safety.

Temporal (Workflows & Activities)

Orchestrating reliable workflows with deterministic logic, activity boundaries, retries/timeouts, and failure handling.

Observability (Serilog, Structured Logging)

Structured logging with correlation context to make production issues diagnosable and reduce time-to-fix.

Monitoring, Tracing & Observability

Monitoring and tracing using Datadog, Grafana, and the Elastic Stack to gain visibility into system behavior and operate services reliably.

.NET SDK / Integrations

Designing and implementing robust .NET integrations with external systems using typed HTTP clients, secure authentication, retries, error handling, and strong observability.

API Design & Contracts (OpenAPI, OData, Gridify)

Designing API surfaces that scale: filtering/paging, consistent response shapes, and avoiding leaking persistence concerns.

Performance & Concurrency

Reasoning about performance in backend systems: async patterns, concurrency control, and safe processing at scale.

Git & Code Reviews

Team workflows: pull requests, code reviews, resolving conflicts, and shipping changes safely.

CI/CD (Azure DevOps-style pipelines)

Automated builds, tests, and releases with repeatable deployments and safe delivery workflows.

Containers & Orchestration (Docker, Kubernetes)

Containerizing backend services with Docker and operating workloads in Kubernetes environments.

React (side projects)

Basic frontend work for personal projects—sufficient to collaborate effectively and build simple UI flows.