My podcast is Fragmented. I also post videos on my YouTube channel, like this one about editing multiple text files with awk.

Talks ##

A panel at Android Dev Summit 2026 about how developers use AI-assisted coding, agents, and developer tools.

Inspired by some well known architecture patterns like MVVM/MVI, I set out to come up with an agnostic set of principles that would help developers build features in their app in a robust, safe and (importantly) “testable” way. At Instacart, we’ve started to use these principles to build features on both iOS and Android. In this talk, we’ll examine these principles, discuss the merits (+ disadvantages!) and see how these can be implemented with precise code examples. Having implemented this pattern for sometime now at Instacart, I’ll also share some of our learnings along the way for both platforms.

Learn how to go to your existing old mobile app and refactor it into one with a powerful architecture. Gave the presentation at MBLT Dev 2018

Discover how to break down the barrier between your hopes for a mobile CI/CD system and what’s available today using the powerful Azure toolset and App Center API’s. Go from an idea to a multi-platform React Native app powered by CI/CD in just a few steps. We’ll continue from there to learn how Logic Apps and Azure Functions helped power Instacart’s mobile development workflow from commit to a release to the store.

The Android development community today has embraced Rx(Java) in all it’s glory. But as developer’s understanding of RxJava has matured, they’ve started to peel back the layers and unleash its true power and potential. One such power is “Multicasting” where you get to share work across your app and reuse a whole bunch of stuff. This is really hard to do in general but Rx makes it really really easy.

We recently did an overhaul for Instacart’s shopper app and committed to using a presenter pattern for this. It turned out awesome! Presenters are not a new concept. They’ve been around since the dawn of software engineering time. But the devil is in the implementation details. If you have an Activity, RecyclerView, Adapter etc. at how many levels would you have the presenter? How does the use of presenters enabled super fast testing? How does the use of presenters enable constantly changing user requirements? We’ll discuss all the juicy war stories in this session

This is a revised version of a talk I first gave in 2015.

What if you could get your UI tests to run as fast as your unit tests? you would write more tests you would feel happy writing the tests your managers would be pleased with you not goofing around with that new testing framework around the corner Using patterns of yore (like Martin Fowler’s supervising controller, effective use of presenters and view model state) we’re going to tackle everyday-real-annoying impediments to UI testing. We’ll address what parts of the UI need testing and effective ways of testing them.

So RxJava is this new kid on the block. But what can you the Android developer really use it for today? We’ll look at everyday use cases and solve them with RxJava. Remember that first day when you tasted Nutella? RxJava is Nutella for Android… everything is awesome with RxJava.

Interviews ##

Rahul Pandey and I talk about why senior staff engineers must find, deliver, and measure impact, not only execute a technical vision.

Mitch and I talk about how I got into programming and Android, how I learn, how Donn and I started Fragmented, and engineering at Instacart.

Chet Haase and Tor Norbye talk with a group of Android app developers, including me, about Google I/O 2017 and the Android O developer preview.