Avatar

DevOps Engineer

About

I am an open source developer specializing in DevOps best practices, release engineering, and workflow automation. I enjoy working on projects where my skills will have a meaningful impact and am not afraid of learning new skills and technologies.

I have helped projects small and large scale their build infrastructure supporting over 10k build jobs deployed to CI across multiple systems and projects in a global environment. I support engineering teams by optimizing and automating workflows so that developers can focus on what they do best. I support developers as a point of knowledge for technologies such as Git, CI systems, and tooling.

My DevOps journey began at the Eclipse Foundation where I lead an effort convert the Eclipse Platform’s outdated PDE build toolchain over to Maven. This was a massive effort that ultimately enabled engineering teams around the world to be able to successfully build the Eclipse Platform which until then was tribal knowledge to a handful of organizations. I helped roll out and support 100s of project’s build infrastructure through the initial implementation of the Eclipse Common Build Infrastructure (CBI) utilizing Hudson CI and automated deployment processes to manage and bootstrap Hudson Instance Per Project (HIPP).

At the Linux Foundation, I helped the OpenDaylight (ODL) project roll out a CI build infrastructure to support the 100+ ODL sub-projects. We utilized tools like Jenkins Job Builder (JJB) to create job templates which were redeployable to ODL Java projects and managed through a centralized Git repository allowing new sub-projects to quickly bootstrap their code base. The infrastructure we build in ODL ultimately became the standard infrastructure environment that the Linux Foundation rolled out to later projects such as OPNFV, ONAP, O-RAN, FD.io, HyperLedger, ASWF, and many more….

In addition to infrastructure I lead the software development of Linux Foundation’s RELENG toolchain including lftools, common-packer, global-jjb, and common documentation efforts. These are reusable toolchains that the LF deploys to project infrastructure that are supported by the LF release engineering team. We focused on maintaining common best practices, reusability and regular releases to support downstream projects using these tools.

In my role at Lumina Networks I managed the internal CI infrastructure on AWS for the engineering team. I worked with engineering teams to plan and build out infrastructure to support product roadmaps such as support for BlackDuck and Kubernetes.

Interests

  • Open Source
  • Build Automation
  • DevOps
  • Technical Writing systems

Education

  • Bachelor of Information Technology, 2009

    Carleton University

  • Bachelor of Information Technology, 2009

    Algonquin College of Applied Arts and Technology

Skills

DevOps

Build & Release automation

Software Development

Linux, Git, Python

Technical Writing

Sphinx, Hugo

Experience

 
 
 
 
 

DevOps Engineer

Lumina Networks

Apr 2019 – Present California

Responsibilities include:

  • Automate and manage build & release processes
  • Contribute to upstream Open Source projects
  • Manage CI infrastructure services
  • Provide CI support for developers
  • Maintain infrastructure related documentation
 
 
 
 
 

Release Manager

The Linux Foundation

Sep 2014 – Mar 2019 California

Responsibilities include:

  • Provide software build support to Open Source projects at the LF
  • Project Lead for OpenDaylight and LF releng projects
  • Develop and maintain LF infrastructure tooling
  • Manage CI infrastructure services
  • Maintain documentation for OpenDaylight and LF releng projects
 
 
 
 
 

Release Engineer

Eclipse Foundation

Feb 2012 – Sep 2014 Ottawa

Responsibilities include:

  • Provide support for the Eclipse Common Build Infrastructure (CBI)
  • Provide support for the Eclipse Long Term Support (LTS) forge
  • Assist Eclipse projects with migrating builds to Maven/Tycho
  • Manage CI infrastructure services
 
 
 
 
 

Lead Developer

FOSSLC

Feb 2008 – Jan 2015 Ottawa

Responsibilities include:

  • Lead Developer for Freeseer a presentation capture software used by FOSSLC to record presentations with a focus of making conference recording cheaper and easier
  • Mentor students from programs such as GSoC, UCOSP, and Facebook Open Academy with work on Freeseer.
  • Volunteer filming open source related conferences including FSOSS, PGCon, BSDCan, SotM2011, FOSS4G2011, FOSS4G2013, EclipseConNA2013, EclipseConEurope2012 as well as FOSSLC hosted events

Posts

Tracking Investments with You Need A Budget (YNAB)

While You Need A Budget (YNAB) isn’t really designed to track investments it can be useful to include your investment assets to track your net worth. The way I like to do this is by creating Tracking accounts for each of my investment accounts and then reconciling the account balance once a month to update the investment balance.

Writing a Great Commit Message

An often overlooked part of Git is the commit message. The usefulness of many of Git’s features rely on well structured commit messages. A commit message structure: Subject line in 50 chars or less Following a blank line after the subject line is the commit message body, containing a more detailed explaination of the change.

Contributing to Eclipse Projects via Gerrit

Gerrit is a Web based code review system that is available to projects at Eclipse. The service is located at https://git.eclipse.org/r/ Creating and configuring your Gerrit account Eclipse’s Gerrit instance does not know your account exists until you login for the first time.

Testing network performance with iperf

iperf is a handy tool to check network performance between 2 computers. You can install this tool using your distro’s package manager. There are 2 modes this tool runs in.

Steam Share Library With Linux

If you use Steam on Linux one of the annoying things I’ve found is that unlike on Windows, Steam for Linux installs to your $HOME directory. This means every user will have their own Steam installed and what’s more their own games installed.

Presentations

Fork the Ide

https://www.zxiiro.ca/presentations/fork-eclipse/

WTF is Git Rebase

https://www.zxiiro.ca/presentations/rebase

Publications

Contribute to Eclipse Projects via Gerrit

https://www.eclipse.org/community/eclipse_newsletter/2014/july/article3.php

Eclipse CBI

https://www.eclipse.org/community/eclipse_newsletter/2013/august/article3.php

Popular Topics

Contact