General
Software Engineer
May 2018 - Present
Apple Inc., Cupertino CA
- Distributed Systems Software Engineering
Software Engineer
Sept 2017 - May 2018
Wish, San Francisco CA
- Container orchestration with Kubernetes, with a Wish-specific network model
- Participated in late-2017 stability effort, adding observability into the data proxy layer, and providing Go expertise
Software Engineer
October 2012 - Sept 2017
Apple Inc., Cupertino CA
- Distributed systems software development (HPC batch scheduler)
- Services and tooling for internal compute infrastructure
- Built a system Package manager to aide in internal software deployment
- Device-level testing automation
Software Engineer
June 2011 - August 2012
Fusion-io, SLC UT
- Web application (Django) for device serialization and customer part tracking
- Python libraries for NAND validation
Professional Services Engineer
Dec 2007 - May 2011
Adaptive Computing Enterprises (formerly Cluster Resources), Provo UT
- Professional Services - Python application development
- Presales - assisting sales team in answering and explaining technical aspects of our products.
Internship
May 2007 - Aug 2007
- Integrated in-house Fortran code into API
- Worked with MPI-based API for large-scale multi-physics simulation
Research Assistant
Jan 2006 - Dec 2007
- Application Development: CFD integration and automation
- Multi-physics Computational Fluid Dynamics integration
Co-op
Jan 2005 - Dec 2005
- Collaborated design changes on preliminary engines
- Received Appreciation Awards from two different groups
- Modeled parametric parts for a parametric jet engine
Pace Research Group
April 2004 - Dec 2004
- Experience with Fluent, Gambit and Altair HyperMesh
- Created documentation for students, used in ME 412
Teaching Assistant
Sept 2002 - Dec 2004
- Taught in-class presentations to over 50 students
- Over 1000 hours of Parametric CAD Modeling
Teaching Assistant
Sept 2001 - Sept 2002
BYU Math and French Departments
- Graded Assignments for Calculus
- Graded Assignments for French
Education
M.S. Mechanical Engineering
Fall 2006 - Passed Defense July 5th, 2011; Graduated April 2012
- Developed an nth-order accurate distributed interpolation scheme
- Published research in 2011 scipy proceedings
- Stephen McQuay Thesis
- Defense Presentation
- First year Full-funding by Pratt & Whitney
B.S. Mechanical Engineering
Dec 2006
- Member of Tau Beta Pi - Engineering Honors Society
- Tuition Scholastic Scholarship Fall 1998-Winter 2003
Skills
-
I have been writing Go since 2012. Here are a few example works:
- cs -- a program that performs a wide collection of checksums against files in parallel
- Hackerbots -- the back-end is a highly concurrent app that I have been working on with Fraser Graham
- allowances -- a simple app to keep track of our children's allowances
- Mardson Math Game -- A little web app to help my child learn arithmetic
- servedir -- a (safer) replacement for
python -m SimpleHTTPServer
- jsoon -- a replacement for
python -m json.tool
- lim -- a program that truncates a stream of bytes to a certain size
-
I have been using Python professionally since 2009
- Masters thesis code uses Numpy and Scipy
- Database: PostGreSQL, sqlite, etc.
- I am moderately proficient with other tools required to get one's job done on a Unix system (vim, bash/zsh, general Unix tooling (grep, awk, xargs, etc.), tmux, curl, mutt, etc.)
- Snowman piece accepted in Blender Art magazine issue 25 (attributed to Stefan McQuay).
Open source
- Projects started by me: please see personal software
-
Reported and fixed bug in how
go get
interprets vanity urls - Contributed nameserver lookups to go
- Clarified some documentation in json package go
- blender -- Primarily documentation. I researched the feasibility and utility of adding Dyn/Zorin Butterfly interpolation as an alternative option for surface subdivision (surfaces)
Mechanical Engineering-specific Skills:
Spoken Languages:
- French - spoken with near-native proficiency
- German - conversational
- Portuguese - conversational
Presentations
- Go Northwest: 2018-08 -- Go idioms discovered building a system package manager
- GoSV: 2015-02 -- static asset embedding
- Gophercon 2014 -- Why Killer Robots are a Concurrency Problem (video)
- BayPIggies: 2013-01 -- Introduction to fabric
- Scipy 2012 -- Surface Subdivision Schemes for Python (video)
- UTOS 2012 -- Grandpa I don't want none of your c++!! (video, notes)
- UTOS 2012 -- Will it Blend?! (3 hour introduction to Blender)
- UTOS 2012 -- Blender Python API (video)
- UTOS 2010 -- Torque: Open Source HPC for home use
- UtahPython: 2011-09 -- Virtualenv and virtualenvwrapper
- UtahPython: 2010-01 -- Threads and multiprocessing
- UTOS 2009 -- Introduction to Python
Volunteer Experience
October 2012
- Implemented a Django web application to keep track of auction dinner inventory and winners.
Full-Time Volunteer
Sept 1999 - Sept 2001
- Appointed to acquire, maintain, and remit over 100 apartments in the Parisian area (Jan - June '01)
- Designed and implemented a program to improve health and safety in volunteer apartments
- Organized and Taught English Courses to French natives
references available upon request