Education

Bachelor of Science in Informatics, Minor in Mathematics, 3.87 GPA20112014
  • Informatics as my major taught an interdisciplinary approach to technology covering topics a range of topics including computer science, business, design, user experience, and project management. It encouraged a broad foundation, but deep specialization within a given field. Within this major, I specialized in computer science.
  • Mathematics as my minor taught me a broad overview of important topics that apply to computer science and many other fields such as calculus, linear algebra, complex analysis, markov chains, monte-carlo methods, and probability theory.
Towards overall degree at University of Washington, 4.00 GPA20092011
  • Attended while in High School at Sammamish High. Focused on learning fundamentals of computer science such as various data structures and algorithms and applying them to designing video game software.

Bellevue College

Bellevue, WA
Towards overall degree at University of Washington, 4.00 GPA20082011
  • Attended while in High School at Sammamish High as part of the Running Start program. Focused on general education prerequisites. Near the end of my time at Bellevue College, I focused on Computer Science and Mathematics courses to prepare me for the University of Washington.

Experience

Freelance Software EngineerSelf-Employed RemoteAug. 2020 - Present

  • Contract work building APIs and React web applications for small to mid-sized companies.
  • Providing proof of concept code for several University of Washington research projects.
  • Computer Science tutoring for university students.
  • Teaching workshops on modern web development.

Lead Senior Software EngineerHumble Bundle RemoteJul. 2018 - Jul. 2020

  • Promoted from Senior Software Engineer to Lead Senior Software Engineer II over the course of my employment.
  • Led the platform team focused on site reliability engineering.
  • Worked with product to define a plan to optimize the user funnel for the primary product Humble Monthly.
  • Led the internationalization project for an 8-year-old application with minimal prior internationalization efforts.
  • Integrated an OAuth login system for Facebook and Google into the existing user system.
  • Executed a project to migrate all sessions to the newly required email or TOTP two-factor system.
  • Helped define standards for representing dates, times, money, and percents in Python and JavaScript.

Lead Full Stack Software EngineerCommittee for Children Seattle, WAJan. 2018 - Aug. 2018

  • Led the replacement of a legacy, monolithic DNN platform to a high performance platform utilizing using React and .NET Core.
  • Migrated user authentication to the IdentityServer4 OpenID identity provider.
  • Incrementally transformed a series of untested stored procedures into a modern C# WebAPI.

Full Stack Software EngineerTrov RemoteJul. 2013 - Dec. 2017

  • Remote software development team where developers wrote unit and integration tests.
  • Constructed an on-demand insurance platform for consumer items with C# and SQL.
  • Developed an app for managing claims and insuring items with React and Angular.js.
  • Built a business intelligence system for sending information to Trov's partners using Python.

Application ResearcherUniversity of Washington Seattle, WAJan. 2013 - Nov. 2013

  • Lead developer for the TypeScript library that abstracted cloud storage services like Dropbox, Google Drive, and AWS.
  • Contributed to a research paper on abstracting cloud storage.

Software Engineer InternE*Trade Seattle, WASept. 2012 - May 2013

  • Worked on an international team to develop high performance stock trading apps implemented in Java
  • Developed high-frequency trading features that supported options (contracts to buy a stock at a given price in a span of time).

Web Instructor and EngineerUniversity of Washington Seattle, WAJan. 2012 - Jun. 2013

  • Taught modern web development standards to University of Washington staff and students.
  • Developed applications to manage courses and support tickets using Python and Django.

Software Engineer InternRakuten Seattle, WAApr. 2012 - Nov. 2012

  • Scraped and normalized product information using Python.
  • Worked with Overstock, Amazon, and Walmart APIs to gather product information and update listings.

Software Engineer InternSmiteWorks Bellevue, WAApr. 2011 - Nov. 2011

  • Worked on the FantasyGrounds chat feature using C.
  • Led the development of a C app to import character data from competitors apps.
  • Worked with the Steam gaming app store to publish updates and respond to customer feedback.

Projects

Personal Website

Technologies: TypeScript, Next.JS, TailwindCSS, Docker, Node.js, MDX, React

  • Next.JS powered blog and resume website adhering to modern web development standards.
  • High performance and no JavaScript support is enabled due to a hybrid model of server-side and client-side rendering.
  • Blog using MDX files for easy maintenance and richly formatted posts.

Note Doctor

Technologies: TypeScript, Node.JS, SendGrid, Google Cloud, eslint, prettier

  • A CLI tool for triaging markdown files using front-matter headers sorted by priority, status, category, and due date.
  • Sends a daily email digest of due and urgent tasks using the SendGrid Email API and Google Cloud VMs.

Discord Management Bot

Technologies: TypeScript, Node.JS, Docker, Discord.js, eslint, prettier

  • Discord bots written in TypeScript running on Node.JS for logging, music, GPT-2 chatting, role management, and security monitoring.
  • Scales to a discord of any size and can be configured with JSON to support any number of discords.
  • Code is broken up into highly reusable modules that can be pulled into any TypeScript project for customization.

GPT-2 API

Technologies: Python, Starlette, GPT-2, Tensorflow, Docker, Kubernetes

  • An API that allows requests against GPT-2 models to generate meaningful responses to any text prompt.

dstruct

Technologies: TypeScript, Grunt, Docker, Bower, Karma

  • Common data structures and algorithms for TypeScript.
  • Based on Java collections, C# collections, and Google Java collections.

ShareTube

Technologies: TypeScript, Node.JS, Docker, React, eslint, prettier

  • Displays a video with multiple sources allowing the user to select which source is used.
  • Implements a single shared comments thread across all sources for the video.

Autocomplete Comparison

Technologies: TypeScript, React, Redux, React Native, C#, Blazor

  • An implementation of the same search autocomplete similar to Google in React Native, React, and C# Blazor.

Technical Skills

Languages: Bash, C, C#, CSS, HTML, JavaScript, Python, SQL, TypeScript

Frameworks: ASP.NET MVC, Flask, Next.JS, React, Starlette, Vue.js

Libraries: ASP.NET MVC, NumPy, pandas, PostCSS, TailwindCSS, TensorFlow

Databases: Elasticsearch, MSSQL, MySQL, PostgreSQL

Cloud Providers: Akamai, AWS, Cloudflare, DigtalOcean, Google Cloud, Microsoft Azure, Vercel

Developer Tools: cmake, Docker, ESLint, gcc, Git, Kubernetes, npm, Prettier, Visual Studio, VSCode, webpack

Operating Systems: ChromeOS, GNU/Linux, MacOS, Windows

Office Software: Apple iWork, Google Docs, LaTeX, LibreOffice, Microsoft Office

Professional Affiliations: IEEE Computer Society, IEEE Robotics and Automation Society, IEEE Communications, Association for Computing Machinery

Soft Skills: Constructive feedback, desire to listen and grow, effective concise communication, problem solving with minimal guidance