Oliver S.

About Me

Oliver has an extensive background in the development of distributed simulation systems for virtual reality. As of 2017, his expertise has predominantly shifted towards DevOps engineering, with a special focus on automation. His proficiency lies in combining Terraform, Python, and Docker for the purpose of automating the provisioning of Kubernetes clusters and cloud resources utilized by microservices deployed within these clusters. Additionally, Oliver excels in engineering CI/CD pipelines and overseeing the management of k8s clusters. He also aids developers in seamlessly integrating their work into these clusters, while standardizing in-house helm charts and containerizing legacy applications.

Backend

Python Rapid Prototyping

DevOps

QA & Testing

Other

JSON Virtual Reality (VR) Windows Linux Subversion (SVN) C VmWare LUA Agile software development Bash

Work history

Toptal Clients
DevOps Engineer Contractor
2018 - Present (7 years)
Remote
  • Successfully conducted the migration of kops-based Kubernetes clusters to EKS for a prominent US digital media firm.

  • I specialize in facilitating the automated provisioning of kops-based Kubernetes clusters on Amazon Web Services (AWS) by leveraging the capabilities of Terraform, Python, and Docker. Additionally, I possess expertise in proficiently managing intricate kops upgrades.

  • I have successfully devised and executed continuous delivery pipelines within Spinnaker, effectively leveraging its pipeline re-use mechanisms for advanced utilization.

  • Created a containerized command-line interface (CLI) to efficiently automate infrastructure, deployments, and deliveries, catering to the requirements of developers, the delivery team, operations team, and CI/CD, in adherence to the principles of DevOps.

  • Significantly enhanced the configuration management and maintainability of an extensive Jenkins installation through the development of a Groovy shared library, alongside the establishment of comprehensive coding standards.

  • I successfully rectified issues within an Arduino device, involving circuit debugging and the development of proficient C++ code, in order to enable remote temperature monitoring. Additionally, I skillfully engineered C++ code that flawlessly integrated the device with AWS DynamoDB through IoT/MQTT protocols.

Amazon Web Services (AWS) PythonCommand-line Interface (CLI) Amazon Virtual Private Cloud (VPC)AWS IAM Amazon S3 (AWS S3) Openfire NexusREST APIs ContainerizationVisual Studio Code (VS Code) PycharmBashC++ArduinoMQTTAWS IoT Core DockerJIRAGitBitbucketCI/CD Pipelines Kubernetes Operations (Kops) HelmSpinnakerJenkinsTerraformAmazon EKS Kubernetes
Self-employed (Sentian Cloud Computing, Inc.)
Principal Contractor
2017 - Present (8 years)
Remote
  • Implemented automated AWS infrastructure provisioning for a startup based in Ottawa. Orchestrated the development of a cutting-edge certification management system utilizing Let's Encrypt/ACME. Facilitated seamless integration of the current infrastructure into Terraform using Terraformer.

  • Successfully orchestrated the migration of microservices from Docker Compose and EC2 to Kubernetes in EKS for a prominent Ottawa-based enterprise.

  • I have effectively delivered technical assistance and classroom guidance during three-day Python courses conducted specifically for financial analysts at CitiBank in New York City.

  • I have been prominently featured in the esteemed publication, Python Interviews: Discussions with Python Experts, Packt 2018 by Mike Driscoll, due to my exceptional contributions to PyPubSub, an open source project.

  • Performed the migration of a legacy web application written in Node.js, Express.js, JavaScript, and SQLite to GKE while ensuring seamless deployment through automated processes, minimizing downtime, and executing deployment solely upon successful completion of tests.

  • Developed a command-line interface (CLI) to facilitate the replication of the entire stack, encompassing AWS resources external to EKS, which efficiently supports developers, as well as delivery and CI/CD processes, adhering to the principles of DevOps for effective troubleshooting, staging, and beyond.

  • Provided leadership and guidance in coaching a dedicated team of developers over a span of nine months at the Government of Canada, focusing on the successful migration of a legacy .NET Core application to Azure Kubernetes Service (AKS). Conducted meticulous analysis of the application, devised strategic plans for seamless progression, and offered consistent hands-on support on a weekly basis.

  • I optimized AWS CloudFormation templates to streamline the automation of infrastructure replication for a prominent business in Ottawa.

Amazon Web Services (AWS) PythonMachine LearningGoogle Kubernetes Engine (GKE) BashDocker ComposeDockerMySQLAWS CloudFormationPandasJupyterCI/CD Pipelines BitbucketGitGoogle Cloud Platform (GCP) Azure Kubernetes Service (AKS) TerraformKubernetes
CAE, Inc.
Simulation Software Engineering Consultant
2005 - 2017 (12 years)
Remote
  • Developed a state-of-the-art infrastructure-as-code system catered to distributed simulation applications, namely "micro-Kubernetes." Expertly crafted XML-based configuration files were employed, coupled with the utilization of RPyC agents running on each system to enable seamless remote initiation and termination of processes.

  • Implemented system integration utilizing Java, Tomcat, and MySQL to facilitate a web-based graphical user interface for seamless infrastructure code creation.

  • Created a desktop graphical user interface (GUI) application for agent-based simulation utilizing Python, PyQt, and pytest. Implemented multi-core Python architecture, specifically communicating processes, to seamlessly handle large-scale computations.

  • Implemented team leadership, authored pivotal core components and established essential infrastructure while proficiently configuring and overseeing virtual machines and Jenkins.

  • Implemented virtual machine technology to facilitate the provisioning of software development environments for collaborative teams. Employed vSphere and virtual machines to establish a sophisticated, class-based virtual training ecosystem for military personnel specializing in avionics maintenance.

VMware vSphere VMware ESXi VirtualBoxJenkinsWiresharkTCP/IPVisual Studio Simulations LinuxWindows Virtual Reality (VR) LUAJavaPythonC++
National Research Council of Canada
Simulation Software Engineer
1998 - 2005 (7 years)
Remote
  • Managed a dynamic engineering team consisting of six members on a comprehensive crane simulator project, providing oversight for collaborative task allocation, conducting code reviews, and ensuring seamless integration of team-contributed components.

  • Designed an event-driven, message-based architecture for a multi-machine system.

  • Proficiently crafted an event and inter-process messaging system in C++, complemented by a robust XML-based configuration system.

Virtual Reality (VR) Distributed Computing Simulations Windows TCP/IPUMLObject-oriented Design (OOD) JavaBashLinuxPythonC++

Showcase

DevOps Automation
  • Utilized Spinnaker, Python, and Docker for delivery pipeline development.

  • Automated Kubernetes cluster provisioning using kops, Python, and Docker.

  • Performed quality assurance of Helm chart maintenance.

Avionics Maintenance Trainer – Distributed Computing
  • Developed a 2+1D virtual environment integrating C# .NET 4, Visual C++ 2005, and Lua 5.1.

  • The C# layer provides a user-friendly GUI with visualization, guidance, and diagnostic tools for troubleshooting avionics systems.

  • The unmanaged C++ layer handles core business logic, simulation, and navigation within the 2D environment.

Crane Operation Simulator – Distributed Computing
  • Spearheaded the development of an all-encompassing crane simulator.

  • Managed requirements, system architecture, and core components including scenario definition, C++ infrastructure, and Java-based hardware emulation.

  • Oversee interface design and integration of various components, including sound generation, crane physics, crane hardware, and immersive projection system with motion tracking and active 3D glasses.

PubSub
  • PubSub is a Python publish-subscribe engine.

  • It was initially developed in wxPython in 2003.

  • The project has undergone significant enhancements and automated testing.

Lua-icxx
  • Lua-icxx is an auxiliary library for embedding Lua in C++ applications.

  • It utilizes an object-oriented API to ensure complete invisibility of the Lua stack.

  • It seamlessly integrates with SWIG, allowing access to SWIG-based Lua wrappers.

Nose2pytest
  • Transitioned from Python Nose to PyTest to improve test robustness.

  • Developed a converter using pattern matching for abstract syntax tree to enhance test functionality.

  • Contributed the converter to the PyTest project and received acceptance.

IOF
  • IOF is a streamlined input/output library for C++ streams.

  • It offers comparable capabilities to Boost's format module.

  • It is a purely C++ template library, eliminating external dependencies.

Integration of C#, C++, and Lua
  • Integrated C#, C++, and Lua into a unified application.

  • Experienced challenges arose from a third-party library in the C++ layer.

  • Successfully achieved seamless integration, resulting in a resilient and high-performing system.

Multi-process GUI Development Using Python and PyQt
  • Developed a robust graphical user interface (GUI) with a state machine to control actions.

  • Implemented a comprehensive testing framework with PyUnit, Jenkins, and mocks for performance and memory leak detection.

  • Architected a cutting-edge multi-core engine for concurrent execution of business logic across numerous cores, resulting in a 1000-fold performance improvement.

Integration of Python Debugger into a GUI Application
  • Developed a Python graphical user interface using PyQt.

  • Incorporated debugging functionalities including breakpoint setting, script code navigation, and local variable retrieval.

  • Successfully integrated the GUI without disruption despite limited documentation.

Business Process Modeling and Simulation Environment
  • Utilized DOORS, Python, PyQt, and SQLite for GUI design and development.

  • Developed applications for efficient business process definition and parallel Monte Carlo simulations.

  • Implemented an automated testing framework with PyTest, Jenkins, and mocks.

Education

Education
Ph.D. and Master’s Degree in Physics (Pattern Formation)
University of Toronto
1991 - 1998 (7 years)