--
I am a software engineer with a background spanning full-stack architecture and development, infrastructure and DevOps, site reliability engineering, applied AI, and robotics. I like following a problem wherever it lives in the stack, whether that is a hardware fault, a slow query, or a confusing button.
My diverse background provides me with broad knowledge of computer systems, from low-level hardware intricacies, microcontroller firmware, and bare-metal Linux servers to high-level software abstractions, and from user-facing interfaces to transaction processing, distributed data pipelines, and production model serving. Starting on the physical end of the stack taught me that software is only as reliable as the machines underneath it. Combining that foundation with the ability to quickly pick up new concepts and map them onto fundamentals I already know gives me unique versatility, which I have come to value as my biggest strength.
I enjoy designing, building, and operating distributed, fault-tolerant, and high-throughput systems, and I like them boring in production.1 My passion is finding concise, elegant, maintainable, and performant solutions and building them with the right tools for the job. I have built a strong toolkit along the way, having worked with a multitude of well-known and widely used technologies.
With a habit of documenting and explaining how complex systems work, and a big pool of patience and understanding, I love sharing my knowledge and helping out. I communicate clearly and efficiently, and I do my best work in challenging environments where I can keep learning alongside sharp people.
Outside of work, I spend my time toying with SoC boards and hardware, implementing research papers, and building small tools I wish existed. I also read widely across technical books, history, and long-form research, going deep on physical intelligence, semiconductors, and energy.
Experience
December 2025 - present: Software Engineer, Product & SRE, Utopia Analytics
April 2025 - June 2025: Software Engineer, AI & Data, Materialisting
- Designed and owned the retrieval system behind a sustainability platform for the construction industry, making complex Environmental Product Declaration data searchable.
- Built a hybrid search pipeline that combined keyword matching with dense vector embeddings, merging the results through reciprocal rank fusion2 so domain-specific material queries stayed accurate.
- Created the ingestion and ETL pipelines that turned messy, unstructured material specifications into clean, searchable records, and tuned the underlying database to keep queries fast.
December 2024 - April 2025: Software Engineer, Simplexified Solutions
- Worked one-on-one with a principal engineer to build a production tax credit analyzer for the media and film industry that generates tax credit breakdowns directly from Movie Magic budget files. We first shipped it as a lightweight, local-first desktop app across Linux, macOS, and Windows, optimizing memory use and parallel processing to handle complex budget files quickly before extending the same foundation into a full-stack web application.
May 2021 - August 2024: Software Engineer, Product & Automation, Invisible Technologies
- Worked on a human-in-the-loop workflow and business-automation platform that combined software pipelines with human operators to run large-scale operational processes for major tech enterprises.
- Designed and built a semantic search system across multiple industry verticals, translating natural-language questions into structured database filters alongside vector embeddings so teams could quickly find the right data and domain experts.
- Built identity-verification and fraud-detection services for our expert-vetting platform, using graph and relational data models to catch bad actors and orchestrating the long-running verification workflows underneath.
- Contributed to a large-scale data annotation platform, and spent time hands-on with the data side of frontier model training, doing supervised fine-tuning, reward modeling, and RLHF evaluations across code, math, and reasoning tasks.
- Built internal no-code configuration tools that let operations teams wire up new data pipelines between internal databases, spreadsheets, and third-party services without needing an engineer in the loop.
- Participated in the on-call rotation and incident management across the platform's microservice architecture, helped establish our monitoring and alerting practices, and took part in migrating legacy services onto a unified platform.
June 2020 - June 2021: Software Engineer, Promenade AI
- Worked across the frontend and backend of a community and student volunteering platform where members form groups, organize events, and earn points for completed activities, focusing on user experience and application performance as the user base grew.
- Introduced automated end-to-end testing into the deployment pipeline to catch regressions before reaching production.
September 2019 - May 2021: Founding Software Engineer, Forward-Deployed, Digit Technologies
- Worked as a forward-deployed engineer3 building and deploying an on-premise, multi-tenant healthcare platform used by hospital staff, doctors, and patients, integrating optical character recognition and speech synthesis into clinical workflows.
- Because the system ran entirely on site, this role also covered the physical side of deployment, from racking hardware and wiring local networks to administering the Linux and Windows servers and databases underneath the software.
Tech Skills
Programming languages, in order of proficiency:
- Python / TypeScript & JavaScript - full professional proficiency. I do most of my backend, data, applied AI, and full-stack product development with these two. Python is my go-to for ML pipelines, FastAPI services, and quick scripting, while TypeScript powers my web and application layers.
- Go - high proficiency. My language of choice for small, self-contained services, background pollers, CLI tools, and offline-first web apps.
- Rust - high proficiency. Used when memory safety, concurrency, and a tiny binary footprint matter, such as building local-first desktop backends.
- Lua - intermediate proficiency. Most of my experience comes from writing custom routing and policy logic inside Kong API gateways on live production traffic.
- C / C++ and Embedded C - intermediate proficiency. Used for writing ROS2/Nav2 navigation planner plugins and RTOS microcontroller firmware.
- PHP, SQL, Java, and Bash - production experience across legacy and enterprise systems.
- Haskell / OCaml - basic to intermediate proficiency. My daydream languages. I toy with them in the hope that finally mastering monads will give me an edge in everyday programming.
- Cloud products and providers: I have extensive professional experience with GCP and AWS, and I have worked with Azure and played with Oracle Cloud. I regularly use various cloud offerings: VMs, managed K8s, serverless compute, managed RDBMs, managed object storage etc.
- Containers and orchestrators: I used Kubernetes in a professional capacity (both self-managed via Rancher and managed) and Docker in production, packaging workloads with Helm. I am comfortable with the Linux primitives that make up containers, such as namespaces, cgroups, and overlay filesystems.
- Networking: understanding of L3/L4 protocols like TCP/IP and UDP, and higher-level protocols like HTTP, HTTPS, HTTP/2, WebSockets, gRPC, DNS, and TLS. Knowledge of low-level networking facilities like sockets, blocking and non-blocking syscalls (
selectandepoll), experience with networking libraries and frameworks across my stack, and operating edge proxies and API gateways in production, specifically Kong, Nginx, and Traefik. Comfortable with network debugging tools likess,netcat,iperf,tcpdump,Wireshark, andcurl, alongside Linux network stack tuning. - Concurrency and multithreading: comfortable with low-level synchronization primitives like mutexes, semaphores, locks, and condition variables, as well as high-level abstractions such as futures, promises, coroutines, channels, and async/await programming.
- IPC mechanisms such as pipes, shared memory, UNIX domain sockets, and message-passing buses (including DDS/ROS2 middleware).
- Distributed systems and event streaming: Experience designing decoupled, fault-tolerant architectures using Kafka for high-throughput event routing, Temporal for durable workflow orchestration, and Airflow and Airbyte for data pipelines.
Databases:
- PostgreSQL - full professional proficiency. Thorough understanding of MVCC, locking, indexing, views, triggers, partitioning, and stored procedures, as well as Postgres-specific features such as
plpgsql, foreign data wrappers, materialized views, statistics tables (pg_*), advisory locks, access control, replication, backup, configuration, document data types (jsonb), full-text search, functional and GIN/HNSW indexes, and vector similarity search withpgvector. My database of choice, and the one I use the most. - Elasticsearch - high proficiency. Used heavily for distributed search, log analytics, cluster capacity sizing, automated snapshots, and Index Lifecycle Management.
- SQLite - high proficiency. My favorite embeddable database for local-first applications and lightweight caching. If querying data is any more complex than a simple dictionary lookup, this is what I reach for.
- Redis, MongoDB, MySQL, ClickHouse, and Neo4j - production proficiency across in-memory caching and pub/sub, document storage, relational workloads, columnar OLAP analytics, and graph-backed identity and fraud modeling.
- PostgreSQL - full professional proficiency. Thorough understanding of MVCC, locking, indexing, views, triggers, partitioning, and stored procedures, as well as Postgres-specific features such as
- Versatile, hands-on knowledge of UNIX systems, especially GNU/Linux: bare-metal installation, server administration, kernel and resource tuning.
- Machine learning, AI, and robotics libraries and protocols, such as PyTorch,
numpy,scipy,scikit-learn, LangChain, LangGraph, PydanticAI, Faiss, MCP, A2A, and ROS/ROS2 with Nav2. - Shell scripting, and broad knowledge of command-line utilities for inspecting systems, manipulating and transforming data.
- Build tools and CI/CD pipelines, such as Bazel, Nx,
Makefiles, CMake,colcon(ROS2), and ArgoCD. - Observability tooling, such as Prometheus, Datadog and Zabbix for monitoring and alerting, Grafana for dashboards, the ELK stack for log analytics, and OpenTelemetry for error tracking and distributed tracing.
- Configuration management and provisioning with Ansible, and managing infrastructure as code with Terraform.
Education
August 2023 - July 2026: BSc in Computer Science, University of Eastern Finland. (Thesis: Model Context Protocol for Tool-Using LLM Agents in Robotic Systems)
2017 - 2020: Diploma in Software Engineering, SQI College of ICT, Nigeria
- In SRE, "boring" is a compliment: software that does what it should and fails in ways you already know. See "The Virtue of Boring" in the Simplicity chapter of Google's Site Reliability Engineering book. sre.google/sre-book/simplicity/ ↩
- Cormack, Clarke, and Büttcher, "Reciprocal Rank Fusion Outperforms Condorcet and Individual Rank Learning Methods," SIGIR 2009. doi.org/10.1145/1571941.1572114 ↩
- See "What are Forward Deployed Engineers, and why are they so in demand?" in The Pragmatic Engineer. newsletter.pragmaticengineer.com/p/forward-deployed-engineers ↩