Resume
15 years building applications, libraries, and developer tools. The last 5+ in Staff+ engineering and technical leadership roles spanning Android, iOS, TV, and Web. Deep experience in UI engineering, Kotlin Multiplatform, cross-platform architecture, and AI developer tooling.
- Written over 50 blog posts (and more on Medium) about Android and cross-platform development, many of which became de facto guidance on their topics.
- Given over 25 talks at conferences including Google I/O, Droidcon, and Android Dev Summit.
- Defined and shipped Kotlin Multiplatform architecture across Android, iOS, and TV at The Trade Desk.
Career#
Senior Staff Software Engineer – The Trade Desk#
May 2023 – present
Clients Tech Lead for Ventura OS — a new streaming TV operating system for the open internet. Own the technical direction across all client platforms (mobile, set-top box, and web), with growing involvement in engineering-wide initiatives.
- Directed cross-platform technology strategy for Ventura OS, establishing the mobile engineering function from scratch to support 10 engineers across mobile and set-top box.
- Accelerated multi-platform delivery by championing Kotlin Multiplatform and Compose Multiplatform, building the architectural foundation for all current production shipping.
- Eliminated manual UI syncs by aligning engineering and UX on a unified design system, building custom tooling to generate SwiftUI, Android, and Web components from a single source.
- Streamlined organizational delivery by leading the zero-downtime consolidation of 3 large repositories into a unified client monorepo, completely rearchitecting CI/CD and code ownership.
- Eliminated visual regressions by integrating automated, multi-device snapshot testing directly into the code review pipeline.
- Increased engineering velocity by driving the strategic rollout of AI developer tooling across 25 Ventura engineers.
- Upskilled multiple iOS-native engineers to independently ship production KMP code by establishing structured, cross-domain mentorship.
Staff Software Engineer – Twitter#
September 2021 – November 2022
Technical Lead of the Client UI Android team. Owned the technical strategy for modernising UI development across Twitter’s Android organisation.
- Spearheaded the migration to Jetpack Compose across Twitter’s 150-person Android organization, defining the infrastructure and adoption strategy that reduced UI feature development time.
- Unified Android UI infrastructure for ~20 feature teams, architecting core component libraries and tooling that eliminated design fragmentation.
- Directed a 7-engineer team, establishing rigorous engineering standards (design docs, structured reviews) that decreased regression rates and accelerated onboarding.
Staff Developer Relations Engineer – Google#
January 2013 – August 2021
Part of the Android Developer Relations team for nearly nine years, split between hands-on engineering and outreach. Shaped the libraries and patterns that most Android developers used daily during that era.
- Lead engineer on AppCompat for ~5 years, bringing consistent Material Design to 99% of Android devices.
- Lead engineer on the Design Support Library, which became the foundation for Material Design Components for Android.
- Created the Palette library for colour extraction from images.
- Shaped feature proposals for Android Jetpack and Platform.
- Managed teams across locations and timezones.
- Wrote technical blog posts, documentation, and gave talks at Google I/O and other conferences.
Earlier roles#
- Omnifone - Android Developer (June–August 2012)
- Mobile Interactive Group - Android Developer (Jan–May 2012)
- OneLouder Apps - Senior Android Developer (July 2011–Jan 2012)
- BSkyB - Android Developer (Sept–Nov 2011)
- IBM, Software Engineer (June 2008–Sept 2009)
- Creator of Friendcaster for Facebook, the most popular third-party Facebook client for Android. Acquired by OneLouder Apps, where I continued development for a year. Ranked in the top 100 on Google Play with over 6.5 million installs.
Open Source#
- Haze (2.3k stars) - Glass blur effects for Compose Multiplatform.
- Accompanist (7.8k stars) - Utilities for Jetpack Compose before the framework caught up.
- Insetter (1.1k stars) - Simple WindowInsets handling for Android.
- Tivi (6.7k stars) - TV show tracking app, a widely-referenced example of modern Android architecture.
- PhotoView (18.8k stars) - Pinch-to-zoom for Android ImageViews. (Original creator.)
- Android-PullToRefresh (8.7k stars) - One of the first pull-to-refresh implementations for Android, before the pattern was added to the platform.
Education#
Aston University Sept 2006 – June 2010 Computing Science BSc (Hons) 1st Class