dolph / cv

My curriculum vitæ.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dolph Mathews

Lint Links

I am a highly experienced software engineer with a passion for automating solutions and creating reliable, intuitive systems. My background includes developing web applications, web services, and commandline tools. I enjoy writing tests, publishing documentation, and optimizing processes.

Education

University of Texas at Austin (2005 — 2009)

Bachelor of Science, Electrical & Computer Engineering

Experience

Senior DevOps Engineer, IBM Quantum (2019 — present)

As part of IBM Quantum, I am responsible for the entire lifecycle of backend infrastructure running both production and research & development workloads.

I have led the deployment automation effort for all backend Linux systems, which was previously done manually from docs with a handful of bash snippets to a variety of different hardware configurations, operating systems, and platforms. After I converted all available documentation to Ansible playbooks, which I tested in Vagrant & VirtualBox, I helped standardize hardware and operating system configuration by automating the provisioning process from baremetal. I later introduced Concourse CI to provide a continuous integration and continuous deployment platform, meeting business needs across multiple geographically-distributed private networks while delivering changes across all production devices multiple times per day without human intervention.

I have led the modernization of monitoring and alerting from backend infrastructure from local log files to centralized logging via LogDNA, system monitoring via Sysdig (which is built on Prometheus and statsd), and alerting via PagerDuty.

I have also led the full operations lifecycle of geographically distributed Red Hat OpenShift/Kubernetes clusters from baremetal and virtualized provisioning to running clusters as part of IBM Cloud Satellite, primarily for neartime quantum compute workloads.

  • Squad Lead: As squad lead, I run daily standups, weekly backlog grooming, biweekly retrospectives, and biweekly sprint planning for a team responsible for backend infrastructure and Quantum control systems software. I also have worked to help other teams adopt agile practices.

  • Security Owner: As security owner for almost all baremetal Linux systems in IBM Quantum, I leverage our continuous deployment capability to rapidly improve our security posture, mitigate and resolve vulnerabilities, and manage authorization for internal users.

Core technology stack: Ansible, Concourse CI, CentOS 7, Red Hat Enterprise Linux 8 (RHEL8), Dell iDRAC, bash, YAML, Sysdig (statsd, Prometheus), LogDNA, PagerDuty, Terraform, Python 3

Primary development tools: vim, git, GitHub, Fedora, Vagrant, VirtualBox

Senior Developer Advocate, IBM Developer (2017 — 2019)

As part of IBM Developer, I worked on a team responsible for creating and managing developer advocacy content such as tutorials, articles, and code patterns covering topics including IBM Watson and IBM Cloud. A code pattern is an open source example demonstrating how developers can leverage specific IBM services in their projects and are presented by developer advocates in labs, workshops, and presentations.

Several of my accomplishments with IBM Developer focus on allowing a small team of developer advocates to build, deliver, and maintain thousands of pieces of technical content spread across hundreds of git repositories in a scalable manner. For example:

  • automatically identifying and updating broken and outdated links,
  • building a tool to interactively validate Markdown frontmatter in YAML (using JSON Schema),
  • automating the conversion of a legacy documentation format (XML to Markdown),
  • updating branding of IBM products and services, and
  • writing Selenium tests to exercise previously-untested workflows in the IBM Cloud console.

Dolph has gone out of his way to help the editorial team with several special projects. His help has been invaluable and has saved our team hours of work. He's streamlined and updated processes to make tools easier to use and to offload work from us. — Jill Amaya

I was also entrusted to serve as an administrator of IBM's open source presence on GitHub, github.com/IBM, managing the creation of open source projects and the integration with 3rd party services.

Core technology stack: Python, bash, JSON, YAML, Markdown, JSON Schema

Primary development tools: vim, git, GitHub, TravisCI, Ubuntu Linux

Principal Software Engineer, Rackspace (2011 — 2017)

At Rackspace, I worked as an open source Python developer on a globally distributed team in the OpenStack community. After being hired as a Software Engineer, I was promoted to Principal Engineer in November 2014.

During that time, I became a core contributor of OpenStack Keystone, the identity service for OpenStack-based clouds, and I was subsequently elected by my peers as the Project Technical Lead (PTL) and a member of the OpenStack Technical Committee (TC). Later, I helped launch the OpenStack Innovation Center (OSIC), a joint partnership between Rackspace and Intel, as a technical lead and cross-project liaison. I also helped lead the broader OpenStack technical strategy at Rackspace via the OpenStack Technical Leadership Team and the Rackspace Private Cloud architecture group.

Reviewing code from other contributors was one of my most satisfying endeavors. In the early days of OpenStack, I helped kickstart OpenStack's code review discipline via Gerrit. Since then, I've strived to provide other contributors with high-value constructive criticism, with an eye towards fostering the community of new contributors, core reviewers, and technical leads both within Rackspace and beyond.

I developed a rigorous appetite for a documentation-first approach (which pushes developers to think through the user experience before diving into an implementation), thorough automated testing (particularly important when working with thousands of fellow technical contributors), and comprehensive continuous integration (from git push to shipping release artifacts).

  • Project Technical Lead: As PTL, I coordinated weekly team meetings via IRC, conducted thousands of code reviews via Gerrit, triaged hundreds of issues via LaunchPad, and fostered & mentored a team of core reviewers from among dozens monthly active contributors in our open source community.

  • Technical Committee: As a TC member, I helped to govern the OpenStack community's structure, principles, values, scope, goals, and licensing.

  • Stable Maintenance team member: As a stable maintenance team member, I was responsible for code reviewing commits, backporting patches via cherry picks, and producing tagged releases of stable branches.

  • Vulnerability Management team member: As a vulnerability management team member, I was responsible for triaging, reproducing, documenting (via CVE processes), and patching vulnerabilities on supported stable branches.

Core technology stack: Python, bash, JSON, YAML, Ansible, MySQL, memcached

Primary development tools: vim, git, LaunchPad, Trello, Gerrit, Jenkins, Wercker, TravisCI, Debian Linux, Ubuntu Linux, OS X

Software Engineer, Akimeka (2009 — 2011)

At Akimeka, I worked on a project for the Department of Defense (DoD) Defense Healthcare Management System (DHMS) while holding a Secret security clearance.

Core technology stack: Java EE, XML, JBoss AS (now known as WildFly), JBoss Seam, JavaServer Faces (JSF), Hibernate, Oracle SQL, XML-based sneakernet

Primary development tools: Eclipse, IntelliJ IDEA, Perforce, FogBugz, Code Collaborator, Windows

Side projects

I've had many more side projects, but this is a handful I enjoy talking about.

  • find-replace: A fast find & replace shell command written in Go.

    Core technology stack: Go

  • dotfiles: I've been version controlling my desktop configuration files since 2013, across operating systems (OS X, Ubuntu Linux, and Fedora Linux), and across multiple desktop environments (Gnome, Xfce and i3). I now use Ansible to keep configuration across multiple workstations in sync.

    Core technology stack: Ansible, bash

  • github.com/dolph/recipes: I love to cook, and I version control my recipe collection.

    Core technology stack: Github-flavored Markdown

  • git-ready: I found OpenStack's Gerrit workflow to be a little cumbersome and (ironically) anti-social, so I built a Python-based CLI tool to eliminate that pain and promote positive social interactions.

    Core technology stack: Python 2, bash

  • pasteraw: Frustrated by slow pastebin services with poor CLI support, I built a fast, lightweight plaintext pastebin service that pushes content directly to a CDN-enabled object store. A few members of the OpenStack community adopted it, as well. Pastes are still available today via CDN, but the frontend has been shutdown.

    Core technology stack: Python 2, Flask, OpenStack Swift (Object Storage) Vagrant

  • poker-hand-evaluator: I found that evaluating and comparing poker hands to be an incredibly interesting and multifaceted problem. As a fun exercise, I built a command line tool in Go, mostly using bitwise operations, to efficiently identify the best 5-card poker hand of a 7-card set. The result is a unique integer that represents the strength of the hand, allowing the hand to be compared to other 5- and 7-card hands to determine a winner.

    Core technology stack: Go

About

My curriculum vitæ.