Talks, Presentations & Podcasts


Conference Talks


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.


MBLT Dev 2018 Learn how to go to your existing old mobile app and refactor it into one with a powerful architecture. Slides
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?
This is a revised version of a talk I first gave in 2015. Slides


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.
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. Slides