Biography

I'm a senior software engineer with over 15 years of experience working with PHP, Python and Go programming languages developing web applications, APIs and microservices.

I have an interest in Internet of Things (IoT) and like to dabble in home automation. I really like Flutter and the Dart programming language and am currently developing these skills.

I've worked as a full-stack developer in the Geographic Information Systems (GIS) and Information and Communication Technology (ICT) sectors, working on and maintaining a variety of systems written in PHP, Python and Java built with MySQL and PostgreSQL databases and using Github and GitLab to version source code.

Over the years I've been required to perform SysAdmin, DBA and DevOp tasks, such as setting-up Ubuntu servers, configuring, backing-up, restoring and migrating MySQL databases, as well as registering and managing DNS records.

I'm an advocate for quality code over lines of code. I'm not a big storybook reader, but I’m a big fan of Robert C. Martin’s “Clean Code”, “The Pragmatic Programmer” by Andy Hunt and Dave Thomas and “12 Rules for Life: An Antidote to Chaos” by Dr. Jordan B Peterson.

I love gadgets and technology. I favor open-source technologies. I believe technology can change the world, however it should do so without taking over. It should simplify life without getting in the way.

I believe simpler is better. I like sharing my knowledge and experience as well as learning from others. I'm not afraid to take the lead when the situation calls for it.

When I take a break from tech I enjoy being active and challenging myself physically and mentally. I have completed several multi-day mountain bike stage races, a 12-hour solo mountain bike race, a 100+ Mile Gran Fondo as well as an Ironman 70.3 triathlon.

Education

University of Pretoria

A four-year programme integrating the different disciplines related to information technology, including Computer Science, Informatics and Information Science. Subjects include Data Structures and Algorithms, Design Patterns, Mathematical Modelling, Computer Networks, Computer Graphics, Systems Analysis and Design, Statistics, Accounting, Business Management & Law and Philosophy to name a few. The fourth year includes a six-month learnership with participating organisations where students are employed as trainees. Read more...

Experience

Software Engineer

Oct 2018 - Sep 2019
Self-Employed, Pretoria

I'm currently working as an independent software engineer, building software solutions for client using the skills and technologies I've mastered over the past decade.

Projects: Swordfish Debtor Login, Delta BEC Web Frontend

Developer

Apr 2013 - Sep 2018

Developing one of South Africa's leading online Debt Collection Software. We serve clients in the retail, banking and collections industries.

We do Test-driven development and all code is reviewed by at least one other team member before it's merged into master. My primary role is Developer, but I've also been involved in setting up web and database server infrastructure, configuring MySQL replication, recovering databases from binary logs, setting up CI/CD and merging databases.

I assist where I'm needed. Anything from interviewing candidates to arranging for a new coffee machine and fixing the magnetic lock on the office door. I also served as part of a technical committee which was responsible for technical design decisions.

Projects: Swordfish & Services Framework

Senior Developer

Feb 2012 - Mar 2013
Bridge South Africa, Pretoria

Acting as technical lead and developer building a web and mobile loan application portal using CakePHP and integrating with the company’s in-house loan origination system.

Projects: Bridge Loans/Loan Buddy and Bridge Recruit

Web Mobile Developer

Sep 2009 - Feb 2012
AfriGIS, Pretoria

Developing custom solutions including branch locators, IVR systems, USSD systems, mobile- and websites that make use of Location-based Services, SMS, Weather and Traffic integrations using Java and PHP.

Projects: Branch Locators, Weather & Traffic

Developer

Jan 2008 - Sep 2009
Luuk ICT, Pretoria

Developing a real-time vehicle tracking/fleet management system using PHP, Javascript, Java and MySQL ons a custom Javascript-based web framework.

I worked in R&D and built POCs for a Document Tracking system, J2ME-based tracking application and processing spacial-data files.

Building a new in-house Web 2.0 framework in PHP.

Projects: Document Tracking, GPS-Tracking Solutions

Projects

Swordfish Debtor Login

Nov 2018 - Sep 2019

Developed a responsive, mobile friendly site where debtors can view their accounts, make payment arrangements and contact debt collectors. The site was also updated to replace the old login page with a One-Time Password (OTP) based login. The site was built using PHP, MySQL, Bootstrap4, SASS, HTML, Javascript.

Delta BEC Web Frontend

Nov 2018 - Nov 2018

A responsive web interface for browsing folders and editing JSON-based configuration files. This project was built using Python, Flask, Bootstrap4 and delivered with bash scripts for installing the required dependencies which included nginx, WSGI, Gunicorn, Supervisor and a rsync script to sync with multiple Raspberry Pi devices.

Swordfish & Services Framework

Apr 2013 - Sep 2018

Swordfish is a web-based debt-collection system developed using PHP, MySQL, Javascript, HTML, CSS, PropelORM and Memcached. The system allows users to manage Debtors and keep track of communication (SMS, AVM, Email, Phone, Letters etc.) as well as manage, track and report on the Debtor's Accounts. I was responsible for several third-party integrations including SMS, AVM and Debit Order/Payment services. Provider APIs included REST, SOAP, CSV and Fixed-width files.

A new version of Swordfish was developed, with Python, Django, Django REST Framework, PostgreSQL to provide a REST API to a frontend built on HTML5, Bootstrap4, SASS and knockout.js.

I've designed and developed the core parts of our in-house microservices framework. The framework provides a REST API to various third-party integrations and is built using Django REST Framework and PostgreSQL. Asynchronous task processing is taken care of with RabbitMQ and Redis. I continue to support team members with new integrations, ensuring that code is of a high standard.

Bridge Loans/Loan Buddy and Bridge Recruit

Feb 2012 - Apr 2013
Bridge South Africa

Bridge Loans/Loan Buddy - A loan-origination site developed using CakePHP 2.x, jQuery, SOAP, REST, JSON, HTML, CSS which integrated with the company's SQL Server database and other internal systems.

Bridge Recruit - a PHP-based social recruitment site used by Bridge which integrated with a third-party recruitment website's API.

Branch Locators

Aug 2010 - Dec 2011

I developed various ATM and branch locators on different platforms including USSD, mobi and web. USSD branch locators were developed in Java using an in-house framework. Mobi- and websites were built with CakePHP. All solutions used MySQL as a database and integrated with a Location-based Services (LBS) API provided by one of our mobile network partners.

Weather & Traffic

Jan 2010 - Jun 2010

These two projects were both written in JSP and made use of MySQL database. We processed partner-provided data which we received in XML format on an FTP site at regular intervals. This provided the back-end to mobi- and website subscription services.

Document Tracking

2009 - 2009
Luuk ICT

This proof of concept was built in PHP and made use of Passive RF tags to track documents throughout a building. RF tags placed in folders or on documents would be recorded to a database as they passed by RF scanners located throughout a building. The data was then mapped onto a blue-print to indicate the whereabouts of the documents.

GPS-Tracking Solutions

Jan 2008 - Sep 2009
Luuk ICT

A real-time vehicle tracking/fleet management system which enables clients to track their vehicles or fleets using GPS/GSM tracking units. The system also provided users to specify rules (e.g. times; geo-fences) in which vehicles are allowed to travel, and can trigger SMS or Email alerts should a vehicle violate these rules. The system also keeps track of all vehicular activity that can be viewed at any time.

The web-based interface developed in HTML, CSS, Javascript and a PHP backend with a MySQL database was supplied with the data from GPS/GSM tracking units to a socket listener written in Java.

Honors & Awards

Epi-Use Prize 2007: Best Undergraduate Project in Computer Science / Software Engineering

Sep 2007 - Sep 2007
University of Pretoria

Featured in Innovate Magazine (Issue 3 of 2009) for Signum, a Java-based hand-gesture recognition system that allows control of a media player on you computer. I was part of a group who developed this for Prof. Andries Engelbrecht in 2007 as part of our third-year Software Engineering course.

Recommendations

Ryan Brüssow

Bridge South Africa

Werner is a thought-leader in the web and mobile space, always simplifying complex challenges and coding clean, usable applications. Werner has a keen eye for usability and creating good user experience when working within a project team. Werner would be an asset to any development team.

Hong Sing

Bridge South Africa

Werner and I worked together along side three other members of the web and mobile team on an online loans application and an online recruitment application. Werner was given the role of technical lead on the online loans application and filled the position very well. He paid very close attention to detail with out loosing focus on the bigger picture. He is an analytical and competent PHP developer.

Julien Duhain

Luuk ICT

I highly recommend Werner Pieterson with whom I have had the privilege of working for about 8 months. Werner is the kind of asset every company should dream to possess. In addition to his solid programming skills and structured approach to software development, Werner is also a creative problem solver that takes initiatives, has irreproachable interpersonal skill, and a strong sense of duty. Werner has appeared to me as balanced, mature, respectful to his colleagues, and always keen to learn new skills. He acted as team leader when I was working with him but I believe he would easily and competently work at a higher management level.

Amit Kumar Goldy

Luuk ICT

I got to work with Werner from October 2008 till September 2009, in the R&D section at Luuk Pty Ltd. He is an exceptional individual with excellent problem solving skills. It was a delight to join in the group he was already a part of. His will to always help out his colleagues, his capacity to explain things with utmost simplifications, his ability to keep calm under stressful situations, his diligence, and professionalism, make him not just an exceptional developer, but also an exceptional team member and an ideal team leader.