Small Screen?

The adaptive resume wasn't designed for screen widths smaller than 1024 pixels. May we suggest one of these preconfigured options.

DustinLennon

Applied Scientist

https://dlennon.org/resume

dustin.lennon@gmail.com

206-291-8893

Dustin Lennon

rocket_launch

Applied Scientist

Introduction

sentiment_satisfied

Hello, reader!

First things first: this is an adaptive granularity resume where you control the level of detail. With that out of the way, let’s get down to business.

Who am I?

Professionally, I describe myself as half software engineer, half statistician. Not a unicorn, more like a horse wearing a birthday party hat. I’ve spent the last twenty years working on all sorts of statistics and data science problems, occasionally creating things of modest value. My goal is always actionable, intuitive deliverables; eliding the technical details, more often than not.

At heart, I’m a builder that believes in the value of reproducible analytics. I take pride in developing code that is clear, robust, and scalable.

Table of Contents

Employers

group

bill and melinda gates foundation

roles

group

conviva

roles

group

microsoft

roles

group

servicenow

roles

group

inferentialist llc

roles

group

zillow

roles

group

globys

roles

group

numerix

roles

group

university of washington

roles

group

mit lincoln laboratory

roles

Roles

computer

contractor (slalom) Bill and Melinda Gates Foundation

I reviewed the team's existing code and data pipelines and worked with the principal investigators to identify technical debt and stabilize infrastructure.

computer

principal data scientist Conviva

My technical work focused on improvements to the Stream ID product (community detection). More generally, I tried to socialize data science best practices and build a more data-driven culture.

computer

contractor (teksystems) Microsoft

I provided data science support to the Xbox Cloud Gaming team.

computer

senior data scientist ServiceNow

I developed novel statistical algorithms: identifying correlated events in log data; forecasting and alerting for resource-related metrics.

computer

senior data scientist Microsoft

I evangelized in-house, A/B testing for partner teams across Microsoft.

computer

researcher / senior data scientist Microsoft

I investigated novel statistical and ML models for classifying customer support issues and provided general statistical support to Office 365 business partners.

computer

lead statistician Inferentialist LLC

I provided client-facing statistical support and data science expertise across a variety of problem domains.

computer

quantitative modeler Zillow

I identified valuations of poor quality and applied post hoc corrections. I also worked to identify algorithmic instabilities; built prototypes featuring regularized, interpretable models with spatiotemporal priors; and suggested improvements to existing methodologies.

computer

machine learning intern Globys

I built statistical models to improve up- and cross-selling of mobile add-on packages.

computer

consultant Numerix

I continued to provide solutions for numerical stability issues arising in the multi-factor backward lattice algorithm.

computer

graduate teaching / research assistant University of Washington

I supported my PhD studies with teaching and research.

computer

senior software developer Numerix

I worked on numerical codes for pricing exotic financial derivatives.

computer

graduate teaching assistant University of Washington

I was a graduate teaching assistant: college algebra, calculus, introductory statistics courses, and numerical linear algebra.

computer

technical staff MIT Lincoln Laboratory

I implemented backscatter models and tracking algorithms for RADAR applications.

Projects

deployed_code

ghost blog: config + tooling

I set up a Ghost blog / portfolio for featured articles that I've written. It runs as a systemd service in a Docker container, and there's "one-click" tooling to publish from both jupyter and markdown formats.

sites

repos

deployed_code

metayer: an r toolbox to facilitate projects of larger scope

Metayer is an R package that addresses a few of the common pain points associated with evolving an R script / one-off analysis into a proper, productionalized, well documented, data science deliverable.

sites

repos

deployed_code

abstracting access to intermediate results bill and melinda gates foundation, contractor (slalom)

I built an alternative to DVC that leveraged upstream configurations and abstracted access to incremental, upstream results. This provided a machinery to write cleaner, stage-focused, client code.

deployed_code

an r package artifactory bill and melinda gates foundation, contractor (slalom)

I built an R package server (an artifactory) so we could fix development environments and replicate them across the team. This served precompiled binaries, so it also provided efficiencies over regularly recompiling source libraries in CI/CD.

deployed_code

leveraging hierarchical polymorphic patterns in r bill and melinda gates foundation, contractor (slalom)

I built a framework for encapsulating directory-organized code and used chained R environments to provide module-level polymorphism.

deployed_code

reliable data ingestion bill and melinda gates foundation, contractor (slalom)

I built a robust data ingestion tool for tables available through the POLIS API.

deployed_code

instrumentation as a service conviva, principal data scientist

I built a web visualization tool--a circular Sankey diagram--to drive a discussion with Product about the benefits of leveraging customer domain knowledge.

deployed_code

reproducible research tooling in databricks conviva, principal data scientist

I built a reproducible research framework that cached incremental results in an effort to improve data science collaboration and reduce compute costs.

deployed_code

customer rfp / stream id v2 conviva, principal data scientist

I spearheaded the technical work that extended the Stream ID product. This was showcased in an RFP that would have otherwise been outside the scope of our existing product.

deployed_code

metrics for comparing incomplete partitions conviva, principal data scientist

I improved a family of existing metrics, and introduced some new ones, used to compare Stream ID households against a third party dataset.

deployed_code

synthetic data generation conviva, principal data scientist

I built an event-based model to simulate ground truth for the household identification problem.

deployed_code

capacity planning with novelty effects microsoft, contractor (teksystems)

I reviewed the existing estimates for xCloud GA resource requirements, built a model that suggested they were too high, and made recommendations for significant reductions.

deployed_code

the impact of xcloud on xbox console behavior microsoft, contractor (teksystems)

I did a retrospective analysis to determine whether access to the xCloud platform into a user's choice set changed existing behavior with respect to Xbox console.

deployed_code

reading group posts

A collection of posts that fall under the umbrella of textbook annotations.

posts

deployed_code

miscellaneous python library extensions and utility functions

I have intermittently worked on some small scale, python utility projects.

repos

posts

deployed_code

publishing platform for interactive jupyter notebooks inferentialist llc, lead statistician

I built a publishing pipeline / platform to host my CV and portfolio.

sites

posts

deployed_code

charity search inferentialist llc, lead statistician

I imported non-profit IRS tax returns into ElasticSearch and built a website to search for local charities.

deployed_code

multivariate kalman filter python package inferentialist llc, lead statistician

I developed a python package that implemented a multivariate Kalman Filter.

deployed_code

twittalytics: trending on twitter inferentialist llc, lead statistician

The backend monitors the Twitter stream and maintains a dynamic list of trending hashtags; and, for each hashtag, a random sample of relevant tweets. The front end shows the world what's currently popular on Twitter.

deployed_code

kalman filtering with erratic noise servicenow, senior data scientist

I used a missing data property of Kalman filters to kick off a noise-or-not detector that enabled more sensible alerting in erratic long-tail scenarios.

patents

deployed_code

determining correlated events in log data servicenow, senior data scientist

I developed a statistical algorithm to surface event pairings that had highly correlated arrival times. I tested the algorithm on simulated data from a generative model based on branching processes.

deployed_code

avocado: big data summary tool microsoft, senior data scientist

I developed a generic, big data summary tool for columnar data.

deployed_code

onboarding partner teams to the bing experimentation platform microsoft, senior data scientist

I developed overall evaluation criteria and helped orchestrate first experiments with Bing partner teams.

deployed_code

a prototype web service for launching first experiments microsoft, senior data scientist

I built a stopgap webtool to ensure that partner teams would be able to launch their first experiments without delay.

deployed_code

office 365 data quality microsoft, researcher / senior data scientist

I was asked to build a forecast model with insufficient data and used it as a teachable moment to drive changes in how the organization managed and communicated changes in their data pipelines.

deployed_code

office 365 business questions microsoft, researcher / senior data scientist

I introduced basic statistical ideas to business leaders, and this helped reduce managerial randomization across the org.

deployed_code

identifying early lifecycle concerns microsoft, researcher / senior data scientist

I proposed a robust analysis plan for characterizing support tickets and subsequently scaled it back to accommodate a changing timeline.

deployed_code

carpool project: find a ride inferentialist llc, lead statistician

I built an app to track location and collect daily commute data with the intention of helping people find a regular carpool.

sites

deployed_code

inferentialist website development inferentialist llc, lead statistician

I designed and built the Inferentialist website.

sites

deployed_code

an assessment of optimal lending club portfolios inferentialist llc, lead statistician

Using Lending Club data, I built ML optimized portfolios and showed improved performance relative to portfolios based on predetermined loan grades.

whitepapers

presentations

posts

deployed_code

characterizing zestimate instabilities zillow, quantitative modeler

I developed a cross-validated, coefficient-of-variation metric to assess the risk of temporal instability in a home's Zestimate history. This indicated that Zestimates with non-physical behavior were far more prevalent than previously thought.

deployed_code

small sample improvements to the zhvi zillow, quantitative modeler

The regional and subregional ZHVI performed poorly due to small samples. I developed a performant alternative that estimated regularized discount curves from longitudinal, repeat sale data.

deployed_code

post hoc zestimate adjustments zillow, quantitative modeler

I was tasked to identify and adjust "spikey" Zestimate behavior in a collection of 100 million Zestimate histories. This resulted in post hoc corrections to nearly 4 million time-series.

deployed_code

statistical support globys, machine learning intern

I provided statistical support to the implementation team.

deployed_code

measuring microsatellite conservation in mammalian evolution with a phylogenetic birth-death model university of washington, graduate teaching / research assistant

I developed a multithreaded code to propagate probability vectors through a phylogenetic tree. This allowed our research team to make inferences on branch length and, consequently, to develop timelines for genome divergence.

repos

publications

deployed_code

pdes for asian and lookback options numerix, senior software developer

I implemented a PDE solver to price Asian and Lookback options with discrete observation dates.

deployed_code

fixing instabilities in the backward lattice algorithm numerix, senior software developer

I reverse engineered a multi-factor, backward-lattice pricing algorithm in order to diagnose and fix numerical instabilities.

deployed_code

developed solvers for calibrating bgm libor interest-rate models numerix, senior software developer

I developed new non-linear optimization solvers for calibrating BGM Libor interest-rate models to market data.

Articles

check

a fork and monitor pattern using asyncio and named sockets

A gist, in python, that uses asyncio with named sockets and illustrates a fork and monitor pattern. It's used here for monitoring heartbeats but could easily be adapted for other process health metrics.

gists

check

command line qr codes

A command line script to generate a QR code from a URL.

gists

check

numerical linear algebra: qr, hessenberg, and schur decompositions

This post follows Golub and Van Loan, introducing Householder reflections and Givens rotations, then using these tools to sketch out implementations of QR, Hessenberg, and Schur decompositions.

posts

check

personalized point processes: a simple bayesian analysis

The post describes a homogeneous Poisson process using a Gamma conjugate prior that can be used to estimate a pooled, per-subject intensity given a collection of realizations.

posts

check

doubly and randomly censored data

A derivation of the density functions and likelihood expression associated with doubly and randomly censored data.

posts

check

unlocking truetype fonts: fontforge, matplotlib, and partially ordered occlusions

I needed to merge the glyphs in two TrueType font files. FontForge, in particular its python extension, was the tool for the job.

posts

check

probability integral transform, a proof

This post elucidates the connection between the generalized inverse, the cdf, the quantile function, and the uniform distribution.

posts

check

adaptive rejection sampling

This post describes and implements an adaptive rejection sampler for log-concave densities.

posts

check

uber interview challenge

The analysis for a data science interview project at Uber in 2015.

posts

check

namecheap, dynamic ip addresses, and hosting multiple sites

This post shows how to augment the Namecheap ddclient script to support multiple hosts on a dynamic IP.

posts

check

probabilistic performance guarantees for oversubscribed resources

This paper constructs a model for shared resource utilization, determines stochastic bounds for resource exhaustion, and simulates results.

whitepapers

posts

Education

account_balance
account_balance

princeton university

I swam on the varsity men's swim team my freshman and sophomore years. I joined the Cloister Inn eating club my sophomore year and was an elected officer in the club my junior year. My electives were literature courses as often as I could get away with it.

degrees

Degrees

school

m.s. statistics university of washington / 2012-06-01

school

certificate in computational finance university of washington / 2011-06-01

school

m.s. applied mathematics university of washington / 2005-12-15

school

b.s.e. computer science princeton university / 2001-06-01

school

program in applied and computational mathematics princeton university / 2001-06-01