Curriculum Vitae

Biography & Philosophy

Core Parameters
Years of Practice:6+ Years
Specialization:Distributed Systems
Core Ecosystems:JVM, Node, Python, Go
Technical Inventory

Languages

Java, Python, Node.js (TypeScript), Go, SQL, HTML/CSS

Core Backend

NestJS, Spring Boot, Django, gRPC, REST APIs, GraphQL, Microservices

Databases & Cache

PostgreSQL, Prisma ORM, Redis, Elasticsearch, Neo4j, Cassandra

Event Streaming

Kafka, BullMQ, RabbitMQ, Event-Driven Architecture

Infrastructure

Docker, Docker Compose, Kubernetes, AWS (S3, EC2, ECS), DigitalOcean, Linux Systems

Frontend Integration

Next.js (App Router), React, React Native, Tailwind CSS, Zustand, React Query

The Journey

I'm Henry, a Software Engineer with 6+ years of experience building high-concurrency, production-grade systems across Fintech, E-commerce, and SaaS. I specialize in Java, Python, and Node.js, with a strong focus on distributed systems, event-driven architectures, and scalable multi-tenant platforms.

Over the course of my career, I have dedicated myself to the craft of backend architecture. I believe that engineering longevity is achieved by choosing simplicity over trendiness, maintaining strong type systems, and validating assumptions with real-world profiling.

"Simple systems are easier to reason about, safer to refactor, and cheaper to maintain. Complexity is a debt that must be paid back with compounding interest."

System Architecture Philosophy

01. Data Integrity First

No feature is worth database corruption or silent failure. Proper table constraints, foreign key relationships, and ACID boundary definitions form the bedrock of clean systems.

02. Observability over Magic

A system in production is only as good as its logs and metrics. I prefer explicit error propagation, descriptive telemetry logs, and microservice tracing over automated framework magic.

03. Type Safety at Boundaries

Every system boundary (API requests, database fetches, event payloads) should be statically typed and verified at runtime. Utilizing Zod and TypeScript prevents invalid payloads from corrupting state.

04. Pragmatic Orchestration

I choose the right tool for the job. While Kubernetes and global Kafka clusters are powerful, simple Docker Compose configs or serverless pipelines are often more suitable and maintainable for medium-scale operations.

Chronology

Jan 2025 — April 2026

Lead Software Engineer

ABX (AfrobasketXpress)

Architected a multi-vendor e-commerce ecosystem from scratch. Engineered real-time delivery tracking using Django Channels and MQTT, automated vendor payouts with robust fund reconciliation, and optimized throughput using Celery + Redis.

Jan 2024 — Dec 2024

Lead Backend Engineer

XstakUp

Directed the backend architecture for a multi-tenant SaaS platform with robust access control and data isolation. Established automated unit/integration test suites (reducing defects by 30%), optimized query performance, and mentored junior engineers.

Jan 2023 — Dec 2023

Software Developer

DailyPayAfrica (Fintech)

Developed core MVP REST APIs enabling secure financial transactions and real-time balance updates. Accelerated release cycles by 40% through modular service design and automated CI/CD pipelines.

Jan 2022 — Jun 2024

Backend Developer Instructor

Univelcity

Designed and executed a comprehensive backend curriculum, successfully training 500+ aspiring engineers in Python and Node.js. Standardized DevOps training with Docker workflows and GitHub Actions.