About Me

I’ve been fortunate to collaborate with fantastic teams at small startups and large corporations: as the lead engineer at Bot & Dolly; as a staff software engineer at Google X; and, most recently, as head of software at the cloud robotics startup Formant. I hold a computer science degree from Brown University and briefly taught computer science in Shanghai.

In 2019, I was a keynote speaker at ROSCon, where I spoke about technical opportunities in disciplines adjacent to robotics. I’ve also given talks at Pixar and various industry conferences, and discussed observability on the RealWorld DevOps podcast.

Having worked with visual artists, architects, storytellers, and fabricators, I see my expertise as one tool among many. My hope is to work with the most talented and creative people I can find: I believe that meaningful, original, exciting ideas live at the frontier between technology and other disciplines. Technology for technology’s sake is, at best, tedious; technology in service of great ideas can be sublime.

Over the past decade, I’ve held leadership, individual contributor, and client-facing roles. I love melding minds, building teams, and delivering incredible work on tight deadlines.

skill sets

I have a decade of professional experience in the following domains:

  • Writing production code in C++, Typescript, Go, and Python
    • Design patterns, FP, OOP, concurrency, networking, systems programming
  • Building performant, secure, scalable backend architecture
    • AWS, GCP, Kubernetes, API management, SQL, NoSQL, stream processing, microservices, build / release, IaC
  • Building UI for media, 3D, and data-intensive applications
    • React, QT, WebGL, OGRE, Three.js, WebRTC, Processing, openFrameworks, Cinder, FFmpeg
  • Building robotics, automation, and IoT applications
    • Autonomy, safety, industrial robots, real-time systems, planning, sensor integration, ROS, OpenCV, PCL, Matlab
  • Integrating with and extending content creation tools for design, modeling, VFX, and non-linear media
    • Maya, Unity, TouchDesigner, Rhino, Adobe CS, FFmpeg
  • Integrating with stage, film, and broadcast technology for the control of lighting, sound, and multimedia
    • DMX, MIDI, OSC, BlackMagic, RED, Canon, Phantom, Arri
  • Reasoning about problems involving 3D, time, motion, and perception
    • Motion planning and control, sensor fusion, 3D reconstruction, localization / positioning, time synchronization
  • Writing for technical and non-technical audiences
    • Documentation, specification, communications, marketing content
  • Targeting desktop, mobile, web, and embedded platforms
    • Linux, OSX, Android, iOS, x86, ARM, Web browsers, PLCs, microcontrollers