Senior Software Engineer – April 2021 to Present
Developing tools and A/V features to enhance the media client platform leveraged by Twitter's iOS apps.
Senior Development Platforms Engineer – April 2020 to April 2021
Drove a migration of CentOS-based build infrastructure from on-premises data centers to autoscaled Google Compute Engine instance groups on Google Cloud Platform (GCP). Incorporated new features in Terraform, Vault, and Puppet that reduced infrastructure toil and eliminated scheduling wait times for continuous integration. Collaborated across teams and functions in order to successfully leverage GCP in innovative ways at Wayfair.
Senior App Infrastructure Engineer – March 2019 to April 2020
Led a team of five to create tools to support the development of apps across Wayfair. Drove a substantial SCM migration across a distributed team of over 100 developers and over 20 repositories from Gitlab Enterprise to GitHub Enterprise. Designed a framework for more performant, reproducible iOS and Android builds on Buildkite. Supported the broader transition to a weekly release of the Storefront iOS application.
iOS Platforms Engineer L2 – July 2017 to March 2019
Led a team of three to create tools to support the development of iOS apps in the Storefront division. Maintained and administered our Jenkins and Buddybuild continuous integration platforms on iOS and Android. Created a metrics platform for monitoring local and remote build performance of iOS apps, in order to identify trends and regressions. Negotiated infrastructural support with partners in Release Engineering to run Swift-based endpoint integration tests on Linux in Docker. Implemented product page Handoff into the Storefront iOS app and website.
Mobile Developer – June 2016 to July 2017
Developed and published four apps to iOS and Android storefronts using React Native for a Fortune 100 insurance client. Served as the teams sole native mobile specialist and release engineer. Created testing and release tools for teams to reduce development friction. Built-up Jenkins cluster to create reproducible, concurrent app builds, and coordinated with clients to painlessly deploy to storefronts. Utilized Agile methodology and Scrum to effectively respond to and pivot on client input.
Contractor – January 2016 to May 2016
Delivered a Slack-based time tracking tool for use in a small, distributed office setting. Utilized principles of test driven development, client-focused delivery and twelve-factor application design. Conducted training for use and continued development of the tool.
Mobile Testing Intern – January 2015 to August 2015
Contributed UI tests to product sample automation suite and oversaw test runs. Filled and verified bugs in the Xamarin platform. Managed and enhanced internal QA infrastructure using Chef. Drove QA-side of launch of day one support for the newly released Apple Watch. Ported newly released iOS and Android samples to come from Apple WWDC and Google I/O 2015 to Xamarin.iOS and Xamarin.Android, respectively.
Open Source Projects
Application heavily leveraging the App Store Connect API to enable continuous delivery of iOS, macOS and tvOS apps to TestFlight and App Store review. Makes use of a simple YAML configuration with sane defaults to update metadata, upload assets, and submit app builds for review. Designed to accomodate automation workflows that make use of xcodebuild and altool to build and upload apps.
Rust application for deleting stale remote branches and pull requests on any GitHub or Gitlab repository, regardless of cloud/on-prem situation. Leverages libgit2 under the hood to achieve performance goals. Created a procedure for discerning between multiple SCMs using only a Git remote URL and an access token and adapted it for idiomatic Rust. Foxdie has deleted thousands of branches and hundreds of pull requests over its service life, reducing storage footprint and fetch times on several monorepos.
Selected by relevance and order of current confidence
Rochester Institute of Technology •
BS Game Design & Development • May 2016