Last updated: 8th March 2022
Key Skills & Achievements
Over 11 years experience of writing Android applications and libraries, with a passion for good interface design.
- Written over 50 blog posts (and more here) about Android development practices, many of which were/are the defacto guidance on the related topic
- Given over 25 talks about Android development practices, many of which were/are the defacto guidance on the related topic.
- Wide experience of Android technologies including all things UI, Jetpack Compose, Kotlin Coroutines and app architecture.
Projects & Libraries
- Lead engineer on AppCompat for ~5 years, enabling apps to use a consistent design covering 99% of devices.
- Lead engineer on the 'Design library', providing developers with implementations of Material components. This was the base for the Material Design Components for Android.
- Created the Tivi sample app, demonstrating modern development practices for Android.
- Created the Insetter library, providing an easy to use layer over WindowInsets.
- Created the Accompanist library, providing functionality which is not yet provided by the core Jetpack Compose libraries: image loading, and insets support.
- Created the Palette library, enabling easy-to-use color extraction.
- Original creator of the PhotoView library, enabling easy pinch-zoom support for Android.
Staff Software Engineer – Twitter
September 2021 – now
Technical Lead for the Client UI Android team, leading a team of 5. The team's primary goal is to help Twitter’s feature developers iterate and ship fast, ensuring that developers are able to work in a pleasant, modern, UI-first environment, and building and maintaining a consistent, thoughtful, accessible user experience throughout the app.
Staff Developer Relations Engineer – Google
January 2013 – August 2021
Working as part of the Android Developer Relations team. As well as the engineering projects listed above:
- Zeroth customer work, making sure our products are fit for developers to use.
- Participated in developer outreach, such as writing technical blog posts, new technical documentation, giving talks at large conferences and online.
- Gave direction and feedback on feature proposals for Android Jetpack and Platform.
- Part of leads group, setting direction for and nurturing the team.
- Managed multiple teams, in different locations, across different timezones, including performance management.
- Led numerous engineering and outreach projects.
- Conducted interviews.
- Mentored junior engineers.
Aston University Sept 2006 – June 2010
Computing Science BSc (Hons) 1st Class
- Omnifone - Android Developer (June–August 2012)
- Mobile Interactive Group - Android Developer (Jan–May 2012)
- BSkyB - Android Developer (Sept 2011–Nov 2011)
- OneLouder Apps - Senior Android Developer (July 2011–Jan 2012)
- IBM Hursley - Software Engineer (June 2008–Sept 2009)
- Developed Friendcaster for Facebook, the most popular third-party Facebook client for Android. Previously ranked in the top 100 on Google Play, having had over 6.5 million user installs to date.