Hi! I'm Will, a motivated software engineer and educator comfortable solving problems independently and collaboratively with a variety of languages and tools. I'm passionate about educational technology that supports students and teachers, especially those which value the impact that teachers can have on students.

GitHub: wthollingsworth
LinkedIn: wthollingsworth


I've been excited about computers and all of the opportunities they can create since I was five or six years old using my grandmother's computer to play solitaire or browse the web with Compuserve. Later, my excitement for education arose once I was appointed Head TA in graduate school. The idea of leading a room of twenty or so people didn't excite me at first, but over time I found that guiding students through their work was one of the most rewarding experiences I've ever had. My experiences teaching and mentoring have served to make me a better collaborator and communicator, and kept me familiar with essential data structures and algorithms. Now, I want to use my skills to help make software that cultivates student success and equitable learning experiences, and allows teachers to spend more time on what really matters: teaching.

Most of my programming experience has been with an object oriented methodology in languages like C and C++, but I have also worked extensively with Java, Python, and Javascript. That said, I am always excited to learn more; I'm currently working to pick up Express.JS, MongoDB + Mongoose, and Rust as well.

Work Experience




This Portfolio

This portfolio was created from scratch as a way to learn some web development basics, as well as play around with the Rust programming language.

Languages: Rust, HTML, CSS, Javascript
GitHub: wthollingsworth/portfolio


A plugin for the Neovim text editor that implements the Pomodoro Technique. This is a work in progress but the goal is to have it follow the method described in the book as closely as possible, including a "manual" windup of timer, which most software implementations prefer to automate.

Languages: Lua, Vimscript
GitHub: wthollingsworth/pomodoro.nvim

ziptools and zippy

While working as a computer science teacher, I needed to work with Learning Management Systems (LMS) that usually aren't built with computer science and programming in mind. An LMS typically allows students and teachers to manage assignments electronically in one place, and for teachers to grade assignments in that same place. Since these don't include tools to run code, I needed to download these to another location that was suitable for grading. This typically took an hour per project, which was valuable time that could have been used providing feedback to students. Ziptools and zippy automate this effort.

Ziptools is a set of bash scripts for working with lots of zipfiles, including listing the archives in a directory, and extracting them in bulk to another location. Zippy provides a CLI that is intended for the workflow of checking on and collecting student work.

Languages: Bash
GitHub: wthollingsworth/zippy
GitHub: wthollingsworth/ziptools


A Bash script to simplify generating a PDF from a LaTeX document with a BibTeX bibliography. This involves running multiple additional terminal commands when compared to a LaTeX document without a bibliography. This script simplifies the process so that a single command is used for both cases, which also results in a significant speedup compared to running the commands manually.

Languages: Bash
GitHub: wthollingsworth/texify


E-mail: william DOT t DOT hollingsworth AT protonmail DOT com
LinkedIn: wthollingsworth