Work Experience

2020–Now
Apple Senior Software Engineer
  • Developed and improved GUI tools for pre-silicon emulation and debugging.
  • All phases of full stack development, including project proposals, application deployment, and creating analytics dashboards to visualize user behavior.
  • Mentored new developers, to share knowledge and promote best practices.
2007–2020
Control Z, Inc. Senior Software Developer
  • Developed embedded software in C and C++ to be intuitive, performant, reliable, and safe. Applications include large-scale LED installations, fitness devices, and controlling a high voltage heating element.
  • Developed web applications to accelerate development, enabling simulation of firmware, and empowering designers to construct UI more efficiently. Used React, AngularJS, TypeScript, and others.
  • Used gdb and Ozone to debug code running on Nordic NRF, STM32, and FreeRTOS.
  • Implemented text and graphics rendering layers on embedded systems, with compression to fit large character sets and UTF-8 strings.
  • Designed and implemented realtime maps for an embedded fitness device, with GPS tracking, rotation, scaling, and custom compression for increased performance.
  • Prototyping, UI design, and UX advocate for a popular fitness tracker.
  • Component selection, circuit design, and engineering of several projects, including an all-weather 500-watt LED sign.
  • Developed configuration interfaces, enabling non-programmers to modify software behavior.
  • Developed a live coding framework, virtual machine, and network architecture for an embedded platform, enabling rapid iteration and experimentation on-site. Used Javascript, TypeScript, C++.
  • Solved graphical and motion design challenges using OpenGL, WebGL, and other platforms.
  • Developed algorithms for realtime analysis of motion, audio, and touch-based gesture recognition.
  • iPhone and iPad development, including a best-selling multi-touch musical instrument on the App Store.
  • Full-stack development of CMS websites, using a variety of databases, front-end frameworks, and asset processing scripts.
2006–2007
Second Story Interactive Studios Interactive Developer
  • Developed interactive media experiences to be responsive, engaging, and performant.
  • Collaborated with designers to create fresh user interfaces and graphical effects.
  • Built a configurable website framework, allowing designers to modify and perfect the visual design, without learning a programming language.
  • Managed large data sets, and built custom APIs to search and retrieve assets.
2005–2006
Freelance Web Developer
  • Designed and built a full website for a regional newspaper, including an events calendar, and maps to nearby distributors.
  • Developed a CMS using Ruby on Rails and MySQL.
2002–2005
Mentor Graphics Data Integrity Specialist
  • Developed an automated pipeline for collecting data, and updating staging and production databases.
  • Curated a standardized dataset of major cities around the world.
1997–2002
Freelance Audio Engineer
  • Developed a web-based composition tool for extracting drum-like sounds from audio input, and synthesizing new beats and musical phrases.
  • Developed computer applications for processing audio, and custom DSP effects.
  • Music composition, sound design, and audio mastering for full-length and short films.

Education

1997
  • University of California at Davis Bachelor of Arts: Music

Skills

  • Code architecture
  • Code review
  • Codebase ownership
  • Compression
  • Configuration driven development
  • Debugging
  • Graphics
  • Hardware prototyping
  • Human-centric interfaces
  • Live-coding
  • Mentoring
  • Motion design
  • PCB design
  • Project planning
  • Refactoring
  • Simulators
  • Software prototyping
  • Soldering and assembly
  • UI Development
  • Unit testing
  • Visual design

Technologies

  • Arduino
  • Autodesk EAGLE
  • ARM
  • AVR
  • BLE
  • C
  • C++
  • CSS
  • e-Paper
  • ESP32
  • FreeRTOS
  • Git
  • GitLab
  • GLSL
  • HTML
  • iOS
  • JavaScript
  • Jira
  • KiCad
  • Linux
  • MySQL
  • Node.JS
  • Objective-C
  • OpenGL
  • OpenSCAD
  • Python
  • React
  • Sass
  • TCL
  • Three.js
  • TypeScript
  • WebGL
  • Webpack
  • Xcode

Speaking Engagements

2019
2018
2018

Interviews

2020
2019