Curriculum Vitae

Joseph LaFreniere

This page was originally published 2016-01-29 and last modified 2025-02-23.


Education #

University of Texas at Dallas #

Richardson, TX

BSc in Software Engineering with Honors #

2014-08-25T08:00:00-06:002018-05-10T08:00:00-06:00

  • Presented honors capstone on implementation of new mutators in PIT, a Java virtual machine (JVM) bytecode-based mutation testing framework.
  • Named President of campus Linux Users Group (LUG) for 2016–17 and 17–18 academic years. Named Secretary for Fall 2016 semester.
  • Elected officer in Collegium V Honors College for 2016–17 and 17–18 academic years.

Work Experience #

Renaissance Learning #

Remote

Site Reliability Engineer #

2021-02-22T08:00:00-05:00Present

Title History

Site Reliability Engineer Senior

2024-02-05T08:00:00-06:00Present

Site Reliability Engineer 3

2022-01-24T08:00:00-06:002024-02-05T08:00:00-06:00

Build and Release Engineer 2

2021-02-22T08:00:00-06:002022-01-24T08:00:00-06:00

  • Led the department’s migration from a self-hosted JFrog Artifactory instance to AWS CodeArtifact.
    • All existing data from Artifactory was retained.
    • To minimize disruption to development teams, we implemented dual-publishing in the central build library during the transition phase.
  • Led the team’s upgrade of multiple Jenkins instances from 1.2 to 2.361.4 (latest LTS release at time of upgrade).
    • Downtime was approximately 15 minutes per instance.
    • All data was retained, including build history and console logs.
  • Contributed significantly to both the design and implementation of a continuous delivery (CD) system for the department’s customer-facing SAAS products.
    • Played a key role in adding support for deploying AWS Lambda functions and CloudFront-backed content.
    • Made the case for and successfully implemented a refactor from Flask 1 to FastAPI. This had several key benefits:
      1. Reduced the number of bugs discovered in the service’s production environment due to strict schema enforcement on both requests and responses.
      2. Increased development velocity due to better static type checking.
      3. Improved baseline performance versus Flask and opened up even more performance improvements via support for async.
    • Measurably improved the performance of key endpoints by selectively replacing uses of synchronous IO libraries (namely Requests and botocore) with asynchronous libraries (HTTPX and aiobotocore, respectively).

J. C. Penney #

Hybrid Remote/Plano, TX

DevOps Engineer #

2018-06-12T08:00:00-05:002021-02-19T17:00-06:00

Title History

DevOps Engineer 1

2020-01-12T00:00:00-05:002021-02-12T17:00-06:00

DevOps Engineer Junior

2018-08-12T00:00:00-05:002020-01-12T00:00:00-05:00

DevOps Intern

2018-06-12T08:00:00-05:002018-08-12T00:00:00-05:00

  • Led the development of department’s Python RESTful service framework to create a first-class experience for Python machine learning developers in a Spring Boot-centric ecosystem. The company’s first customer-serving Python services were written on top of the framework.
    • Designed and implemented configuration layering system to integrate data from Spring Cloud, environment variables exposed by Docker Compose, command-line options, and YAML files.
    • Adopted existing open source libraries to perform service registration with Eureka, then incrementally rewrote the library’s threading and payload serialization on an internal fork to fix stability issues.
  • Brought DevOps team’s outstanding ticket count from above 300 to fewer than 20 as interim Scrum Master from October 2019–March 2020.
  • Led Python 2 to 3 migration effort for department’s existing Python codebases.
    • Added type checking over the course of the refactoring using stdlib typing, pydantic, and mypy.
    • Enforced successful per-repository type checking and formatting via continuous integration (CI) jobs.
  • Authored the department’s internal Python setup guide, covering steps from virtual environment creation through configuration of pre-commit hooks.
  • Responsible for adding test suites to new and existing Python codebases. This work led to the first property-based testing at the organization, implemented via Hypothesis on top of pytest.
  • Built internal REST service to automate creation of new project repositories.
    • Wrote backend RESTful service in Python 3 using Flask, Requests, and GitPython.
    • Wrote frontend as a SPA in Angular 4 for integration into an existing dashboard.
  • Maintained Python/Hy helper scripts to automate teams’ operational activities such as SSL certificate rolling and bulk deployment of application microservices.
  • Helped application teams create and troubleshoot Jenkins pipelines, Gradle builds, and Docker Swarm container deployments.
  • Automated the migration of department’s chat groups from Atlassian Hipchat to Microsoft Teams.

Northrop Grumman #

Oklahoma City, OK

Engineering Intern #

2016-052016-08

  • Collaborated with other interns to design and run experiments to test Distributed Data Service (DDS) middleware.
    • Tasked with measuring the impact various quality of service (QoS) policies had on the performance of DDS.
    • Templated C++ source code with Python in order to generate DDS entities at production scale.
    • Automated the capture of DDS’s network traffic during specific lifecycle phase with Wireshark.
  • Oversaw setup and maintenance of software on isolated test network.
    • Explored policies for publishing generic configurations in a security-conscious environment.
  • Guided teammates in version control best practices.

Lenoir City Utilities Board #

Lenoir City, TN

IT Intern #

Summers 2013, 14, 15 (8 months)

  • Developed prototype Android app to streamline customer service requests.
    • Independently performed mockup, implementation, and testing.
  • Resolved help desk calls for approximately 75 employees across two buildings.
  • Wrote and published Symantec Endpoint uninstaller, a script to cleanup failed Symantec Endpoint installations sufficiently to allow for successful reinstallation.

Open Source #

The contributions listed here are not exhaustive. See my GitHub profile, @lafrenierejm, for a more comprehensive list of recent contributions.

Fork author #

2023-07-06Present

CLI application written in Go that flattens JSON and YAML to make it easily greppable.

Contributor #

2022-12-01Present

Command-line interface (CLI) application written in Rust that extracts textual information from non-text files (e.g. PDF, sqlite), caches the resulting text, and transparently runs ripgrep on the text for high-performance searching.

Contributor #

2022-04-01Present

CLI application written in Rust that scans a codebase for cleartext secrets.

standard-dirs.el #

Author and maintainer #

2018-03-01Present

Emacs library to provide platform-specific paths for reading and writing configuration, cache, and other data.

emacs-ghq #

Maintainer #

2023-05-01Present

Emacs utility for leveraging ghq to manage local repositories.

ietf-cli #

Author #

2017-06-012017-07-31

Alternative to the command-line program espoused on ietf.org’s wiki, motivated by a desire for better querying features and a cleaner codebase. My goals for the rewrite were to use then-idiomatic Python 3 and provide easy querying. I decided on a database backend (as opposed to the original tool’s single XML file) to allow querying documents by title, author, keyword, or authoring organization. SQLite was chosen for the database implementation due to the single-user nature of the project and the prioritization of ease-of-installation.

  • Wrote a scraper to generate queryable metadata from the XML file that the IETF published as its document index.
  • Used object-relational mapping capabilities of SQLAlchemy to interact with the SQLite3 backend.
  • Made use of the database backend to implement automatic retrieval of documents that update or obsolete a given document.
  • Implemented subcommand-style CLI frontend using argparse.
  • Depended on rsync as an external program to fetch latest versions of the upstream IETF publications.

format-flowed.vim #

Author #

2016-11-012017-01-31

Wrote a Vim plugin enabling full support of RFC 3676 The Text/Plain Format and DelSp Parameters in Vim’s mail filetype. The plugin dynamically sets formatoptions and tab settings based on the location of the cursor in a buffer.

The project started as a refactor of an existing script found in the Vim user Google Group, but after several iterations ended up sharing none of the original code.

  • Rewrote the regular expressions used to detect headers, signatures, patch snippets, and quotations.
  • Expanded the set options to account for…
    • automatic reformatting,
    • auto-wrapping paragraphs,
    • the effects of trailing whitespace, and
    • the behavior of tab characters.
  • Packaged the script for use with modern (at the time) Vim plugin managers.

Unless otherwise noted, content on this site is copyright © Joseph LaFreniere and provided under one of the two following licenses: