Oliver Rivett-Carnac
Senior Developer in Artificial Intelligence team at Derivco
Social
StackOverflow | GitHub | LinkedIn
Summary
I am an experienced Senior Developer with 14+ years of C# .NET Framework / .NET Core / .NET 5 development experience. I have had the opportunity to work extensively with solutions and enterprise architects and been part of a solutions architecture team.
I have experience not only as a developer but also as a technical lead on strategic projects which required designing, implementing, and deploying large-scale systems.
I have a keen interest in systems architecture and design as well as finding the right technical solution for any given problem. My experience has given me extensive exposure to developing software within highly regulated industries and geographical markets, including handling complex regulatory requirements such as GDPR and POPI.
I am currently working on designing and implementing a Machine Learning platform and with a centralized Lakehouse to allow teams to implement their own machine learning experiments and models.
Work Experience
Senior Developer - Derivco
February 2009 – Present (12 years 7 months)
Currently, I am part of an Artificial Intelligence and Machine Learning team. Our mandate has been to promote machine learning throughout the organization. We are a small team that started with four team members, but we keep growing.
The team aims to promote machine learning within the company by solving several critical technical challenges and demonstrating how the organization can leverage machine learning by tackling exciting and valuable use cases.
We are busy finalizing our production platform that will: handle the moving of data, manage ETL processes, address data governance and compliance requirements, but most importantly, allow the democratization of relevant business data for the rest of the organization to use in the development of their own machine learning algorithms and models.
I am a core part of this team and have contributed significantly to the design and overall solution. I have also been instrumental in introducing Azure Infrastructure using a Terraform based deployment pipeline to the rest of the AI/ML team.
Other notable achievements in my time at Derivco:
HTTP/JSON API Re-architecture:
I was the technical lead, on a project to redesign, implement and rollout the architecture of our core gaming system and supporting components. The redesign goal was to move our systems from an old monolithic, stateful, custom TCP-based architecture to an HTTP/JSON, restful, API-based, microservice architecture. We successfully deployed the new architecture and decommissioned the legacy systems through a series of systematic deployments over the course of a year. Implementing the new architecture reduced the physical footprint and improved reliability, scalability and consolidated our integration endpoints into a single collection of easy to consume HTTP/JSON APIs. Throughout the project, we set new company standards for API development, implemented some core libraries, and championed Application Insights for application monitoring.
Tool and Library Development:
Over the years, I have been a core contributor to many of the core libraries and tools used widely throughout the organization. For example:
- Boilerplate libraries for security, configuration, documentation, and monitoring of our .NET Framework and .NET Core APIs. Swagger / OpenAPI code generator for generating both C# client, model libraries, and HTML documentation for the APIs.
- Swagger / OpenAPI web front end for viewing organizations API documentation.
These libraries are currently used buy hundreds of developers in many of our systems in production.
Core Security and Configuration System:
When the company was introducing our first set of HTTP/JSON API’s the organization required a way to secure calls between Services and APIs and a configuration system to manage service and database discovery. I worked as a senior developer with the solutions architects to design and implement the core security and configuration systems that the organization uses extensively. These systems are critical to their dependent APIs and Services and so had to be “bulletproof” and offer what we eventually termed “ultra-high-availability.” The organization has data centers around the globe and this system had to handle replication of configuration across all our data centers.
Statistics Monitoring:
In one of my first large projects as a junior developer, I worked with the solution architects to build a system to monitor our games’ internal financial performance statistics. I was responsible for developing a web front end for our Maths and Game Design teams to monitor for any abnormal player behavior. The system is still currently used today.
Part-Time Developer - WithThem
July 2007 – December 2007
- Developed and maintained existing systems and applications for a local small insurance company and assisted in adding new functionality and maintaining the existing codebase.
Education
Bachelor of Science (BSc), Computer Science, Honors University of KwaZulu-Natal Graduation: 2009 - Cum Laude
Interests
I am a car nut. I have always loved cars with an affinity to the Japanese domestic market, although I like all things performance vehicles. Currently, I am the proud owner of a modified 2012 Evo X.
Computers have always been of significant interest and I enjoy PC + Console gaming, movies, and series. All things tech make up a considerable part of my interests. From audiophile sound systems to networking, home theater setups, server builds, lighting setups, smart-home gear, if it’s technology-based, I am probably interested. Like they say, “all my vices are devices.”
Outside of tech and cars, family life is essential to me, and I adore my partner and young daughter.
Skills
Soft Skills
- Analytical thinking
- Problem solving
- Tackling complex problems
- Critical thinking
- Work well as part of a team
- Public speaking and presenting to a varied audience
- Keeping a holistic perspective and business goals in mind.
Technical Skills
- 14+ years C# and .NET Framework / .NET Core / .NET 5 experience
- largely developed in Visual Studio and Visual Studio Code
- experience with Resharper and other Jetbrains tools
- Azure
- Azure Databricks
- Recent exposure to Spark, Python, Scala within Databricks
- DevOps using Azure DevOps, GitLab, TeamCity
- Microsoft SQL Server - TSQL
- Infrastructure as Code using Terraform
- Monitoring using Application Insights, Grafana, Kibana
- Docker and Kubernetes
- Predominantly Windows experience, but able to work with Linux systems