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 …


This episode is sponsored by Instabug

Understand How Your App is Doing with Real-Time Contextual Insights From Your Users


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.


This episode is sponsored by Bitrise

Build and operate better apps, faster with Bitrise.

Learn more about Bitrise


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


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 thoughts on the Testing Pyramid and why he thinks it’s 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 developing on Macs vs Windows and Linux.

We hope you enjoy …


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 …



Mocking Out the API in Espresso