Mastodon

Resume

I have been coding as a hobby for over twenty five years and professionally for over a decade. I have several years of embedded experience on multiple platforms. I have developed several open-source system libraries and maintained GCC toolchains for a few different hardware platforms. I have extensive experience with custom continuous integration at tech scale. I have experience with compiler-like refactoring and decompiling engines which have been used to safely modify codebases as large as 2 million lines. I am not currently seeking employment. If you wish to contact me anyway, please send an email to dragonminded@dragonminded.com.

Education

Bachelor of Science from University of California Los Angeles

  • Majored in Computer Science with a technical breadth in Electrical Engineering
  • Graduated in December 2009 with Magna Cum Laude

Work Experience

Software Engineer at Instagram, Inc. (2018-2020)

  • Created LibCST, a whitespace-aware syntax tree that allowed large-scale and complex automatic refactoring of Python 3.5/3.6/3.7/3.8 code.
  • Helped automate the transition to fully-typed Python on massive internal repository, was personally responsible for over 1/3 of the codebase's types.
  • Helped run and advised on the weekly post-mortem roundup dealing with public-facing site-wide issues.

Software Engineer at Facebook, Inc. (2015-2018)

  • Co-designed, implemented, rolled out and maintained the testing portion of Facebook's internal CI system which validates almost every software change made internally.
  • Tech lead on internal multi-repo test runner which unified and simplified local and remote test execution.
  • Lead several high-profile system deprecations and replacements in order to lift major bottlenecks in testing.

Senior Software Engineer at KIXEYE, Inc. (2013-2014)

  • Worked on the internal customer service portal implemented in PHP, Python and AngularJS unifying all game administration under one common web application.
  • Integrated active directory into the internal single sign-on infrastructure written in Python.
  • Designed multiple REST APIs between game teams and core teams to facilitate scalable data communication across the company.
  • Productized several prototype PHP applications by developing deployment plans, regression tests and addressing poorly written sections of code.

Embedded Software Engineer at Vulcan Wireless, Inc. (2012-2012)

  • Lead small team in developing an experimental small form factor software-defined radio for a satellite.
  • Implemented an in-house transport layer protocol for use on software-defined radios that enabled line-of-site radios to extend their range using low-earth-orbit satellites.
  • Worked on features and bug fixes on several MSP-430 microcontrollers.

Software Engineer at ViaSat, Inc. (2007-2012)

  • Wrote and tested device drivers and application software in embedded applications that have shipped worldwide.
  • Designed and implemented firmware upgrade capabilities to allow embedded processors to field upgrade.
  • Responsible for internal suite of tools designed to aid project estimation and proposals.

Software Developer for Robotics at UCLA (2007-2008)

  • Built command and control software on robotic platform as well as the client software that operated remotely on a Linux PC.
  • Designed communications protocols to send live video data from remote operating vehicle while reserving bandwidth for realtime control and data acquisition.
  • Coded a plug and play microcontroller interface to allow for GPS, temperature, heading, proximity and accelerometer data to be live captured.

Technical Skills

  • Fluent in both Python 3 and C with extensive experience in assembly for several ISAs.
  • Capable of writing code for extremely limited embedded applications all the way up to tech-scale web applications.
  • Experience with a wide range of processors including x86, ARM, MIPS, PPC, Z80, SuperH, MSP430 and 6502.
  • Exposure to Java, PHP, C++ and shell scripts for coding applications and test tools.
  • Experience with deploying and maintaining custom toolchains and in-house system libraries for a variety of platforms.
  • Comfortable with development in a Linux environment, including makefiles, git, mercurial, ssh and other standard tools.