Work Experience

Professional career history and key achievements across various roles and companies

Senior Full Stack Software Engineer
Contactable
1 October 2024 to 29 August 2025

Description:

Engaged as a Senior Full Stack Software Engineer. Tasks included:

  • Development and maintenance on a large and complex network of controller based ASP.NET REST APIs.

  • Development of large Postman collections to test ASP.NET REST APIs, as well as Postman environments to provide suitable test values for endpoint. Some collections had over 60 requests.

  • Using Postman single queries and collection runs to test from single to many API endpoints.

  • Maintenance on complex, multi-project startup configurations that allowed APIs to run simultaneously on a local machine versus GKE (Google Kubernetes Engine). Many APIs depended on others being available, which sometimes made this task quite complex.

  • Debugging of complex problems that sometimes involved external service provider APIs outside of our control.

  • Deployment of ASP.NET APIs to GKE.

  • Administration and querying of several Cassandra databases hosted locally on Docker or on GKE.

  • Management of source code version control via Atlassian BitBucket.

  • Administration of assigned work tickets via Atlassian JIRA.

  • Maintaining availability while working from home via Slack, over 5G and backup mobile data.

Senior Software Engineer

LexisNexis

Sep 2022 to Sep 2023

Description:

Engaged as a senior software engineer. Tasks included:

  • Development of new features on a large and complex product that comprises multiple services, micro-services, and micro-frontends, hosted on AWS and Azure cloud infrastructures.

  • Maintenance and development on Angular components and services for micro-frontend client applications.

  • Maintenance and development on ASP.NET REST API backend for frontend (BFF) applications, also known as feature peers.

  • Complex debugging of Angular client applications that required multiple back and front-end components running simultaneously on production, QA, and local machine environments.

  • Administration of user stories and work items in Azure DevOps.

Reason for leaving: I wanted to explore roles allowing more freedom in improving the development process and less focus on coding only.

Senior Engineer

XI Systems

Jul 2018 to Aug 2022

Description:

I worked on the ITIS Web application developed for the South African National Roads Agency (SANRAL). Its functions included:

  • Capture of bridge inspections.

  • Traffic data collection.

  • Toll information collection.

  • Property information management.

  • Capture of incident reports and job instructions on road maintenance projects.

  • Capture of all employment and purchasing details for these projects.

Tasks included:

  • Designed, developed, and tested web UI and backend using ASP.NET MVC and jQuery.

  • Designed and developed Windows Forms UI and backend.

  • Designed and developed Oracle and SQL Server databases.

Reason for Leaving: I preferred to find a position where I would be allowed to work from home in an emergency situation, such as temporarily being without transport, and just a little flexibly regarding general office hours.

Software Engineer

Qaits

Aug 2015 to Mar 2016

Description:

Engaged as a software engineer. Tasks included:

  • Maintenance tasks on a large CRM system developed by Marvel, UK

  • Technologies used included ASP.NET Web Forms, JavaScript, HTML, and CSS for design.

Reason for Leaving: I needed more room for skills development and career growth.

Freelance Software Engineer

Applogix

May 2015 to Jun 2015

Description:

Engaged as a freelance software engineer I was tasked with the following:

  • Work on a small, cross-platform system for life assurance quotations on mobile devices

  • Technologies used were JavaScript, Angular, and HTML.

Reason for Leaving: It was a temporary, freelance position and I was no longer required.

Freelance Software Engineer

Self Employed

July 2014 to March 2015

Description:

I was engaged as a software engineer in various projects. A highlight was:

  • I developed an advanced information transfer system that gathered messages from a mobile capture service called Canvas and converted them into inputs for a web API for Private Property. This allowed real estate listings captured on Canvas to be integrated into Private Property's Property Search service.

  • Technologies I used included a Windows Service written in C#, a WCF service for message retrieval, and a complex mapping system to adapt message content for the Private Property web API.

Reason for Leaving: I had an opportunity for a role with more career growth.

Software Engineer

G4S Secure Systems

July 2013 to July 2014

Description:

Engaged as a software engineer, my tasks included

  • Development of in-house ASP.NET MVC applications.

  • Development of a WPF rewrite of a legacy Delphi application. Extensive use of Prism framework and MVVM architecture.

Reason for Leaving: Needed a position with more technical scope.

Freelance Software Engineer

Self Employed

August 2009 to July 2013

Description:

I engaged in various project that included:

  • Maintenance of ASP.NET intranet application for advertising media house. Extensive use of JavaScript and jQuery.

  • Development and maintenance on an ASP.NET call logging intranet application for the South African CSIR.

  • Development of a production KPI reporting application for Nkomati Nickel Mine.

  • Development work on various websites using ASP.NET MVC3/4 with Razor, SQL Server 2005/2008/2012 and jQuery.

  • Skills most applied were C#, SQL Server 2005, ASP.NET, and JavaScript (jQuery library).


Reason for Leaving: I was not working through an agency and experienced difficulty securing regular and well-paying work.

Software Engineer

Chase Software

September 2006 to July 2009

Description:

Development and maintenance on a successful intranet application used by advertising agencies for management of their business. Work included the following tasks:

UI design on ASP.NET front-end, using extJS framework for layout and UI processes

  • Development of ASP.NET web front-end, using ASP.NET, JavaScript, and extJS framework.

  • Troubleshooting and bug fixing on the JavaScript/extJS front-end.

  • Design and development of a generic accounting export application, including a WinForms based GUI file format designer.

  • Skills most applied were C#, SQL Server 2005, ASP.NET.

Reason for leaving: I was being offered a lot of freelance work and decided to take a break and experiment with freelance work.

Senior Software Engineer

FNB Homeloans

September 2004 to August 2006

Description:

I was engaged as a senior software engineer. Tasks included:

  • Development, maintenance, and support on various gateway systems interfacing with business partners and clients and receiving electronic home loan applications from mortgage originators. This included the gateway component that received applications from the system I helped develop for Comcorp Online earlier in my career.

  • Extensive troubleshooting, support, and communications with stakeholders.

  • Corrective maintenance on a VB6 and ASP messaging interface.

  • Extraction of complete technical specifications from existing VB6 interface.

  • Re-write of this interface in C#, using COM+ transactions and COM interop with existing VB6 components.

  • Development of an automated FTP transfer application using Microsoft Distributed Transaction Coordinator.
    Skills most applied were C#, VB6, and SQL Server 2000.

    Reason for leaving: I had the opportunity to play a leading role in a startup.

Software Engineer

I-Com IT

February 2003 to August 2004

Description:

Design and development of real estate management applications. Tasks included:

  • Oversight and implementation of large-scale data import, export, and cleansing operations.

  • Development and maintenance of communications with external systems.

  • National publication and deployment of applications and data updates.

  • Participated in OO design team (almost pure UML modelling) for the development of a VB.NET application for a national real estate network.

  • Development of own supporting tools in C# to ease migration from the client’s previous MS Access system to the new one, including several import automations with foreign key updates, and a semi-intelligent address cleaning tool to assist the import of address data.

  • Extensive troubleshooting of the client’s head office MS Access system during the development and rollout of the new system.

  • Development of automated installation package in C#, including setup and initialization of MSDE database.

  • Development of an automated SQL backup transfer application in C# for a private client.

Reason for leaving: I had an opportunity for a role with more scope for career growth at FNB Home Loans.

Consultant Software Engineer

Comcorp Online

November 2000 to January 2003

Description:

I played a leading role in the startup that pioneered online real estate management and mortgage origination online home loan applications.

  • Lead developer in the design and implementation of one of the first real estate management systems in South Africa, used in over two hundred offices countrywide.

  • Lead developer in the design and implementation of one of the first electronic home loan application and tracking systems in South Africa, used by most local mortgage origination companies.

  • Various other development and maintenance tasks.

  • This position required extraordinarily strong and highly technical VB6 and SQL Server 2000 skills, ASP, with background XML.

  • While at Comcorp I taught myself C# in my own time, through work on several experimental, private projects.

Reason for leaving: I was a consultant commissioned to get the project off the ground and mentor the permanent junior developers. I left because I had fulfilled this brief; the project was live, and the permanent staff were quite competent to continue their own.

Consultant Engineer

Siemens

March 1997 to October 2000

Description:

Consultant ABAP/4 engineer. Tasks included:

  • Maintenance and development on various SAP applications.

  • Maintenance and development on external interfaces to SAP.

  • Skills applied were ABAP/4, MS Access, and VB6.

  • Achieved SAP Developer Certification with 7 full certifications.

Reason for leaving: I offered a position with a lot more responsibility with the exciting new start-up, Comcorp Online.

Radio Technician

South African Air Force

April 1988 to December 1996

Description:

I served a three year apprenticeship for a radio technician role, and then after qualifying, another six years which saw that role expand into a more general telecommunications technician role. Duties included:

  • Maintenance and installation of telephone installations and networks.

  • Management and repair of key SAAF radio systems.

  • Maintenance of Ethernet LAN equipment and cabling.

  • Acquired initial development experience with limited VBA and Clarion applications.

Reason for leaving: A career change from telecommunications technician to software engineer after completing my Diploma Datametrics at UNISA.