Position: Software Engineer
Category: Java
English level: fluent
Years of experience: 5

1. Moniepoint's Working Capital Loans. This product has shown significant success, with the product currently in the live beta phase and having facilitated over 1 Billion Naira in disbursed loans, showcasing its impact and effectiveness.

2. Global Accelerex's RexRetail. I played a pivotal role in ensuring the stability, scalability, and reliability of RexRetail, which serves thousands of merchants and generates significant subscription revenue.

3. Global Accelerex's ANP. ANP is an agency banking product. I played a pivotal role in ensuring the stability, scalability, and reliability of the platform, resulting in significant monthly transaction volume and revenue.
I am a Senior Software Engineer at Moniepoint. I work on the business loans product.

It is an enterprise-level business loans product tailored for small and medium businesses, providing much needed captital for their financial growth. I utilized Java, Spring Boot, MySQL, Python, Kubernetes, Kafka, Redis, and Google Cloud Platform (GCP) to construct a comprehensive solution. 

I successfully addressed a complex transactional integrity and reliability challenge within the product. This meant designing a solution involving transactional records saving to a database alongside event emission to maintain consistency. This creates a buffer mechanism involving a dedicated event table and scheduler to ensure event transmission with transactional integrity and reliability.

I learned a fundamental principle from solving this problem, and that is reliability can be introduced by splitting an operation into two parts; the initiation part, and the retriable part.

I have recently been working with kafka to build a queue integration library, and a microservice configuration server.

For the queue integration library, I used kafka as an event streaming pipeline for events that should be handled within and between microservices. The library makes it easy to setup event production and consumption in spring boot applications. It also implements business logic retry functionality for event consumption.

The microservice configuration server is set up for microservices to fetch configuration variables on startup in a secure manner. It also allows configuration changes to be pushed to a microservice. These configuration changes are propagated as events in kafka which all instances of that microservice can recieve.

I am currrently working on some experimental projects with kafka using the kafka connect and kafka streams API.

I am always looking for opportunities where I can lead and oversee engineering direction. I enjoy design and architecture deep dives on business requirements. I look forward to improving my leadership and mentorship skills.
I'm interested in technically challenging work, ownership, and leadership opportunities. I am always open to learning new technologies to get the job done. I learn fast, I love domain model design, I love to build, and I love to see my work in the hands of users.