ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Felix Wanjala Wambulwa
Bridge International Academies Past Work/Projects Portfolio
Date: Jan 2011 – April 2013:
Role(s): Software Development Manager and Software Quality Assurance Lead.
Involved in managing new developments and maintenance of various Bridge in-house software by an
internal software team, consultants and an offshore team. The following are the main projects/
products that I worked on:
A) Student Billing System: This system handled incoming payments for academy fees from Equity
Bank and MPESA, generation of bills for students, SMS notifications of changes in student billing
status to parents /Guardians and processing of incoming bill queries for student billing issues
from field staff. The Student Billing System had a main operator interface to the system known
as BridgeManager which staff at Headquarters used to query the system on various billing issues
from the field. Processing of data from Equity Bank and MPESA was handled by the Payment
Processor (see below).
Environment: MS SQL 2008, .Net
Accomplishments:
i) Guiding the team in developing a robust in-house billing system that is ever changing
given that the organization is a startup compounded with the nature of our clients who
are spread across the country in over 140 academies currently operational and
ii) Spearheading the team to develop a scalable and efficient system providing billing
services to over 50,000 pupils without affecting system performance given that the
students are billed monthly.
B) Payment Processor: All incoming payments received from Equity Bank or MPESA to the Bridge
accounts were parsed and added to the Bridge database for reconciliation with other systems so
that student accounts are up to date. The payment processor also runs scheduled jobs - bill
generation and automated mailing of reports. The jobs and their respective schedules were set
up in the Bridge Manager application discussed above.
Environment: MS SQL 2008, .Net
Accomplishments:
i) Leading the team in development of an efficient payment matching algorithm using
known search algorithms like Solr. This led to efficient auto matching of payments in the
system from payments for both Equity and Safaricom’s m-pesa service
C) Academy Expense System : This handled requests for payments to vendors at the academies
which are normally requested via the smartphone application i.e. the Android Academy
Manager Application (see below). The Academy manager sent requests for payment to a vendor
that includes the vendor name, phone number, amount to pay and the budget category for the
payment. The system then put the request into SugarCRM where a user in Academy Operations
at HQ approved/disapproved the request. Requests were checked against academy budget
limits and lists of approved vendors and appropriate warning messages were generated. Once
approved, payments were made to the vendor by MPESA using the MPESA Robot. The payment
request logic of the system was part of the router (see below) while the User Interface for
budgets, vendors and approvals was a custom module for SugarCRM.
Environment: MS SQL 2008, .Net, PHP, My SQL
Accomplishments:
i) As this was a backend system and cannot afford downtimes, I ensured that the system
downtimes were quickly flagged by introducing automatic system status checks every so
often that send notifications to the development team and thus resolving issues
promptly.
D) Academy Payroll System: This handled payroll for both academy managers and teachers at the
academies. Academy Managers recorded teacher attendance arrival and departure times for
every teacher at their academy using the Android Academy Manager Application. This was then
consumed by logic on the router (see below) on deducting their pay depending on whether they
are late or if they left early. A user from academy operations then logged in to SugarCRM to
view all the deduction amounts and approve/disapprove/modify each one. They also were able
to add additional deductions for leave as well as bonuses. Once approved the system generated
a CSV file to be uploaded to MPESA for payment. The deductions logic of the system was part of
the router (see below) while the User Interface for approvals, teachers and CSV generation was
a custom module for SugarCRM.
Environment: MS SQL 2008, .Net, PHP, My SQL
Accomplishments:
i) Ensured that all academy staff i.e. over 1800 are paid on time as scheduled and this
runs with minimal interruptions for the 2 payroll runs every month i.e. mid and end
month.
E) Router: The router was the link between incoming requests for academy payroll and academy
expenses, SugarCRM, Navision and the MPESA Robot. It acted as a local cache for data from
SugarCRM and Navision. It pulls the data needed by the Academy Expense System and Academy
Payroll Systems from Navision and SugarCRM and stores it in a database. The router also
handled making and verifying outgoing MPESA payments using the MPESA Robot.
Environment: MS SQL 2008, C#/.Net
F) MPESA Robot : With no API for making payments from MPESA we developed and used an
MPESA robot to automate the MPESA website make and verify payments. The robot opened a
web browser and simulated clicking on the appropriate buttons. Because this involved showing
the browser on the screen we run it under a separate Windows login so that it does not
interfere with what a human user is doing on the screen.
Environment: MS SQL 2008, C#/.Net
Accomplishments:
i) Proposed and managed development of ensuring that payments are uploaded given a
specified schedule and also heavy batch payments are uploaded at mid-night as the
mpesa system was erratic during the day
G) Android Academy Manager Application: This was a smartphone application for Academy
Managers. It allowed them to manage their academies, E.g., it allowed Academy Mangers to
register students, view class lists, manage students by marking them as absent and moving them
between classrooms and manage student payments, manage all academy expenses including
payment requests to vendors, report and manage teacher performance and payroll, report and
track issues at academies. In summary the Android Academy Manager Application was the
Academy Manager’s personal planner and task manager.
Environment: MS SQL 2008 C#/.Net, Java and Android
Accomplishments:
i) Spearheaded design and development of efficient and robust synching of the
application to Headquarters and Nook Tablet and Academy manger application as the
device running the academy application acted as a hotspot. Part of the synchronization
was by ensuring that synchronization is triggered early in the morning at 2:00 a.m. as
some of our academies are in areas with connectivity issues.
ii) Setup a support team at Headquarters to deal with issues for the field that were
frequently asked by using a Frequently Asked Questions (FAQ) document.
iii) Managed and deployed frequent upgrades from headquarters to over 140 smartphone
devices in the field with minimum support that run the 140 academies.
H) Nook Android Classroom e-reader Application – (Teacher Technology): This was an android
application for teachers that run on the Nook tablets. It allowed teachers to manage their daily
class schedules on a minute by minute basis by displaying scripted lessons, record attendance
and assessment scores and track lesson pacing and pupil comprehension. All the above was then
monitored from headquarters as the teachers are required to sync all this information to
Headquarters on an n ongoing basis as the day progresses. Just like the Android Academy
Manager application, the Nook Android Classroom e-reader application is a teacher’s personal
planner and task manager for the day.
Environment: MS SQL 2008 C#/.Net, Java and Android
Accomplishments:
i) Managed and deployed frequent upgrades from headquarters to over 1500 tablets in
the field with minimum support
ii) Designed and managed development of a training environment for the Android
smartphone and nook tablet application that has dynamic content and is user centric
leading to easier training by the training team.
iii) Managed a team of both in-house and offshore developers to develop the system in 3
months for a successful launch in Jan 2013 to over 140 academies and over 1500
teachers spread all over Kenya who were all new users to the device and system
I) Microsoft Dynamics Navision: Bridge International Academies ran Microsoft Dynamics Nav ERP
to manage the bulk of the HQ based functions, I managed both in-house and outside consultants
to enable the organization effectively deploy, maintain and extend the System. These led to
customization of the following modules:
ï‚· Financial management
ï‚· Accounts payables & receivables (customers & vendors)
ï‚· Human Resource & Payroll management
ï‚· Warehouse management
ï‚· Jobs module Procurement & Inventory
Accomplishments:
i) Spearheaded integration of the Navision system and the academy expense systems to
ensure that expenses spent at the academies were posted real time ensuring efficient
and up to date reporting.

More Related Content

Felix Wanjala Wambulwa - BIA Past Projects Portfolio

  • 1. Felix Wanjala Wambulwa Bridge International Academies Past Work/Projects Portfolio Date: Jan 2011 – April 2013: Role(s): Software Development Manager and Software Quality Assurance Lead. Involved in managing new developments and maintenance of various Bridge in-house software by an internal software team, consultants and an offshore team. The following are the main projects/ products that I worked on: A) Student Billing System: This system handled incoming payments for academy fees from Equity Bank and MPESA, generation of bills for students, SMS notifications of changes in student billing status to parents /Guardians and processing of incoming bill queries for student billing issues from field staff. The Student Billing System had a main operator interface to the system known as BridgeManager which staff at Headquarters used to query the system on various billing issues from the field. Processing of data from Equity Bank and MPESA was handled by the Payment Processor (see below). Environment: MS SQL 2008, .Net Accomplishments: i) Guiding the team in developing a robust in-house billing system that is ever changing given that the organization is a startup compounded with the nature of our clients who are spread across the country in over 140 academies currently operational and ii) Spearheading the team to develop a scalable and efficient system providing billing services to over 50,000 pupils without affecting system performance given that the students are billed monthly. B) Payment Processor: All incoming payments received from Equity Bank or MPESA to the Bridge accounts were parsed and added to the Bridge database for reconciliation with other systems so that student accounts are up to date. The payment processor also runs scheduled jobs - bill generation and automated mailing of reports. The jobs and their respective schedules were set up in the Bridge Manager application discussed above. Environment: MS SQL 2008, .Net Accomplishments: i) Leading the team in development of an efficient payment matching algorithm using known search algorithms like Solr. This led to efficient auto matching of payments in the system from payments for both Equity and Safaricom’s m-pesa service
  • 2. C) Academy Expense System : This handled requests for payments to vendors at the academies which are normally requested via the smartphone application i.e. the Android Academy Manager Application (see below). The Academy manager sent requests for payment to a vendor that includes the vendor name, phone number, amount to pay and the budget category for the payment. The system then put the request into SugarCRM where a user in Academy Operations at HQ approved/disapproved the request. Requests were checked against academy budget limits and lists of approved vendors and appropriate warning messages were generated. Once approved, payments were made to the vendor by MPESA using the MPESA Robot. The payment request logic of the system was part of the router (see below) while the User Interface for budgets, vendors and approvals was a custom module for SugarCRM. Environment: MS SQL 2008, .Net, PHP, My SQL Accomplishments: i) As this was a backend system and cannot afford downtimes, I ensured that the system downtimes were quickly flagged by introducing automatic system status checks every so often that send notifications to the development team and thus resolving issues promptly. D) Academy Payroll System: This handled payroll for both academy managers and teachers at the academies. Academy Managers recorded teacher attendance arrival and departure times for every teacher at their academy using the Android Academy Manager Application. This was then consumed by logic on the router (see below) on deducting their pay depending on whether they are late or if they left early. A user from academy operations then logged in to SugarCRM to view all the deduction amounts and approve/disapprove/modify each one. They also were able to add additional deductions for leave as well as bonuses. Once approved the system generated a CSV file to be uploaded to MPESA for payment. The deductions logic of the system was part of the router (see below) while the User Interface for approvals, teachers and CSV generation was a custom module for SugarCRM. Environment: MS SQL 2008, .Net, PHP, My SQL Accomplishments: i) Ensured that all academy staff i.e. over 1800 are paid on time as scheduled and this runs with minimal interruptions for the 2 payroll runs every month i.e. mid and end month. E) Router: The router was the link between incoming requests for academy payroll and academy expenses, SugarCRM, Navision and the MPESA Robot. It acted as a local cache for data from SugarCRM and Navision. It pulls the data needed by the Academy Expense System and Academy
  • 3. Payroll Systems from Navision and SugarCRM and stores it in a database. The router also handled making and verifying outgoing MPESA payments using the MPESA Robot. Environment: MS SQL 2008, C#/.Net F) MPESA Robot : With no API for making payments from MPESA we developed and used an MPESA robot to automate the MPESA website make and verify payments. The robot opened a web browser and simulated clicking on the appropriate buttons. Because this involved showing the browser on the screen we run it under a separate Windows login so that it does not interfere with what a human user is doing on the screen. Environment: MS SQL 2008, C#/.Net Accomplishments: i) Proposed and managed development of ensuring that payments are uploaded given a specified schedule and also heavy batch payments are uploaded at mid-night as the mpesa system was erratic during the day G) Android Academy Manager Application: This was a smartphone application for Academy Managers. It allowed them to manage their academies, E.g., it allowed Academy Mangers to register students, view class lists, manage students by marking them as absent and moving them between classrooms and manage student payments, manage all academy expenses including payment requests to vendors, report and manage teacher performance and payroll, report and track issues at academies. In summary the Android Academy Manager Application was the Academy Manager’s personal planner and task manager. Environment: MS SQL 2008 C#/.Net, Java and Android Accomplishments: i) Spearheaded design and development of efficient and robust synching of the application to Headquarters and Nook Tablet and Academy manger application as the device running the academy application acted as a hotspot. Part of the synchronization was by ensuring that synchronization is triggered early in the morning at 2:00 a.m. as some of our academies are in areas with connectivity issues. ii) Setup a support team at Headquarters to deal with issues for the field that were frequently asked by using a Frequently Asked Questions (FAQ) document. iii) Managed and deployed frequent upgrades from headquarters to over 140 smartphone devices in the field with minimum support that run the 140 academies. H) Nook Android Classroom e-reader Application – (Teacher Technology): This was an android application for teachers that run on the Nook tablets. It allowed teachers to manage their daily class schedules on a minute by minute basis by displaying scripted lessons, record attendance
  • 4. and assessment scores and track lesson pacing and pupil comprehension. All the above was then monitored from headquarters as the teachers are required to sync all this information to Headquarters on an n ongoing basis as the day progresses. Just like the Android Academy Manager application, the Nook Android Classroom e-reader application is a teacher’s personal planner and task manager for the day. Environment: MS SQL 2008 C#/.Net, Java and Android Accomplishments: i) Managed and deployed frequent upgrades from headquarters to over 1500 tablets in the field with minimum support ii) Designed and managed development of a training environment for the Android smartphone and nook tablet application that has dynamic content and is user centric leading to easier training by the training team. iii) Managed a team of both in-house and offshore developers to develop the system in 3 months for a successful launch in Jan 2013 to over 140 academies and over 1500 teachers spread all over Kenya who were all new users to the device and system I) Microsoft Dynamics Navision: Bridge International Academies ran Microsoft Dynamics Nav ERP to manage the bulk of the HQ based functions, I managed both in-house and outside consultants to enable the organization effectively deploy, maintain and extend the System. These led to customization of the following modules: ï‚· Financial management ï‚· Accounts payables & receivables (customers & vendors) ï‚· Human Resource & Payroll management ï‚· Warehouse management ï‚· Jobs module Procurement & Inventory Accomplishments: i) Spearheaded integration of the Navision system and the academy expense systems to ensure that expenses spent at the academies were posted real time ensuring efficient and up to date reporting.