Gill Erick

Adept problem solver, curious engineer and lifelong learner with a love for maintainable and scalable software that solve real world problems. Possesses great experience in building scalable and resilient back-end solutions using even-driven architecture in the fintech industry. Additionally posses great leadership, communication and presentation skills.

Skills


Languages & Frameworks

Python, Scala, Golang, Java, PostgreSQL, MySQL, Oracle SQL, Quarkus, SpringBoot, Slick


Fundamentals

Event-Driven Architecture, Data Structures & Algorithms, Databases, Microservices, Systems Design Patterns, Distributed Systems


Operations & Tools

Linux, Windows, Unix, Microsoft Azure, GCP, Docker, Git, Kubernetes,  Apache Kafka, Apache Avro, Azure CI/CD Pipelines, Agile Development, Figma, Jira, Github, Gitlab

Work Experience

Moniepoint, Senior Backend Engineer, May 2023 - Present

  • Proposed and led the adoption of an efficient ULID based indexing solution for till references
  • Assisting engineers to address blockers 
  • Presenting developed features to stakeholders and CTO every week
  • Performing code reviews for mid-level and junior engineers
  • Ensuring coding standards are upheld and unit tests coverage is satisfactory

Tools & Skills: Java, Spring Boot, Apache Kafka, Kubernetes, Systems Design, Distributed Systems

Company@2x

Sendy Limited, Backend Engineer, Dec 2021- March 2023 

Contributed to the building of an event-driven service for aggregating all the company's financial data, with a wallet capability. Currently leading the maintenance of the service. Below are some of my achievements:
  • Redesigned & implemented the monthly statement closure process to self-closing, eliminating the need for setting cron jobs and other failure points
  • Designed ERP integration for account statements generation, receipt generation, and credits & debit notes posting. 
  • Implemented an invoice generation module 
  • Implemented feature to check the balancing of credits and debits in a transaction payload
  • Contributed in implementation of a transactions reversal module
  • Implemented ERP configuration management module for integrating the service with external ERPs, specifically Microsoft Dynamics ERP. 
  • Contributed in writing unit and integration tests ensuring test coverage of about 95%
  • Performing peer code reviews
  • Preparing and creating releases
  • Led initiative to document team learnings, on the new technologies - Scala and Slick, to facilitate quicker ramp up and help on-board new team members
  • Designed and implemented an on-demand payment module that immediately forwards on-demands payment transactions to the ERP.

Tools & Skills: Scala, Java, Apache Kafka, Apache Avro, Kubernetes, Play! Framework, IaC, CI/CD pipelines, Systems Design, Distributed systems, Functional Programming, Gitlab, Docker

Company@2x

Sendy Limited, Backend Chapter Lead, Sep 2022- March 2023

Leading a team of 15 backend engineers. My roles were:
  • Leading the team initiatives
  • Coordinating team projects
Skills: Leadership, Communication, Team Player, Cross-functional collaboration and coordination

Company@2x

Sendy Limited, Masterclass Coordinator, Oct 2021- Sept 2022

This role involved closely working with the VP engineering to come up with learning initiatives for the Sendy Engineering Team. My achievements include:
  • Centralizing the storage of learning resources, easing their access
  • Liaised with Senior Engineers to come up with new learning areas, for instance, Data Structures & Algorithms Series, Clean Code and Design Patterns.
  • Gave presentations on various engineering topics (clean code, database isolation levels as was used in one of Sendy services I contributed in writing)
  • Successfully organized a weeks long clean code campaign to sensitize Sendy developers on the benefits of clean code

Skills: Leadership, Communication, Cross-functional coordination & collaboration

Company@2x

Sendy Limited, Backend Engineer, Aug 2021- Dec 2021

  • Implemented an algorithm to filter saved payment methods, visible to a user, based on a list of payment methods accessible in their country and Sendy app they have signed into.
  • Implemented an endpoint to return a combined list of the generic accessible payment methods and the user's saved payment methods, among other endpoints
  • Implemented a feature to restrict test card amounts, preventing the potential loss that comes with inadvertently testing using high amounts.
  • Contributed code for integration with new PSPs - Paystack and DPO Group, increasing payment success rate from about 40% to 80%. 
  • Implemented code to support Mobile Money operators in new countries (Uganda & Ivory Coast)
  • Wrote unit tests ensuring the quality of the code shipped.
  • Documented setup processes for payment services significantly reducing setup time for new team members from about a few days to only a few hours.
Tools & Skills: Java, Golang, Quarkus, JAX-RS, Reactive Programming, Docker

Company@2x

Reaction Power, Software Developer,  August 2020 - April 2021

Took part in a NVIDIA project to showcase one of their products, RAPIDS [a set of libraries that leverage the power of GPUs to accelerate processing & training of large datasets]. My specific contributions were:
  • Contibuted in writing intitial code to demontrate at a high level what the project was intended to achieve.
  • Wrote code to compare the performance of RAPIDS and non-accelerated libraries.
  • Contributed in writing the project documentation, showing the learnings and conclusions.
  • Contributed in implementing changes to the company website
Tools & Skills: Wordpress, Python

Company@2x

Featured Projects

Bank API - A generic bank API (Golang)

  • Designed and implemented a simple bank API REST micro-service that allows for the management of customers, their accounts and cards and supports account withdrawals and top ups.

In-memory Redis Database - A Redis-like in-memory database (Golang)

  • Designed and implemented a Redis-like database with SET, GET, DEL functionalities among other common Redis commands.

Lapisoft - Laptop Theft Prevention System (Android, JavaScript, CSS, HTML)

  • For my final year university project, I designed, implemented and tested a laptop theft prevention system. The system allows a user to report a theft case as soon as they realize. The system sends a real-time SMS alert to the security personnel helping to quickly track the lost laptop. The system, if adopted would help reduce laptop theft across the university and through an analytics feature help in making informed decisions on how to reduce theft
  • Designed and implemented an Android application that scans asset tags (QR or bar code) on devices and pop up the owner's details.

JKUSDA Fundraisers - Real-time Fundraiser App (PHP, HTML, CSS)

  • Contributed in the design and implementation of a system like GoFundMe and MChanga to enable our church members to monitor the progress of major fundraisers in real-time. 
  • I contributed in building the web interface and writing the code to asynchronously query a database (populated from Safaricom APIs) 

Education

Jomo Kenyatta University of Agriculture & Technology, BSc. Electrical and Electronics Engineering, 2015 - 2020

Worked on a laptop theft prevention system for my final year project.
University@2x

Certifications

Microsoft Certified: Azure Fundamentals, Microsoft, June 2020 - July 2020

Cloud Concepts, Core Azure Services, Solutions and Management Tools on Azure, Azure Security Features, Identity, Governance, Privacy and Compliance Features, Azure Cost Management and SLAs
University@2x