I create digital experiences for humans to enjoy.

Work Experience

2020–Current
Apple Senior Software Engineer
  • Application development in a team environment, including gathering requirements, writing project proposals, scheduling and delegating tasks, deploying to cloud servers, and creating analytics dashboards.
  • Developed full stack applications for pre-silicon emulation and debugging, utilizing datasets larger than 1TB.
  • Documented and advocated for best practices, including component reuse, and building wrapper classes and mixins to solve UI challenges site-wide.
  • Mentored new developers, to share knowledge and promote code quality throughout the organization.
2007–2020
Control Z, Inc. Senior Software Developer
  • Developed software and hardware for diverse platforms, including mobile devices, and large-scale interactive experiences.
  • Developed tools to accelerate workflows, enabling developers to simulate firmware, designers to efficiently construct UI, and non-programmers to customize software behavior and appearance.
  • Solved graphical and motion design challenges using WebGL and GLSL shaders, enabling visual experiences with millions of sprites.
  • Developed live coding frameworks, virtual machines, and network architecture for embedded platforms, enabling rapid iteration and experimentation on-site.
  • Implemented text and graphics rendering layers on embedded systems, with compression to fit large character sets, and display maps in realtime.
2006–2007
Second Story Interactive Studios Interactive Developer
  • Developed web and 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 their visual designs, without learning a programming language.
  • Managed large data sets, and built CMS applications and custom APIs to store, retrieve, and search assets.

Skills

  • Code architecture
  • Code review
  • 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

Technologies

  • Arduino
  • Autodesk EAGLE
  • ARM
  • Bootstrap
  • C
  • C++
  • CSS
  • Django
  • Docker
  • ESP32
  • FreeRTOS
  • Git
  • GLSL
  • HTML
  • iOS
  • JavaScript
  • Jira
  • KiCad
  • Linux
  • MySQL
  • Node.js
  • Objective-C
  • OpenGL
  • OpenSCAD
  • PixiJS
  • Python
  • React
  • Redux
  • Sass
  • Three.js
  • TypeScript
  • WebGL
  • Webpack
  • Xcode

Speaking Engagements

2019
2018
2018

Interviews

2020
2019