2023: I'm available for hire!
Looking for opportunities, especially early-stage, that align with my personal values.
I'm a software generalist that thrives in ambiguity. I've been fortunate to have roles that consistently reinforce a core belief: software engineering is ultimately a people business. I lean toward growth-minded organizations that put an emphasis on their people. My professional mission is to add business value, foster team communication, provide technical insight, and ultimately enable the business to reach great outcomes.
If I were asked to “tell me about yourself” in an interview, I would begin with my hometown. I grew up in a small town of 161, Blue Eye, Missouri and it heavily influenced how I see education and learning. I attended the same, small school for 13 years and graduated in its largest-ever class of 76 students.
With a small school, I lacked opportunity for a formal introduction into computer science. In 8th grade, I was really into RuneScape but became bored with actually playing it. I joined an online community that wrote bots to play the game for them where I learned my first programming language, Pascal.
In High School, I became co-owner of Knights of Reason, a gaming community centered around a game Tremulous. Over the next 4 years, I learned much of my management fundamentals and people skills from structuring, discipling, and leading a group of 40 diverse individuals from around the globe. I built complex tools in PHP / Bash which assisted in this: KoRPS and KoRMS, which enabled democratic voting of members into our group.
A small HTTP honeypot, developed as an excuse to write a homegrown HTTP/1.1 server. Supports generating infinite directory listings from a seed as well as looking like a vulnerable PHP server.
dlux (pronounced like "deluxe") is a tiny hardware brightness control daemon that automatically sets hardware display brightness based on the time of day. Unlike f.lux and Redshift, it saves power by physically reducing the light output by your monitor based on configuration.
Grader uses Docker and Python to easily grade many assignments in an encapsulated and safe manner. The overall grading process is configurable; in general, it starts by creating a Docker image for a class or an assignment. The image can be given a payload, a protected grading script, which has a grading hooks. When ran, grader creates an individual Docker container for each student’s assignment and then runs a payload hook in that container. The payload returns a JSON response with stdin, stdout, and additional response information depending on the image ran.
Marko is an IRC bot in Ruby that uses Markov Chains to generate text which appears to be human written. It gathers its source text from any channel it sits in, leading to humerous messages or drivel. Markovirc drew deep inspiration from another IRC bot, SeeBorg. Core logic from Marko has been separated into a gem here.
Selenium Wrapper is a Python wrapper around the Selenium web testing framework. Selenium Wrapper was created as part of my co-op with Monsanto to assist my team in load testing websites where WebLOAD was not properly recording all data. This project wraps many headless PhantomJS instances to run a recorded and converted script to load test a website. The instances of Selenium Wrapper can then be configured to report upstream to Splunk, which then aggregates and reports data. More details here.
KoRx was a mod of Tremulous, which in turn was a mod of ioquake3. Tremulous was a game in which humans fight against aliens in a FPS-style, but with a RTS twist. With the help of 3 team members, I was the project manager and head programmer for the project. Initially KoRx started as a mod to fix some bugs and things that bothered me, as can be seen hereand then it slowly transformed into a recognizable and unique game type. Around 2010, along with the demise of Tremulous, KoRx ceased development.
I was employee number 9 at ngrok. With Go and Rust, I developed microservices which ran on Kubernetes clusters globally. My networking and Linux knowledge expanded significantly through debugging and troubleshooting operational incidents against ngrok's network edge. Throughout, I interviewed over a hundred candidates, onboarded a director of engineering, served as the only onboarding mentor for years, refined interview process, and created high quality technical artifacts for the company. I was fortunate to have the opportunity to rework core fundamentals in ngrok's platform over the years.
I managed a team of 7 great engineers in building out and maintaining ngrok's network edge. All the while onboarding our first 3 enginering managers, passing the tech lead torch, acting as PM and TAM, managing upwards, and creating clarity in a new ngrok era.
Developed a proprietary program in C for testing Corvette instrument panels. The program manually handled a display with features such as menu navigation, test feedback, and clean state transition. This program ran on a PIC16F1789 with 28 KB of memory, 2 KB of RAM, a 160Ă—128 display, and 4 buttons.