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.