Position: Senior Software Engineer Team Lead
Category: Node.js
Experience: 8 years | English: fluent

CashToken buck gifting was first designed using a divide and conquer approach. It was later enhanced by using ZeroMQ. It was improved by 36%.

Achieved an unbias draw engine sorting system by generating a random permutation of a finite sequence and implementing a CashToken draw engine using the Fisher-Yates shuffle algorithm.

implemented and refactored existing UI, which improved UI rendering speed significantly and drove a better user experience.

Implement users’ accessibility sessions, page menus, and privileges using Redis. This is to avoid having to make a request to fetch client information per request in the database. This increases the application's given privileges and revoking privileges performance by 25%.

Trained, improved, and implemented Google Dialogflow intents to improve customer interaction with Fela's chatbot by 56%.

Implementing direct USSD integration with telecommunications resulted in a 23% reduction in service costs.

Configuring site-to-site The VPN infrastructure also improves things like bandwidth and efficiency by 38%. Better performance is something no Internet user would ever argue with.

Automated Testing, we make our code do some unit and integration testing. We set up our CI pipeline with a test, build, and dev-deploy jobs, which are meant to run unit and integration tests, if passed, then build to generate a deployable project, and then deploy to the dev environment so as to enable QA or developers to test before pushing to master/main or release branch. We use the CI/CD platform Github Action.

AWS S3. We archive old CashToken customers' gifting data in the database that has a size of 10 million records or more and store it as an object in S3 buckets. We encrypt the records before upload, specify the version control, and also named the records with the client id and date-time, in order to avoid overriding the data. Using S3 to backup outdated data improves the database's speed and efficiency in terms of updating and reading. When a customer requests records for an analysis report, we extract data from buckets.
Be a strong contributor, working with product management, engineering, and QM partners to identify solutions, contributing to the overall design, proof-of-concept development, technical strategy, and coordinating with external teams and vendors.
lead a team of software developers in the creation of applications for clients such as reward systems, fanatic-as-a-service, message-as-a-service, financial accounting-as-a-service, eWallet-as-a-service, Chatbot-as-a-Service, and so on.
Actively participate in all phases of the Agile Development process, including defining, design, development, testing, deployment, and support.
Implemented header authentication with JWT and public and private key pairs, bearer with signature hash using SHA512 and IP whitelisting.
Implemented the Central Notification-as-a-Service with the Queue “Kue” background worker, which processes the message request based on priorities and reprocesses failed messages based on the number of attempts designated by the client. 
implemented Ipionts  Fanatical-as-a-Service cash back and buck-gifting batch processes were first designed using the divide and conquer approach with a cron job to fire the processes. It was later improved by distributing the tasks among the workers using RabitMq.
Achieved an unbias draw engine sorting system by generating a random permutation of a finite sequence and implementing a CashToken draw engine using the Fisher-Yates shuffle algorithm.
implemented Futterwave Payment Gateway integration, which allows clients to purchase Ipoints products as well as subscribe to insurance services.
Using AfricasTalking USSD eWallet-as-a-service to implement Ipoints transfer, wallet balance checking, voucher redemption, and other features.
Exposing instant report analysis endpoints using the GraphQL-Apollo-Server library.
Write a test case that covers bolt functionalities and API endpoints, using jest and supertest.
Validate all incoming API requests using the Joi library.
Managing and integrating Third-Party systems or services.
Development and implementation of CI/CD pipelines.