I'm currently in the market for a job. My career has spanned a variety of domains, and I've developed expertise in many of them. This is well-illustrated by the work I've done over the past decade:
Most recently, I've been working on a book about software design. My approach is mostly grounded in linguistics and information theory, and I suspect it will be highly relevant to any attempt to use language models to create long-lasting, high-quality code. If you have a role that would let me put this theory into practice, I'm definitely interested in talking.
I was a Principal Engineer at Semantic Machines, which had been acquired by Microsoft and placed within MSR. I was hired to help transform their prototype — a calendar assistant — into a general framework for conversational interfaces. My key contributions included:
I wrote a book about the Clojure programming language, and also noodled around with some personal projects. Some highlights:
I was a Lead Engineer at Fitbit, which was in the process of splitting their monolithic core service into smaller services. The first step was to create a frontend service, which would authenticate and route each incoming request. They had written a prototype using Netty, and were looking for an expert in that library. Since I had been using Netty in my own open-source library for a number of years, I fit the bill. My key contributions included:
I was a Staff Engineer at Factual, which was a data provider for geographic locations. Its dataset was the original basis for both Facebook Places and Apple Maps, but pretty soon that customer base was exhausted. Predictably, for the time, they pivoted into mobile ad targeting. I joined shortly before the pivot, and wrote a lot of the software that sat at the interface between our data and the rest of the ad ecosystem. My key contributions included: