References on request
I want to help you with your internal developer tooling as well as tools as a service.
My work saves developers time and stress.
For the last decade, I’ve worked on tools and systems that inform developers where problems are in their code base; at run time and from defect reports, at companies such as Bandcamp and Mozilla.
The more reliable information you have: in a runtime error message, or a bug report, the more likely you’re going to resolve the problem behind it.
I work on both code and process with people across the whole business-not just engineering.
My experience also includes work on consumer and enterprise products at Apple as well as Linden Lab.
Oakland, California, Pacific Time (UTC-8)
US Citizen
October 2020 - October 2023
As an engineer in the Developer Tech team, I built and maintained tools used by Bandcamp engineers working on our web app used by thousands of artists and millions of fans worldwide.
Redesigned and migrated critical MySQL database tables and the code dependent on them to avoid limits imposed by technical debt, preventing a situation where we would have had been unable to accurately track plays of artists’ tracks, potentially costing them royalty payments from PROs
Improved runtime error reporting tools in Ruby to filter stack traces: identified affected code, provided context, and notified teams responsible via Slack, resulting in rapid response to production issues
Updated Gems and other code to support modern (3.x) Ruby across development, staging, and production environments. These changes increased our throughput per app instance, reducing the size and cost of our production fleet
Developed, coached, and trained engineering teams on best practices for managing their bugs and backlog of work in Phabricator, and trained them on and provided support for our developer tools
Built a webhook endpoint to collect delivery, bounce, and spam reports from SendGrid, which enabled the support team to research and close cases faster
November 2015 - August 2020
As Staff Engineering Program Manager (a.k.a. Bugmaster) for the Firefox Developer Workflow team, I developed and implemented bug handling policies and processes for Mozillans-both staff and community members-and educated them on best practices.
Working with, and incorporating the feedback of engineering team leads, I designed and implemented a consistent scheme for triaging bugs affecting Firefox and reported in Bugzilla, providing engineers and engineering leadership with a unified view into the state of a codebase encompassing millions of lines and hundreds of components, and enabling a move to a monthly release cycle
Using a ML classifier developed by engineering operations, I was able to assign a significant number of new bugs to the appropriate product and category as they were reported; reducing staff and contractor workload, and the time it took to get a bug in front of an developer to hours instead of 7 to 14 days
Developed rules and policies for using feature flags to deploy new Firefox features off-release cycle, preventing and reducing release-related bugs
Developed and operated a process for handling reports of abusive behavior in our public bug reporting tools, which created a safer space for Mozilla’s engineers and volunteers contributing code; led consensus building on process by drafting and shepherding proposal documents through engineering, QA, release, and leadership
Contributed to a major revision of the Code of Conduct for Mozillans, and tested a pilot professional development course for Mozilla staff from underrepresented groups
Gave multiple presentations on engineering workflow and feature release processes at conferences such as Open Source Bridge, FOSDEM, Node.jsConfEU and Trajectory
Wrote and managed documentation for bug handling
Wrote sample code to guide teams building tooling on top of Bugzilla’s APIs
June 2014 - July 2015
Integrated a third party service for managing TV viewer’s DVRs, maintaining the interfaces to existing Peel DVR APIs as a drop in replacement
Improved user conversions to our mobile apps through integrations with Twitter, Facebook, Google App Store, and iTunes Store
Wrote unit and functional tests for Tune-In platform using Selenium, JUnit, and Mocha/Chai/Sinon
Established processes for continuous release of our web applications in conjunction with DevOps
Built proof of concept for a phone-based television remote for FirefoxOS
April 2011 - May 2014
Improved performance of customer reporting website by switching from an older database interface to fetching results through a web API called from the client side; reduced page loads from minutes to fractional seconds
Built reporting and management website for new static code analysis product using Backbone and RequireJS and web APIs
Built new UI for main customer-facing reporting and administration website using Backbone and RequireJS
July 2010 - March 2011
Built prototype application for Samsung ConnectedTVs providing search for events and concerts via a web API which integrated Google and Bing maps into results
Constructed other prototypes using PHP and Ruby On Rails
Developed web applications on Ning using Javascript, HTML, and OpenSocial
September 2007 - June 2010
Under tight deadlines and shifting requirements, worked with a distributed team of developers and product managers to deliver simulator and client components for a new identity management feature for the Second Life 3D virtual world
Supported developers building tools for managing 3D content exported from Second Life for customers of Second Life Enterprise; wrote test plans for QA team in Singapore, as well as deployment plans for release team. ran daily scrums, and represented team at Enterprise team scrum of scrums
Managed Open Grid Public Beta program, which involved over 100 residents and developers, enabling transfers (“teleport”) of avatars between a Second Life beta grid and externally managed OpenSim grids
Developed a plan to promote the Beta Program, communicating the benefits to not only developers, but the broader Second Life resident community
Developed inventory provisioning code in PHP and Python that outfitted new Second Life residents with custom avatars based on the popular television show CSI:NY, and worked with developers from Electric Sheep to integrate their registration system with Second Life’s and support a peak of 20,000 new registrations in one hour during the episode’s initial airing
Developed user and inventory snapshot code to improve unit tests for developers
Worked with other web and back end system engineers to find bottlenecks in web services
September 2001 - August 2007
Developed Ajax and JSON-driven web applications for .Mac Customers: Gallery, Webmail, and iWeb Comments
Developed web applications for Apple Employees and HR professionals, including: Online Learning, Content Management Systems, and Web Based HR Manuals
January 2023 to Present
Under the direction of the Range Safety Officer, I operated launch control systems for low, mid, and high power model rockets, made launch and safety announcements, and watched for hazards on our flight ranges which would endanger participants and spectators, and/or prevent launches.
In April of 2020, when it was clear that an in-person event was not possible, I took the tech lead role on an effort to pivot a 1,000 person conference to online; We were able to pivot to online, and run an event which had greater participation than in person (more people, from more places, and more diverse audience)
I wrote our run books for live panels using Zoom, Jitsi, and YouTube, worked with professional transcribers to provide real time captions, helped set up an online space for the conference using Discord, and wrote chatbots for the Discord
Prior to our pivot to online, I was the co-lead for one of the safer spaces at the in-person event, managing the volunteer schedule and logistics
University of Wisconsin-Madison, 1990
University of Texas at Austin, 1987