Skip to content
Software Engineer

Christian
Tchuente

Software Engineer — Backend & Full-Stack (.NET / C#)

I design and ship scalable backend systems and microservices in .NET and C# — from event-driven architectures to CI/CD — with distributed teams across three continents.

Yaoundé, Cameroon · Open to international relocation
About

About

I'm a software engineer with three years of experience building scalable web applications and backend services in C#/.NET and microservices architectures. I care about clean architecture, domain-driven design, and systems that stay maintainable as they grow. I've delivered production SaaS used by thousands of users and collaborated daily with distributed teams across Europe, the U.S., and Africa. I'm fluent in English and French, learning German — and open to relocating internationally.

Toolbox

Skills

Languages

C#JavaPHPJavaScriptTypeScriptSQLBash

Backend & Frameworks

.NET / ASP.NET CoreSpring BootLaravelREST APIs

Frontend

AngularReactNext.jsNx

Architecture

MicroservicesDDDClean ArchitectureEvent-DrivenCQRSOAuth2/JWT

DevOps & Cloud

DockerGitLab CI/CDAzure DevOpsKeycloakRabbitMQSonarQubeGrafana

Databases

PostgreSQLSQL ServerMySQLMongoDBRedisOracle
Proof of work

Selected Projects

A few systems I've designed and built.

ArbreGénéa Lead project

Collaborative, multi-generational family tree platform

Problem

Family history gets lost across scattered memories and closed, single-user tools — with no shared, multilingual way for relatives to build one living tree together.

Approach

An event-driven modular monolith of eight DDD modules communicating through a transactional outbox over RabbitMQ/MassTransit; Clean Architecture + CQRS throughout, designed to split into microservices with minimal change.

Result

Eight modeled domains, 12-language localization (including RTL), real-time collaborative editing, RSVP events, WebRTC family calls, a PWA with web-push, full observability, and 43 documented ADRs.

.NET 9C#EF CorePostgreSQLRabbitMQMassTransitRedisAngular 21NxKeycloakDockerOpenTelemetry

FileStorageApi

Provider-agnostic file-storage microservice

Problem

Apps get locked into a single storage provider; switching later means invasive rewrites of upload, download, and access-control logic.

Approach

One unified .NET 9 REST API over MinIO, AWS S3, and Azure Blob — selectable purely by configuration — with Clean Architecture + CQRS, presigned URLs, event-raising copy, and background processing.

Result

Swap storage providers by changing configuration, with zero changes to application code.

.NET 9C#MinIOAWS S3Azure BlobHangfireDocker

CopilotHRM Email

Templated, multi-language email microservice

Problem

Platforms need reliable, templated, multi-language transactional email — sent consistently and tracked, not hand-rolled per feature.

Approach

A standalone .NET service on the Mailgun API with a versioned template engine, per-language variants, attachments, request validation, and a full audit trail of every template version sent.

Result

Consistent, localized transactional email with complete version history across the platform.

.NETC#MailgunMySQLEF CoreFluentValidationSerilog

SFO — Scholarship Access

Opportunity platform for African students

Problem

Talented students miss opportunities because scholarship and fellowship information is scattered and hard to reach.

Approach

A Laravel + React platform that surfaces scholarships and educational opportunities in one place, with the guidance candidates need to prepare and apply.

Result

Lowers the barrier to opportunity for candidates across Africa.

PHPLaravelReactMySQL

Learning in the open

Alongside bigger builds, I run small experiments to understand .NET from the inside — like a micro-benchmark comparing List<T>.Count (O(1) property) vs LINQ Count() vs full IEnumerable enumeration.

ListCountPerfComparison →
Track record

Experience

Full history and details in my CV.

Contact

Let's talk

Open to backend and full-stack roles with international relocation. The fastest way to reach me is email.

Email me