Being Laid Off In An Agentic WorldI've been a professional software developer in the mobile space for around 15 years now. I started in the Android 2.1 / Eclipse / Ant days and iOS Objective-C days pre-ARC on Xcode 4 (if memory servic5 min read·blog.joetr.com22UNJul 30
How To Win Friends And Influence Internal VisibilityIntro I recently learned about friendPaths as part of the Kotlin Gradle Plugin while browsing an Android Slack group. From the documentation on friendPaths: "Paths to the output directories of the friend modules whose internal declarations should be ...7 min read·blog.joetr.comNov 11, 2025
Bridging the Gap: Making Jetpack Compose Row Behave Like SwiftUi & WebIf you've ever tried to compare the behavior of Row in Google's Jetpack Compose, HStack in Apple's SwiftUi, and something like display: flex in the web world, you'll see some interesting results. First, let's take a look at how HStack renders two lon...5 min read·blog.joetr.comApr 13, 2025
Debug Drawers and You: Adding A Debug Drawer To Your AppSaid another way, how to supercharge your development workflow with a debug drawer. As Android developers, we're constantly looking for ways to streamline our workflow. One often-overlooked tool that4 min read·blog.joetr.com1MSep 26, 2024
Compose Guard: Detecting Regressions In Jetpack ComposeAs Jetpack Compose becomes more widely used across Android (and Multiplatform projects!), detecting regressions via tooling becomes more important to shift left and detect regressions earlier in the d5 min read·blog.joetr.comMay 22, 2024