Fragmented - Android Developer Podcast cover image

Fragmented - Android Developer Podcast

Latest episodes

undefined
Jun 12, 2023 • 1h 6min

247: The Art of App Modularization with Siggi Jonsson

In this episode, we talk to, Siggi Jonsson. Siggi helps guide us through the complex and often confusing world of Android app modularization. Our conversation will begin by shedding light on the importance of modularization, what triggers the need for breaking projects into multiple modules, and how modularization relates to team size, feature teams, and code ownership. This discussion is aimed at demystifying how and why developers often choose to modularize their applications.As we move forward, we'll dive into more advanced aspects of modularization, such as the challenges of scaling and the potential missteps in over-modularization. Drawing on real-world experiences, we'll examine the red flags that signal a need for revising your modularization strategy. This part of our discussion will also highlight some specific tools and techniques that can help manage and visualize your project's modularization, and Siggi will share his own experiences and insights into how these tools have assisted in his modularization strategy.In the final part of the episode, we'll touch on the benefits and strategies of proper modularization. Siggi will share practical advice on how to tackle big projects, fix issues with modularization, and make a smooth transition from monolithic to modular structures. We'll also talk about some tools that can be handy in this process. Before closing, Siggi will offer his top tips for developers embarking on their modularization journey and share some valuable resources to help them. Siggi will also provide updates on his latest work and how listeners can reach out to him.LinksSure, here are the links provided in the text, formatted in Markdown:Siggi Jonsson's Droidcon TalkGraph Assert PluginDependency Analysis Android Gradle PluginGraph Untangler Plugin by Siggi JonssonGraphVizGephiDriving architectural improvements with dependency metricsInaki Villar Twitter - Build Engineer Siggi MentionedFind Siggi online here:Siggi Jonsson on TwitterSiggi Jonsson on GithubSiggi Jonsson's WebsiteSiggi Jonsson on LinkedInKindred - Use code SIG.JON to register.Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course, you'll learn everything you need to know to start working with Git daily. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
May 29, 2023 • 56min

246 - Dependency Injection: Kotlin Inject with Fred Porciúncula

In this podcast episode, we have the pleasure to host Fred Porciúncula, a Google Developer Expert (GDE) known for his work with Kotlin Inject and his invaluable contributions to the Android development community. Fred offers his expertise on Dependency Injection (DI), Kotlin Multiplatform (KMP), and how they intersect.We kick off the conversation by discussing Dependency Injection (DI), its importance, and the options available to developers, including Dagger, Hilt, Anvil, Koin, and Kotlin-Inject. Fred explains the use and impact of DI in the Kotlin Multiplatform (KMP) world, considering Dagger’s current lack of KMP support and debating whether one should use separate DI tools for Android apps and KMP components.Delving further into Kotlin-Inject, we explore its features, usage, and how it differentiates itself from other DI solutions. Topics discussed include its unique handling of Scopes, its support of constructor injection, and its utility in building dependency graphs. Furthermore, we examine the timeless debate of Dependency Injection versus Service Locator.Toward the end of the episode, Fred presents his thoughts on the advantages and disadvantages of exclusively using Kotlin-Inject throughout an application. We also tackle the concept of “Vanilla Injection” - refraining from using DI libraries at all.For further learning, we recommend resources like Fred's insightful article on transitioning from Dagger/Hilt to Kotlin-Inject, a Dagger issue discussing KSP support, and a Kotlin-Inject discussion on Anvil-like features. Links to these resources, among others, are provided below. Don’t miss out on this engaging and informative episode with Fred Porciúncula!LinksKotlin Inject LibraryFred's Kotlin Inject ArticleTesting with Kotlin InjectKotlin Inject Scope IssuePulling code out of the platform classDI vs Service LocatorsDagger KSP SupportKotlin Inject Anvil Like FeaturesMaking Your Android Application Work on iOS (Touchlab mentioning interfaces over expect)Moko ResourcesKlima EngineeringFind Fred Online HereTwitter - @tfcporciunculaandroiddev.social/@fredKlima Engineering BlogDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast on Twitter or our YouTube channelDonn@donnfelkerdonnfelkerDonn's YouTubeDonn's WebsiteKaushikkau.sh (has links to all my networks)twitter.kau.shmastodon.kau.shyoutube.kau.sh (on YouTube)Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
May 15, 2023 • 55min

245: Treehouse, Redwood and Zipline with Colin White

In this episode, Donn and Kaushik talk to an old friend of the show, Colin White, about Treehouse, a combination of the Redwood and Zipline libraries.Colin is a Staff Engineer at Cash App (Block).Redwood is a multiplatform Compose library that allows you to target multiple UI toolkits on various native platforms. Ultimately this allows you to share presentation logic.Zipline is a multiplatform JavaScript engine for Android, iOS, and the JVM, which uses Kotlin for calls in/out of the JavaScript land. This allows you to update the application logic of your apps without the traditional song and dance of the app store approval and release process.Treehouse is the combination of both libraries, Redwood and Zipline. Listen in to learn more ...LinksRedwoodZiplineQuickJSKotlin Conf Talk on TreehouseDroicon NY talk - RedwoodDroidcon NY talk - ZiplineFind Colin Online hereTwitter - @colinwhiMastodonAndroidJobs.IOJob postings are FREE on AndroidJobs.IO!Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOContact@fragmentedcast on Twitter or our Youtube channelDonn@donnfelker (Twitter)donnfelker (Instagram)Donn's YouTubeDonn's WebsiteKaushikkau.sh@kaushikgopal (Twitter)mastodon.kau.shkaushikgopal - YouTube Disclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
May 10, 2023 • 10min

244: Reviving Our Passion for Android Development

In this episode, Donn and Kaushik announce that they are steering the podcast back into Android waters. In other words, the Fragmented Podcast is returning to its roots ... we're back to being a 100% Android Development focused show.We're glad to have you as a listener, here's to the future of Android Development. 🚀AndroidJobs.IOJob postings are FREE on AndroidJobs.IO 🎉Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or kau.sh/blog or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
Apr 10, 2023 • 48min

243: Mastering the Art of Switching Careers in Tech with Dan Lew

In this episode, Donn and Kaushik talk to long-time friend Dan Lew about his recent career switch from Android developer to TypeScript/Node.js/Progressive Web App Developer (and more).It's an interesting discussion that covers ...Why Dan decided to leave the Android worldThe challenges he faced when he moved from one tech stack to anotherHow to prepare for a big change like this (mentally, financially, etc.)How to create the life you want live vi by identifying what's important to youand much more ...LinksRheaplyDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course, you'll learn everything you need to know to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs every week as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or kau.sh/blog or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
Mar 20, 2023 • 40min

242 - Kotlin Code Formatting with ktfmt and spotless

In this episode, Donn and Kaushik talk about one of the age old bike shedding topics - code formatting, and how you can solve it with automation and tools.Code formatting can turn into an endless debate amongst peers and teams, and what Kaushik and Donn have found is that this can be delegated to a tool and automated. Freeing you and your team of having to worry about proper indentation, bracket placement, etc. By relying on a well defined tool and some automation you can clean your code up, make it much more uniform and easier maintain.We talk about ktfmt, a Kotlin code formatter that was released by Facebook. We dive into ktlint, detekt and more. We also dive into spotless which can help you by integrating ktfmt into your gradle build pipeline.Linksktfmt - website, githubspotless - githubdetekt - websitektlint - websiteDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or kau.sh/blog or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
Jan 10, 2023 • 45min

241: The Pressure to Ship. Fear, Uncertainty and Doubt

In this episode, Donn and Kaushik talk about the fear of shipping, some impostor syndrome and how it contributes to uncertainty and doubt in your capabilities as a software developer.Recently Donn embarked on a mission to come up with an idea and ship it within 24 hours (which he did do). The end result was a net benefit of confidence, speed and skill acquisition. This helped reduce any doubt, uncertainty and ultimately fear of shipping a product faster.That's what this conversation is about ... how to doing a project like the 24 hour MVP can remove fear, uncertainty and doubt and help you ship your side project/products faster.LinksDonn's 24 Hour Project - EXIFRJumpstart Rails Template that Donn UsedBooks-AI App by Florian WaltherOpen AIDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or kau.sh/blog or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
Dec 15, 2022 • 55min

240: Important Kotlin Constructs

In this episode, Donn and Kaushik talk about 5 new-ish Kotlin constructs that you might not be aware of.The constructs that they talk about are:fun interface (SAM - Single Abstract Method), and they juxtapose them vs function typestype aliasimport aliasvalue classdata objectYou'll learn what they are, how you can use them and when or when you might not want to use them, and more. We hope you enjoy.LinksKaushik's Blog Post - Important Kotlin ConstructsSAM Interface - Kotlin DocsFunction Types - Kotlin DocsType Aliases - Kotlin DocsImport Alias - Kotlin DocsValue Class - KEEPData Object - KEEPEnjoy!Donn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
Nov 28, 2022 • 12min

239: Require PR Reviews with CODEOWNERS

In this short episode, Donn talks about the CODEOWNERS file and how it can help you ensure teams review the code that they are responsible for before merging.The CODEOWNERS file is a file that you drop into the root of your project (or into the /docs or .github/ directory) that tells GitHub (or whatever git host you're using) to require a review for any code changes that match the patterns as defined in the CODEOWNERS file. You'll specify a matching pattern and users, or teams that own that pattern of files and they will be required to review the PR before it can be merged. This helps prevent unwanted changes to files that may or may not be owned by one team or another. This is useful as teams grow larger and need more control over the changes in their application codebase.LinksCODEOWNERS GitHub DocEpisode 012 - CI and Collective Code OwnershipGitHub Organization TeamsDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.
undefined
Nov 21, 2022 • 27min

238: How to Land a Job (if you got laid off or if you're just starting out)

In this episode, Donn talks about the tips and tricks he's used over the last 20 years of consulting, freelancing and working full time to find jobs and new opporftunities. We're hoping some of these tips help those affected by the recent tech layoffs.These are tips that Donn still uses to this day. They work wonders to help you land a job quickly when you do them.The tips:Update your LinkedIn Profile and Build a Resume with the LinkedIn Resume BuilderSet your LinkedIn status to "Open to Work" via the "Open to Work" feature on LinkedInDirectly Reach out to Recruiters you know or have interacted withManual Discovery: Visit various companies career pages and job board and apply directlyAncillary Tips to Boost Your Chances of Landing a Job:Blog about the technology you’re looking to get a job inCreate a demo app or an app you can use to showcase your talents and put it on GitHubRecord a How To Video and post it to YouTube showing how to do something, such as a tutorialRecord/Start a podcast or reach out to hosts of other podcasts and offer to share some deep knowledge you have, or even talk about soft skills, etcSpeak at local user groups or conferences (where you don’t need to worry about travel and costs, just show up and speak)LinksLinkedIn Open to Work FeatureLinkedIn Resume BuilderAndroid JobsDonn's Git CourseNeed to learn Git? Donn has the course for you. In this FREE course you'll learn everything you need to know in order to start working with Git everyday. Watch it here.AndroidJobs.IOJob postings are FREE on AndroidJobs.IO during the early release phase (at the time of this recording).Sign up to get notified of new jobs on a weekly basis as well.AndroidJobs.IOSoftware FreelancingDonn's Freelance Faction CommunityFreelance Tactics BookDonn's Freelancing Content on YouTubeContact@fragmentedcast or our Youtube channel@donnfelker and donnfelker (on Instagram)Freelancing for Mobile Developers (Donn's YouTube)kaushikgopal (on YouTube) or jkl.gg/b or @kaushikgopalDisclaimer: Many of the links we share to products are affiliate links. They help support the production of Fragmented. Thank you for your support.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app