Web Developer2017 - PRESENTMine Tech Services
Technologies: Leaflets, SQL
- Created an interactive mapping website to visualize the data generated by mining vehicles on open pit mines. Includes near-real-time animations of the entire fleet as well as numerous features to understand health events, site inspections, speeding incidents, etc.
- Created a data management component using C# to easily manage Ajax calls from a website to a SQL database.
- Designed normalized SQL data structures to handle the interactions on the website and to facilitate reporting.
- Created a user management module to secure the site and ensure that user activity can be reliably reported on.
- Created a task management module where work requests can be made from the interactive map and distributed to the right people. Includes all the features needed to manage tasks from beginning to end.
- Created an administration application to manage the users and the security context.
- Created a highly interactive dashboard using D3 to visualize the complex data returned by the transponders on mining equipment.
C# Engineer2019 - 2019Bula Law
- Supported a MVC application for Bula Law written in C#.
- Added new features such as tree structures to display company offerings.
- Managed virtual machines using the Azure interface.
- Worked with the integrated VS Azure source control to manage versions and deploy to Dev and Prod.
C# .NET Engineer2019 - 2019Bula Law
- Made numerous enhancements to an existing MVC web application.
- Created SQL scripts to manipulate complex data without losing integrity for bulk user activity.
- Performed system admin tasks on Azure portal.
Qlik Sense Expert2019 - 2019Bula Law
- Created an app to query an Azure SQL database via a C# API with various end points. I passed credentials to the appropriate connector to get an access token and then applied this to the post body of the subsequent HTTP requests to the API. This could only be done by coding in the load script. The retrieved data was then used to incrementally populate a bunch of QVD files which I designed in accordance with the visualization requirements.
- Built a load script to use Qlik Sense SQL to process the QVD raw data in ways required by the visualization. Some tricky workarounds were required because Qlik Sense does not support SQL window functions such as Rank().
- Created an SVG extension with D3 in order to satisfy a mapping requirement of Bula's, apart from putting together the basic building blocks for Bula to expand upon the charts I created.
- Managed the licensing, publishing, security, and task scheduling to create a fully automated system that gets updated every day.
- Built the ETL in a robust way so that any failures were handled without loss of data or the need for interventions.
D3 Developer2018 - 2018University of Colorado
- Created a data visualization using D3 that simulated a lava lamp effect.
- Created geographical data visualization using D3.
- Integrated D3 modules with React.
- Modified an exiating API to access MongoDB with Node.js.
- Used Git.
SQL/Crystal Reports Developer2017 - 2018Space Machine & Engineering Corp (via Toptal)
Technologies: SQL Server, Crystal Reports
- Created a Crystal Report with dynamically extendable columns for export into Excel.
- Created an SQL stored procedure to pivot data dynamically based off the Crystal Report parameter selections to support the report above.
- Created a number of Crystal Reports to be embedded within the E2 Shop software.
- Liaised with the E2 support staff to overcome limitations in the E2 Crystal integration.
Engagement Manager2014 - 2016Decision, Inc.
- Created visualization extensions for SAP Lumira using D3.js.
- Created a maintenance-free table-driven ETL system using MS SQL Server linked servers. Deployed to four different clients with differing requirements.
- Created a SQL-based table-driven workflow rules engine to manage assets for a bank. Created the dynamic front-end in Flash player with AS3.
- Created a BI system for an online movie download site using PostgeSQL for the back-end, ETL, and data warehouse, and Tableau for the front-end visualizations.
- Created numerous extensions for Xcelsius with AS3 and HTML5. These extensions were used to create a multitude of dashboards for a wide selection of clients.
- Satisfied the data visualization requirements of a multitude of different clients. This included database design, ETL, report writing, and data visualization.
Senior BI Consultant2009 - 2014Asyst Intelligence
- Modeled a dimensional data warehouse for an asset management company. Used SSIS for the ETL and SAP Business Objects to visualize and report the data.
- Created a geo-spatial dashboard system capable of rendering huge amounts of spatial data rapidly. Points changed shape, size, and color in response to questions asked of the data embedded within the KML. Shapes changed color and lines changed width, color, and style in response to questions.
- Gathered the requirements, created the ETL, designed and developed the data warehouses when required, wrote the reports, and satisfied the data visualization requirements of a wide variety of clients. Created dashboards on a daily basis.
SQL Technical Lead2006 - 2009Massana Technologies
Technologies: MS SQL Server, DTS
- Initiated and developed a system to manage the data transformations from the legacy “Venus” system to the new SAP system being developed by the city of Johannesburg. The system was required to process 30 TB of data in a limited window.
- Created applications to manage the extracts coming from the city, to manage the loading of data into SAP and to give an online view of all activity to the business on demand.
- Created a system to generate the purification logs to enable the city to identify data requiring purification.
- Did extensive data analysis to help all areas of the project to better understand the data and issues surrounding it. This includes an automated system to request and return test data for the testing team.
- Served as acting project manager for data for a couple of months until a SAP specialist was recruited.
Independent Contractor2006 - 2006Alexander Forbes Insurance
Technologies: VB6, VB.NET, MS SQL Server
- Developed a self-contained component for integrating the quoting system with a large brokerage.
- Wrote a .NET version and wrote a migration script for another project.
Majority Shareholder2002 - 2005Nedbank (client of Comvision)
Technologies: MS SQL Server, VB6, VB.NET, ASP
- Wrote three modules for the collection system at Peoples Bank: a module to manage third-party external trace companies, a module to manage third-party attorneys, and a module to manage the handling of write-offs for the bank. All the modules were built on the FLUX framework which was developed by myself for Comvision.
- Hired to give guidance to the MIS department at Peoples Bank. After automating the manual procedures in place and developing structures to generate and distribute reports throughout the organization, I negotiated a deal whereby Comvision supplied and managed resources to develop software for Peoples Bank.
- Oversaw the development and implementation of a collections system and an up-front segmentation system. Both systems leverage the intranet for the user interface and utilized the RDMS SQL Server to protect the data and enforce business rules. Both systems have become mission critical and are an integral part in the success of Peoples Bank. The credit checking system is responsible for assessing and processing loan applications. It comprises an out-of-process component to asynchronously query the Experion database and a system of parameter tables to manage application scoring and ensure a dynamic environment essential to the business.
- Created the debt collection system using a product called Flux, which is the property of Comvision and is a unique framework capable of developing complex workflow systems in a relatively short space of time. Flux excels at enforcing business rules for organizations whose business rules change frequently and sometimes dramatically.
Independent Contractor2000 - 2000ICS (UK-based Microsoft Service Provider)
Technologies: VB6, Image Basic, MS SQL Server
- Contracted out to the Drug Safety Research Unit (D.S.R.U.) on behalf of ICS. The D.S.R.U. maintains a database of medical case studies in an attempt to spot long term side effect in drugs.
- Created a workflow system to manage the input of data into the database. Because of the difficulty in deciphering the handwriting of those in the medical profession, the actual documents were scanned into the system and stored on the database. We used a product called Image Basic to allow users to zoom into and out of the stored images in order to decipher the handwriting and keep track of all the notes scribbled in the margins.
- Produced a series of stored procedures, which extracted the data and images for publication.
- Created a series of GUI screens to maintain static data and data relationships.
- Identified ways of speeding up the workflow system especially with regard to uploading large images. I eliminated unnecessary processing and significantly improved performance on both the front and back ends.
- Mentored the head of the DP department.
Independent Contractor1999 - 1999Harrods, Ltd.
Technologies: VB6, MS SQL Server, MS Access
- Eliminated deadlocks from the Harrods Sales Audit System arising from replication conflicts.
- Wrote a management reporting system to produce formatted reports and distribute them throughout the organization via an exchange server integrated with MS Outlook. The scheduler was written in VB and the reports were formatted in MS Access and distributed via Microsoft Exchange.
- Wrote a fully transactional cash management system to reconcile actual cash collected with expected trade. The bulk of the work involved writing stored procedures in SQL with some DBA work involving replication.
- Optimized SQL queries.
Independent Contractor1998 - 1999Honda UK
Technologies: VB5, Microsoft Transaction Server, MS SQL Server
- Created ActiveX components for the Honda Company Cars system, primarily all of the overnight scheduled tasks managing feeds from a mainframe system and a back-end module of stored procedures to validate vehicle documentation for accounting purposes.
- Created a report writing system making use of the Excel object.
Independent Contractor1994 - 1997Automobile Association of South Africa
Technologies: VB5, MS SQL Server, PRO IV
- Analyzed, designed, developed, and implemented a claim processing system for the AA.
- Trained staff to maintain systems written by myself prior to my leaving.
- Customized a product called Customer Ixchange for the launch of a new product within the AA.
- Analyzed, designed, developed, and implemented a call taking and vehicle dispatching system for the AA’s new state-of-the-art call center. The system integrated with a trunk radio network to communicate between the vehicles in the field and the control center.
- Analyzed a new membership system. Maintained and converted PRO IV-based software to SQL Server 6 and Windows NT 3.5.
Systems Analyst and Programmer1988 - 1992Huw Edwards Computer Systems
Technologies: Computer Systems
- Analyzed, designed, developed, and implemented a claim processing system for the Rand Mutual Assurance Company. During this time, I was hired out by Huw Edwards Computer Systems on a contractual basis to write the Rand Mutual System.