
Fragmented - Android Developer Podcast
The Fragmented Podcast is the leading Android developer podcast started by Kaushik Gopal & Donn Felker. Our goal is to help you become a better Android Developer through conversation & to capture the zeitgeist of Android development. We chat about topics such as Testing, Dependency Injection, Patterns and Practices, useful libraries, and much more. We will also be interviewing some of the top developers out there. Subscribe now and join us on the journey of becoming a better Android Developer.
Latest episodes

Oct 14, 2019 • 35min
178: Learning New Languages
As Android developers we know Java and now Kotlin. But to become even more seasoned developers, learning newer languages can be a level booster.
The list can go on and on, especially if you've been in the industry awhile. So, when does it make sense for you to learn a new language?
When should you learn a new language? When does it make sense? How do you do it?
In this episode KG and Donn discuss the merits of learning new languages, what new languages they’ve picked up and how they feel its important for them and their careers as developers.
Sponsor
Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily.
Sign up for an exquisite pair of Bitrise Branded Socks at https://go.bitrise.io/fragmented
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Oct 7, 2019 • 31min
177: Over-Engineered Code
How do you know if some code is over-engineered?
What does that even look like?
How do you know if you're over-engineering the code that you're writing?
What if you recently started at a new company, how do you know if the code you're working with is over-engineered?
In this episode, Kaushik and Donn go back and forth on this topic ...
Sponsor
This episode is sponsored by Instabug -
Understand How Your App is Doing with Real-Time Contextual Insights From Your Users
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Sep 30, 2019 • 16min
176: Kotlin's !! Operator is a Code Smell
Kotlin isn't a magic bullet that prevents NullPointerExceptions.
Not at all.
What Kotlin does do is force you to think about how you want to handle your nulls. through Kotlin forcing you to think this through, the hope is that you'll avoid NullPointerExceptions. The only problem is, Kotlin has the !! operator, also known as the "Not Null Assertion Operator". This operator basically says "Hey Kotlin, trust me, I'm a pro, I know what I'm doing ... I KNOW THIS WON'T BE NULL".
This... is a code smell.
In this episode, Donn walks through why Kotlin's Not Null Assertion Operator (!!) is a code smell and what you can do to alleviate it.
Thanks To This Week's Sponsor: Bitrise
Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily. Sign up for an exquisite pair of Bitrise Branded Socks, here! https://go.bitrise.io/fragmented
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Sep 23, 2019 • 20min
175: Kotlin or Java - Which one should you learn?
One question that Kaushik and I get all the time is this ...
I'm starting to learn how to build Android apps, which language should
I learn? Kotlin or Java?
In this episode Donn answers this question and gives valid points on why both languages are valid options and why you might want to consider one over the other.
He provides caveats to why you might want to use one language over another and some of the trade offs of Java and Kotlin and how they operate together.
If you're wrestling with this question, this is the show for you ...
Thanks to this week's sponsor: Bitrise
Build amazing apps in Java, Kotlin or whatever tech you prefer and use Bitrise to automate your Android integration, build, test and deploy process quickly and easily. Sign up for an exquisite pair of Bitrise Branded Socks, here! https://go.bitrise.io/fragmented
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Sep 2, 2019 • 40min
174: Testing RxJava, Debugging and More
Kaushik is back in this weeks podcast. 🎉
Donn and Kaushik talk about testing RxJava streams with a Kotlin extension method and how and when to test various scenarios.
Donn talks about his thoughs on the Testing Pyramid and why he think's its incorrect and how you can help shift your thinking in regards to it. They then talk about IDE themes and how the theme can help you with your day to day development and more.
They wrap up with some talk about devleoping on Mac's vs Windows and Linux.
We hope you enjoy ...
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Aug 26, 2019 • 13min
173: What Pattern Should I Use - MVP, MVVM, MVI ...?
This week Donn talks about what pattern you should use when developing your application. Is it MVP? MVVM? Mabye MVI? Perhaps it's something else. Find out in this episode.
We hope you enjoy ...
Shownotes
Patters
MVP Pattern
MVVM Pattern
MVI Pattern
MvRx
Clean Arhictecture
Mocking Out the API in Espresso
MockWebServer Course
WireMock Android
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Aug 12, 2019 • 57min
172: Coil Image Loading Library with Colin White
In this episode Donn and Kaushik sit down with Instacart Engineer Colin White to discuss a new image library he has created called Coil.
Coil is a Kotlin-first image library that focuses on ease of use, simplicity and extensibility. In this episode we ask him the question you're probably wondering ... "Why create an image library, isn't this a solved problem already?" and then move onto the details of how the library works, and what it offers developers.
From Donn's perspective - It's an interesting library and gives you what you need with minimal footprint but offers you the extensibility that you'd want in the future. Its a good balance of "just enough" and "I might need this".
Enjoy
Show Notes
Coil library
Colin's Twitter
Colin's Website
Introducing Coil: Kotlin-first image loading on Android
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Jul 29, 2019 • 1h 12min
171: Jetpack Compose with Leland Richardson
This week Donn and Kaushik talk to Leland Richardson from the Android team at Google about Jetpack Compose.
Jetpack Compose is declarative component-based UI runtime for Android. With compose you can build your UI with functions in Kotlin to easily "compose" what your UI would look like.
We dive deep in this episode. We talk about the background and influence React had on the project, we dive deep into some of the decisions made regarding the library and much much more...
We hope you enjoy ...
Shownotes
Jetpack Compose First Principels
React, Meet Compose Slides
Jetpack Compose Android Dev Docs
Leland's Contact info:
Twitter
Website
Fragmented Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Jul 23, 2019 • 33min
170: Developer Growth - Public Speaking
In this episode, Donn talks about public speaking and how it can help you grow your career.
He dives in by telling a story of his first speaking engagement and how he was riddled with fear, insecurity, doubt and anxiety. He then talks about why speaking can help you grow your career and life leaps and bounds. He wraps up with possible things you can speak about when starting out as well as where you can get your break into the speaking circuit.
Shownotes
Fragmented #154 - Developer Growth: Start Writing
The Single Best Thing You Can Do For Your Career
Sponsor
This episode is sponsored by Instabug.
Squash bugs 🐞 in less than a minute with Instabug!
Special offer for all listeners, go to instabug.com/fragmented
Signup for free, install the SDK, and you will get Instabug's brand new t-shirt!
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)

Jul 15, 2019 • 1h 7min
169: Testing and JUnit 5 with Marcel Schnelle
Marcel Schnelle joins Donn in this episode to talk about how to get your application under test and some steps to go from scared to confident in your testing process. The second half of the show they dive in deep to JUnit 5 and its new features.
JUnit 5 is backwards compatible with JUnit 4 and offers a slew of new features and extensibility points which make the framework much more appealing going forward. We're convinced you'll enjoy this episode and leave wanting to get your app under test - even more than it already is.
Enjoy.
Shownotes
Caster.IO JUnit 5 Course
JUnit 5 Android Plugin
JUnit5 User Guide
Danny Preussler: The next gen of testing - Droidcon NYC 2018 (YouTube)
Marc Philipp: JUnit 5 Extensions - Joker 2017 (YouTube)
Spek Framework Testing for Kotlin
Get ahold of Marcel:
Marcel Schnelle Twitter
Marcel Schnelle Website
Sponsors 🙏
sentry.io - Your code is broken. Let’s fix it together - https://sentry.io/for/android/
Contact
Discord chat or @fragmentedcast or our Youtube channel
@donnfelker and donnfelker (on Instagram)
@kaushikgopal and kaushikgopal (on Instagram)