About

I write cloud applications and developer tools. I entered the industry due to my enthusiasm for computer games and 3d graphics. These days I’m writing server side applications in high level scripting languages and the tools to assist in maintaining them.

I have been a programming language enthusiast, having played with: (* indicates I have been compensated for it.)

I would summarize my thoughts as:

I have a strong personal interest in libre hardware and software, privacy and security. I am a big fan of Purism and System76 for how they are working towards more openness. I am very interested in RISC-V. I have mostly de-Googled my online life, as I self-host the vast majority of cloud services I use, including:

I never use Apple products if given a choice, and I block the Google Services Framework via local VPN on my Android devices, or just root them and install Google-less Android ROMs. I use Linux at home on a System76 machine with the Intel Management Engine cleaned.

My medium-term goals involve contributing to the Linux kernel and supporting RISC-V ports for software I depend on.

I am very interested in The Unix Philosophy and am heavily influenced by Casey Muratori. I have found Brian Will’s videos to reflect well on my own thinking. Given infinite time, I would dive into Plan9 and live there instead of Linux or BSD.

I build iteratively; start small and layer on more depth until a sufficient solution has been found. I iterate for usability, maintainability and various performance metrics. As a rule I verify my own code as an end user before assigning it to anyone else for review.

I don’t only code. In fact, most of my free time is dedicated to non-coding pursuits. Physical fitness and nutrition are the two main extracurricular activities I pursue. I do a lot of housework and work to ensure my wife and I split our parenting duties roughly evenly. I strongly value balance among all things in life, not least of which is a balance between work and personal life.

Code

Contact

Resume

Professional Summary

Company Duration Title Responsibilities Languages and Technologies
Lendesk Aug 2017 - Present Senior Software Developer Application development. Ruby on Rails, Go, Redis, PostgreSQL
Lendesk 9 months Team Lead 1:1s, sprint planning, ticket grooming, team management, cross-team coordination, code reviews, hiring interviews, process improvement, bug fixes, addressing technical debt, improve system architecture. Ruby on Rails, Go, Redis, PostgreSQL
Mogo 2.8 Years Senior Software Developer Assist in managing project scope, develop common libraries, implement features, interview potential hires. Go, Ruby, RabbitMQ, Docker, Redis, MySQL
Unbounce 3.5 Years API Lead Design, implement and support HTTP API. Integrations with 3rd parties. Ruby, Ruby on Rails, Javascript, Java, MySQL
Gossamer Threads 2.5 Years Programmer In-house forum and website software customizations for clients. Perl, PHP, MySQL
Electronic Arts 3.5 Years Software Engineer 3d pipeline maintenance, gameplay prototyping, audio programming, animation programming, front-end programming. C++, C#, ActionScript, Maya


Date Accomplishment / Event
2019 Stepped back into an IC role
2018 Promoted to Team Lead at Lendesk
2017 Joined Lendesk as a Senior Software Developer (Ruby/Go)
2016 Started programming in Go
2015 Started programming in C (primarily C99)
2014 Joined Mogo as a Senior Software Developer (Ruby)
2011 Joined Unbounce as the first employee (Ruby)
2010 Joined EA as a junior front-end software developer (ActionScript)
2007 Joined Gossamer Threads as a full stack web developer (Perl/Javascript)
2007 Started programming in Perl
2007 Started using GNU/Linux for development and minor system administration
2005 Joined EA as a junior software developer (C++)
2005 Earned Bachelor’s Degree in Computer Science
2000 Started programming in C++
1998 Started programming in Pascal and using HTML/Javascript