I am a full stack software developer with experience in a wide variety of technologies. I’ve built web, mobile, and desktop applications. I’ve programmed microcontrollers and FPGAs, designed electronics and hardware. I love working with databases and on any kind of data processing, analysis, or visualization problem. I build custom tooling and automation, but I use off the shelf solutions when appropriate. I’m a decent 3D graphics developer and I haven’t forgotten all of my linear algebra and calculus.

My favorite languages include Golang, Typescript, and Swift, but I’m very experienced with Python, JavaScript, C/C++, and more. I value testability, consistency, and simplicity in the systems I build.

I believe that collaboration is the key to getting the best out of a group of people. As a mentor, leader, or integral part of a team, I work hard to communicate clearly and foster an environment where diverse opinions are encouraged.

Above all, I consider myself pragmatic, creative, and resourceful when it comes to solving problems. I want to build great products, and believe that the value of the products we build together matters more than any specific technical decision.

Staff Software Engineer

Beyond Identity
June 2019 - present

Software Engineer

Uplevel Security
June 2018 - Feb 2019

Developed a microservice-based system using Go, Protobufs, gRPC, neo4j, and Docker. Built a single page application and data visualizations for cyber security analysis using TypeScript, React, d3, and Threejs.

Software Engineer

Gracious Eloise
July 2013 - May 2018
  • Developed a mobile app with a novel architecture merging Swift/Java with portable Go, JavaScript, WebGL, and a Go backend.
  • Helped design and implement external APIs in Go, Python, and Ruby for our handwriting services. Most recently available at handwriting.io.
  • Developed a proof-of-concept Python-based machine learning system for handwriting style analysis. This included a web app with a number of "training games," data visualizations for evaluating the system, and an interface for submitting a handwriting sample and returning the closest matches.
  • Modernized core technology stack by porting legacy software from Java to Go, and from Mathematica to Python.
  • Helped with systems operation work such as: moving development to Docker, continuous integration, auto-scaling, immutable infrastructure, instrumentation and more.
  • Contributed to and helped shape the company strategy and culture in a small team.

Co-founder

FPGA Mining
Aug 2011 - Feb 2013

The first custom Bitcoin mining hardware company. Founded by myself and a few friends as a fun weekend project, it turned out to be a successful business. I was involved in all aspects of the business, from hardware and software design to negotiating with parts suppliers and manufacturers.

Senior Research Assistant

Loma Linda University
Oct 2008 - May 2013

Medical physics researcher, with a primary focus on designing, building, and evaluating detector hardware and data acquisition systems for proton computed tomography. Also involved in other aspects including: data processing and statistical analysis, developing procedures for system calibration and evaluation, conducting experiments with the proton accelerator, developing Monte Carlo simulations, and optimizing computational and mathematical aspects of the image reconstruction software.

Assistant Specialist

Santa Cruz Institute for Particle Physics
Jun 2007 - Aug 2008

Performed experiments to characterize solid state charged particle detectors for the Large Hadron Collider, and developed a simulation to quantify radiation damage to the detectors.

B.S. Physics University of California, Santa Cruz 2003 - 2007
Received honors for my senior thesis, Characterization of Irradiated Silicon Strip Detectors Using Doping Density Simulations.