Joshua McKerracher

Software Engineer

About Me

Hello! My name is Josh, and I’m a dedicated software engineer with a strong inclination towards coding and technology. My journey in the software realm began during my pursuit of a second bachelor’s degree in Electrical Engineering, where I was introduced to Computer Science. The intellectual challenge and creative possibilities offered by the first course in Computer Science captivated me, prompting a shift in my academic focus. I subsequently completed a second bachelor’s degree in Computer Science from Oregon State University.

My first position as a Software Engineer after graduating was at Micron, where I gained experience working with a diverse range of technologies. After Micron, I spent about a year and a half at State Farm building a new event driven application using a microservices architecture on AWS (Python/Terraform) that processes about 300,000 events per day. Currently, I am employed at Ancestry as a Software Engineer on the Genomic Algorithms team, which is a 100% backend team. My team is responsible for the backend processes that make up the Ancestry DNA processing pipeline. Using Nextflow, Python, Terraform, Docker, and other tools on AWS, this pipeline processes thousands of new DNA samples per day, matching them against the 23 million samples currently in Ancestry’s databases. My role in this team is to both maintain existing features and develop new ones.

I also continue to hold a part-time position as a Software Engineer at Purdue University’s Dependable Computing Systems Laboratory. Here, I have been involved in the FRESCO project, utilizing tools and technologies such as Python, FastAPI, Django, Docker, PostgreSQL, Kubernetes, and JupyterHub. My central responsibility has been to enhance the ability to analyze large sets of data representing supercomputer resource usage (the FRESCO project). I created a website for this project, which can be found at www.frescodata.xyz. Using FastAPI, I created an API that allows this website to securely read from the FRESCO database. I have also helped create a PostgreSQL Timescale DB for efficient data storage and retrieval. Additionally, I have helped set up a Kubernetes cluster to host a JupyterHub instance, enabling public access to and analysis of data. I also take pride in advising and mentoring students involved in the project, fostering a collaborative and educational environment.

I am most skilled in: AWS, Python, Terraform, and Java.

Projects

FRESCO Data Repository and Analytics Website

www.frescodata.xyz

FRESCO Data Repository and Analytics

The purpose of this project is to provide a public website, providing information about the FRESCO project and giving public access to the FRESCO data repository and analytics notebook.

FRESCO Database API

API Repository

FRESCO Database API

As part of the website development process, it was discovered that an API was needed to expose the FRESCO database to the website via API calls. The website needed a way to query the database directly on this page: https://www.frescodata.xyz/simple-repository-search/

FRESCO Data Repository and Analytics Notebook

FRESCO Repository

FRESCO Data Repository and Analytics

Developed in tandem with students at Purdue, the purpose of this project is to provide public access to the FRESCO data repository and to provide some basic analysis capabilities. The FRESCO project is supported by the National Science Foundation, CISE Community Research Infrastructure (CCRI) program, “Open Computer System Usage Repository and Analytics Engine”.

Experience

Ancestry

Software Engineer - Genomic Algorithms

December 2023 - Present

https://www.ancestry.com/

We empower journeys of personal discovery to enrich lives.

My role at Ancestry is 100% backend, working on the Genomic Algorithms team. My team is responsible for the backend processes that make up the DNA processing pipeline. Using Nextflow, Python, Terraform, and other tools on AWS, this pipeline processes thousands of new DNA samples per day, matching them against the 23 million samples currently in Ancestry’s databases. My role in this team is to both maintain existing features and develop new ones.

State Farm

Software Engineer

August 2022 - December 2023

https://www.statefarm.com/

Customers and communities rely on State Farm to help them face life's uncertainties. They come to State Farm for guidance with insurance needs, financial planning, and strengthening the community.

At State Farm, I been worked on developing and maintaining applications hosted on AWS, building and maintaining CI/CD pipelines, participating in code reviews, evaluating customer requirements, working on architecture design, and writing and reviewing unit tests.

Purdue University - Dependable Computing Systems Laboratory

Software Engineer - Part Time

May 2023 - Present

Link - Purdue University Dependable Computing Systems Laboratory

Dependability meets Data Analytics, and at Large Scales.

At Purdue as a Software Engineer, I have been actively involved in the FRESCO project, leveraging technologies such as Python, Django, PostgreSQL, Kubernetes, and JupyterHub. My primary responsibility was to oversee and create the tools and infrastructure used to analyze large anonymized data sets representing supercomputer resource usage. I have successfully created a website for this project using Python Django (www.frescodata.xyz). I have also helped create a PostgreSQL Timescale database for optimal data storage and retrieval, and established a Kubernetes cluster to host a JupyterHub instance, allowing public access and analysis of data. In addition, I played a role in advising and mentoring students involved in the project, cultivating a collaborative and educational environment.

Micron Technology

Software Engineer

November 2020 - August 2022

https://www.micron.com/

A world leader in innovative memory solutions that transform how the world uses information. For over 40 years, Micron company has been instrumental to the world’s most significant technology advancements, delivering optimal memory and storage systems for a broad range of applications.

I worked as a Software Engineer at Micron Technology for just under 3 years. I was responsible for developing and maintaining applications hosted on AWS. I also built and maintained CI/CD pipelines, participated in code reviews, customer requirements meetings, architecture design, and unit test reviews. I have experience creating and using telemetry and metrics to drive operational excellence (Splunk).

Education

Oregon State University

BS Computer Science

2018 - 2021

This degree included courses in programming, software engineering, computer architecture, data structures, and algorithms.

UC Santa Cruz

BA Philosophy

2008 - 2010

This degree included courses in logic, ethics, metaphysics, epistemology, and the history of philosophy. Philosophy majors learn to think critically, analyze arguments, and communicate effectively. They also develop strong writing and research skills.

A Little More About Me

Alongside my interest software engineering some of my other interests and hobbies are:

  • Reading
  • Gardening
  • Skateboarding