068: Talking Buck with Uber engineer Gautam Korlam

We kick off 2017 talking to Uber Engineer Gautam. In first part of this 2 part series, Gautam talks to us about the Uber Android app, the complexity in the architecture, the scaling challenges, the pain points Android developers faced working on such a massive app.

He then goes on to explain how his team (Android Developer Experience) at Uber have approached these challenges and come up with elegant solutions.

We then dive head deep into Buck – the build system for Android development, it’s advantages and the benefits that the folks at Uber have observed having migrated.

Download directly

Show Notes

Build systems




Continue reading 068: Talking Buck with Uber engineer Gautam Korlam

067: Cross platform development with Xamarin cofounder Joseph Hill

In this episode, Donn talks with Xamarin cofounder on how one can use Xamarin for Android development.

They start off chatting about using Xamarin just for business logic sharing. This Joseph tells us was the original intention for use. They also touch on Xamarin forms which allows you to additionally build UI elements cross platform.

Even if you don’t use Xamarin or plan to use Xamarin right away, this was a fantastic insight into the platform, from the creators directly. They touch on advantages, how to really leverage the platform and potential downsides.

Download directly

This is our last episode for 2016 and we’re glad we get to end on an high note. See you in 2017!

Show Notes

Apps using Xamarin for Code sharing

Notable alternatives:


Continue reading 067: Cross platform development with Xamarin cofounder Joseph Hill

066: Let’s talk Immutability, Value Types and AutoValue with Ryan Harter

In this episode, we talk to our good friend and immutability champ Ryan Harter. We start off talking about the benefits and disadvantages of immutability, then we dive into Value types and the subtle difference with Value types. Finally we close out by talking about AutoValue and how you can extend it using the super nifty auto-value extension system for functionality like Parcelability, Json parsing etc.

Download directly

Show Notes

About Ryan



AutoValue extensions




Donn Felker: Kaushik, we’re back again, my friend.

Kaushik Gopal: Yes, we are. It’s another morning. What’s the time there?

DF: It’s 9:45 in the morning. It’s pretty early for you, right?

KG: Yes, it’s 6:45 here.

DF: Thank you so much for getting up that early. I know it’s difficult, especially when you’re working all hours of the night for a startup.

KG: Well, it’s enjoyable, especially when we have great guests on the show and great topics to talk about. So, who do we have on today?

Continue reading 066: Let’s talk Immutability, Value Types and AutoValue with Ryan Harter

065: Developer Platform engineering with Ty Smith

In this episode we talk to Ty Smith about all things Developer Platform. Currently a tech lead at Uber, Ty has quite the illustrious career having worked on some of the biggest names you’ve heard like Uber, Twitter(Fabric), Evernote, Zagat etc.

Unlike regular client app development, Developer Platform spans a variety of interesting topics like building consumable SDKs, building libraries with good APIs, creating Android integrations and App to app communication via components like Content Providers, AIDL Integrations, Intent APIS and deep links.

We ask Ty how he got started in this field, how one should go about thinking about it and the interesting challenges that one would run across in this intriguing field.

Download directly

Show Notes

Ty’s all star Dallas crew

Developer Platform



Donn Felker: Okay, here we are again. How are you doing, Kaushik?

Kaushik Gopal: I’m doing well. How are you?

DF: I’m doing really well. I’m very excited about today’s topic. It’s something I’ve dabbled in for a couple of clients, but not at the level of the gentleman who we have on today’s show.

KG: Yeah, this gentleman is known for having a sound understanding of the subject.

Continue reading 065: Developer Platform engineering with Ty Smith

064: Garbage Collection (Android) vs Reference Counting (iOS)

In this mini-Fragment episode, Kaushik talks about the process of Garbage collection and how it compares to Reference counting (which is the equivalent process in iOS).

How does each work? What are the differences? Which is better 😁 ? Listen on for all the juicy details…

Download directly

Show Notes

Garbage collection (Android)

Reference counting (iOS)



Kaushik Gopal: I was talking to one of my colleagues who works on our iOS applications the other day. We started off the conversation talking about advantages and disadvantages of the different local database options—like Realm and SQLite.

Then he mentioned something that blew my mind. A parent-child relationship is a typical use case in any marginally complex system, and we were talking about how to model them in a local database. Then he said, “Yeah, you’ve got to be extra careful with those relationships. You don’t want retain cycles.” This sounded a lot like a memory leak to me, so I probed a bit further, and that led me to the idea behind this mini-Fragment episode: the world of garbage collection and reference counting.

Continue reading 064: Garbage Collection (Android) vs Reference Counting (iOS)