Career History
Technology Serves People
Once upon a time, programmers were in such demand that a complete novice such as myself could get hired as a software engineering intern for $10/hr, converted to full-time two months later, and serve as 1/3 of the team that built Birkenstock’s first e-commerce system over the next nine months. We did not know what we were doing, but our amateurish code stayed in production for a decade and helped put millions of pairs of sandals on customers’ feet. That impact gave me a high that has never dissipated. To this day, I’m addicted to shipping software that touches people’s lives.
Competence seeming like its own reward, I pursued a Master’s degree in Computer Science before joining Industrial Light & Magic. We sold novelty under intense time pressure. In one early assignment I nervously handed over a “proof of concept” and was shocked to be lauded for unlocking the artists with code that broke 1/4 of the time. Under post-production deadlines, quality next week was a failure while bug-riddled usability this week was an achievement.
I don’t know that I ever want to work at such a low level of craftsmanship again, but I treasure the deeper lesson:
Every significant technical decision you make should support your business model
Even at I.L.M., quality had value. I was given ownership of the asset management system. Over several years I rewrote it piece by piece, as the work it needed to support scaled 1,000x. That effort required resisting the company culture of working from one fire drill to the next.
Leadership Spans Domains
Former I.L.M. colleagues recruited me to Mozilla. I was asked to lead the cross-company team building the identity system for our smartphone OS in nine months. This ambitious project had multiple API-as-Product layers:
- a “sign in to your device” / “find your device” integration with the OS with heavy Telecom partner requirements
- the general “Firefox Account” effort, implemented as layers of open-source APIs from server through Gecko, the application layer shared between Firefox and FirefoxOS, and Gaia, the UI layer for the latter
In addition to managing a development effort spanning hundreds of tickets and 10 contributors from 5 organizations living on 4 continents, I wrote tens of thousands of lines of JavaScript.
Wanting to gain more transferable skills, I joined Mozilla’s data engineering team where I orchestrated dozens of EC2 instances to process petabytes of data needed to back our revenue negotiations with search engine partners. Coding large, distributed systems is a fundamentally different craft from writing local, single-threaded programs. I shared what I’d learned at SciPy.
The Stakes Are Higher in Energy
A desire to work on clean energy led me to Stem, an A.I. energy startup where I was hired to lead the nascent Virtual Power Plant team targeting California’s Emergency Load Reduction Program. We integrated our researchers’ optimized power scheduling with SCADA commands received from Southern California Edison control centers. It was an introduction to working with hardware in a regulated, high-stakes environment.
In 2019 I left Stem to become an engineering manager at Angaza, where our systems supported millions of solar home systems and other IoT devices. At the time, regular outages in our cloud infrastructure led to tens of thousands of people losing power they had paid for. After analyzing all of the incident data we had, I redid the architecture of our resource provisioning system to eliminate a class of errors and sharply increased uptime. Then I partnered with the Chief of Staff on the design, architecture, and successful launch of an enterprise API product. I mentored junior engineers who went on to earn promotions from other managers. Small, high-performing teams succeed or fail on their hiring.
The Big Leagues
I joined the mobility division of the country’s largest energy utility in 2021 when the head of technology who had worked with me at Stem recruited me with a candid pitch: his electric vehicle software startup had been acquired, and it wasn’t going well. I rebuilt the technical organization that shipped its ambitious technology.
- I hired 20 people, retained 19, and built them into an organization of 4 teams that delivered ahead of the final schedule at measurably high quality
- We launched a $675MM partnership with a $54MM software component that I negotiated and owned
- Our work is on its way to saving > 1MM tons of CO2e annually, along with PM2.5 reductions that will save lives
The LLMs Are Here, They Just Aren’t Evenly Distributed Yet
Writing LLM-driven Tooling
When the utility sold its mobility division in late 2024, the founder of its home solar division recruited me to take over LLM implementation, and eventually data engineering. I architected and coded an LLM-powered business intelligence system for our customer call transcripts, building the ETL, prompt pipelines, and evaluation frameworks. I then consulted on the development and production release of an LLM-powered contract verification system for validating tens of thousands of long legal documents with an average value of $20,000 each in a highly regulated environment requiring perfect auditability and very high accuracy.
Driving LLM Adoption
Along the way, I made bets to slow-walk our investments in R.A.G. and in-IDE code chat, which paid off when longer context windows and agentic coding arrived in just a few months. Watching the organization struggle with LLM adoption, I pitched and built a training program aimed at managers and directors. I delivered 300 person-lessons on how LLMs actually work to drive team-level adoption across job functions. I also took on Director of Engineering responsibilities for our data engineering teams.
Before the rise of LLMs, there were abundant opportunities to craft new software and conventional AI that had impact at scale. LLMs have expanded the range of possibilities enormously, while accelerating individual productivity in a way that upends much of what we’ve learned about running technical organizations. If you’re building something ambitious, reach out.