My name is Gareth Stephenson, and this is a summarised version of my CV. My career has been somewhat back-to-front, having gone into the workplace first after high-school, and then later studying at a tertiary institution, armed with a view of applying real-world experience against theoretical knowledge.
The CV starts with listing:
- my work experience for the past 10 years
- the technologies that I employ to perform my work
- my involvement in the software development community
- work I have done in a research and development capacity
- other notable achievements.
This is a list of the companies I have worked at in the past 10 or so years. More can be provided upon request (dating back to 1998).
Duration: 2016 – Present
Position held: Software developer
DStv Digital Media
Duration: 2014 – 2016
Position held: Senior developer
Duration: 2013 – 2014
- Senior developer
- SLA manager
3fifteen Technology Solutions (Britehouse)
Duration: 2006 – 2013
- Intermediate developer
- Senior developer
- Development manager
- Delivery manager for Nedbank outsource (related ITWeb article)
These are the technologies, languages & frameworks I have learnt and used in my career.
- C# (from version 1.0)
- Microsoft SQL Server (from version 7.0)
- .NET Framework (from version 1.0)
- ASP.NET WebForms and MVC (from version 1.0)
- Visual Basic (from 6.0)
- Visual Basic for Applications (VBA)
- Windows platforms
- Java (from version 1.6)
- Oracle database (9i)
- PHP (from version 3)
- Some AngularJS (from version 1)
- Some React
- MongoDB (from 2.6)
- Scala (from version 2.10)
- Python (from version 2.6)
- Apache Spark (from version 1.6)
- Linux platforms
Source Control Systems
- Team Foundation Server
- Visual SourceSafe
Software Development Community Work
Below is a list of community driven events, conferences and podcasts that I have spoken at or been a guest speaker on.
— Gareth Stephenson (@GarethStep) June 9, 2013
Presented at the Developer User Group (link) in Johannesburg (link) and Pretoria (link) in September 2016.
— DeveloperUG (@DeveloperUG) September 13, 2016
— ((Joshua Lewis??)) (@joshilewis) October 22, 2016
Presented at DevConf ZA (link) in March 2017.
Join @GarethStep at DevConf 2017 as he dives in to Cluster Computing using Apache Spark on Raspberry Pi’s
— DevConf (@devconfza) November 30, 2016
— Allan Pead (@adpead) March 9, 2017
— Chris Tite (@Tite_Chris) March 9, 2017
— Len (@lenwnc) March 9, 2017
— TheZADevChat Podcast (@ZADevChat) April 5, 2017
Research & Development Work
Work done outside of my normal day to day skill set.
Apache Spark Pi Cluster for Distributed Computing
The Raspberry Pi cluster I built is the unit that was displayed at DevConf 2017. The unit was based off a prototype that I constructed for one of my WITS CPD course modules.
A blog post regarding this project is currently in development.
IBM Research | Africa Pi Cluster for Video Wall Management
I was approached by IBM Research | Africa in South Africa and asked if I would be interested in building a Raspberry Pi cluster for them.
A full breakdown of what happened in the project can be viewed in my blog post (here).
13 Node Pi Cluster at IBM Research | Africa, South Africa Labhttps://t.co/MtOayOTCcO
— Gareth Stephenson (@GarethStep) May 1, 2017
Qualified as a Microsoft Certified Professional Developer (MCPD): Enterprise Applications (since 2006 to 2012).
All certificates can be downloaded (here).
The transcript can be validated by visiting (here), using the following details:
Transcript ID: 766617
Access Code: GAStephenson
Download the PDF version (here).
University of the Witwatersrand (WITS)
Qualifications acquired while working through the Johannesburg Centre for Software Engineering’s (JCSE) Continued Professional Development (CPD) Programme.
Introduction to Software Engineering
The overall objective of the course is to focus on each phase of the software development lifecycle which presents practical techniques and methods. It also focuses on the overall management of the development process.
Software Development Methodologies, Analysis & Design
The course is aimed at students with an interest in developing modern computer software. Software design in presented within the context of the software engineering process. The focus is on the practical aspects of modern object-oriented analysis and design techniques.
The aim of the course is to cover the principles underlying information modelling and database design and implementation. The application of these principles to important engineering tasks is then presented. In particlar the course covers, geospatial information as an important engineering application, and knowledge management as an important information management application.
Software Project Management
The course focused on the overall management of the development process. A complete software project management methodology was presented.
Software Technologies & Techniques
The primary objectives of the course is to extend basic material and concepts introduced at the undergraduate level and provide a richer insight into the rapidly changing technical area of software development.
With the above attained credits, I have enrolled to complete my Masters of Engineering: Software Engineering (MEng) at WITS University.
We invited Gareth to the AppFactory to speak about his career as a software developer and in the Q&A section he identified we had a communication issue in the team. He explained the practice of mob programming and recommended we implement it to allow for better communication and improve the quality of code. We have started using mob programming to great success and Gareth has been available with more guidance and tips. We’ve seen a marked improvement in: productivity, quality of code, communication of ideas and resolving issues, and knowledge transfer to the interns. We’re grateful to Gareth for showing us how to improve communication within the team and want to invite him to speak again to our next group of interns.
IBM Research Lab | Africa, South Africa
Gareth developed a rack-mounted Raspberry Pi cluster for the IBM Research lab in Johannesburg. The cluster is used to drive screens on a video wall. Gareth did an impeccable job building the unit, with attention to details such as cooling, pre-installed software configuration, power supply quality testing, a polished and professional look to the final unit, and so on. He was always available and willing to assist in any way possible, and he has great technical knowledge and skill. It has been a pleasure to work with Gareth.
IBM Research Lab
Other Notable Achievements
First Raspberry Jam in South Africa, came in second place
Demonstrated the Raspberry Pi cluster I had built and won second place.
— Entelect Software (@Entelect) September 16, 2017
MTN Business Mind2Machine Awards
Nominee in the MTN Business Mind2Machine IoT Conference & Awards 2017 for “Best Enterprise Development Solution” (representing Driven) (link)
All rights reserved. No parts of the content of this website may be reproduced or distributed in public, without the prior written permission of the publisher. All images are copyright to their respective owners and are protected under international copyright laws. Without prior written permission it is not permitted to copy, download, or reproduce these images in any way whatsoever.