Logo

    Inside iOS Dev

    Inside iOS dev is a weekly show about real world iOS development. Your hosts, Alex Bush and Sandeep Aggarwal, draw from their experiences ranging from 4+ year old legacy codebases, to small startup green field projects, to working on apps at places like Uber, Wayfair, and Upkeep with millions of active users. They discuss everything from implementing specific features, to creating flexible designs, to utilizing refactoring techniques, and more. This is THE show for professional iOS developers.
    en87 Episodes

    People also ask

    What is the main theme of the podcast?
    Who are some of the popular guests the podcast?
    Were there any controversial topics discussed in the podcast?
    Were any current trending topics addressed in the podcast?
    What popular books were mentioned in the podcast?

    Episodes (87)

    Clean Code’s Impact with Uncle Bob

    Clean Code’s Impact with Uncle Bob

    In this episode we have legendary Robert Uncle Bob Martin come over to talk about Clean Code, professionalism, and courage. We cover:
    - the impact of Clean Code on businesses' ability to change software and make money
    - management pushback on applying Clean Code practices and how to handle it
    - how managers get to the truth and how developers get to the truth
    - professionalism, courage to take risk and saying NO despite potentially being fired
    - writing tests to reduce risks working with legacy (and not legacy) code
    - code ownership and pair programming
    - following the code rules you establish
    - a rapid questions round
    - ask listeners' questions
    - and much more

    Clean Code: Architecture & Design Masters Class for Software Developers . It starts September 6th: https://cleancodemastercourse2023.eventbrite.com/
    More Uncle Bob's events can be found here: http://thecleancoder.eventbrite.com/
    Clean Coders video courses: http://www.cleancoders.com/

    ---

     

    If you're looking for to simplifying software development with Clean Code reach out to: https://www.linkedin.com/company/clean-code-ventures/

    Prepping for a system design interview? Check out Alex's iOS System Design Interview video course: https://iosinterviewguide.com/system-design-interview

    Need to prepare for an iOS Engineer Interview?
    https://iosinterviewguide.com

    Connect with us:
    https://twitter.com/insideiosdev
    https://www.linkedin.com/in/alexvbush/
    https://www.linkedin.com/in/sandeep-aggarwal-629ab45a/
    https://twitter.com/alex_v_bush
    https://twitter.com/sandeepCool77

    Email us at hello@insideiosdev.com

     

    iOS Interview Tips from Engineering Manager and Senior Engineers

    iOS Interview Tips from Engineering Manager and Senior Engineers

    Sandeep and Alex talk to Aaina Jain and Muralidharan Kathiresan about interviewing in current layoffs prone market, interview stages and tips to be more successful in each.

    Aaina's medium: https://medium.com/@aainajain

    Murali: 
    https://unknowndefault.com/
    https://topmate.io/murali_k
    https://www.linkedin.com/in/muralidharankathiresan/

    Prepping for a system design interview? Check out Alex's iOS System Design Interview: video course: https://iosinterviewguide.com/system-design-interview

    Need to prepare for an iOS Engineer Interview?
    https://iosinterviewguide.com

    Connect with us:
    - https://twitter.com/insideiosdev
    - https://www.linkedin.com/in/alexvbush/
    - https://www.linkedin.com/in/sandeep-aggarwal-629ab45a/

    Comments or questions? Email us at hello@insideiosdev.com


     

    WWDC 2022 Devs Reaction

    WWDC 2022 Devs Reaction

    In this episode Alex and Sandeep react to WWDC 2022 Platform State of The Union. This is our very raw, unresearched reaction/opinion on what we heard on latest WWDC changes for iOS development. Some things are just emotions and unfiltered opinions, some are things we already looked into.

    We'll be doing deep dives in other videos into some of the stuff we covered that we're not sure or don't know much about or stuff that deserves more attention.

    You can find the video we covered here: https://developer.apple.com/videos/play/wwdc2022/102/

     

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview

    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist

    Need to prepare for an iOS Engineer Interview?

    https://iosinterviewguide.com

    Connect with us: https://twitter.com/insideiosdev

    Email us at hello@insideiosdev.com

    Top 10 iOS Dev Tips

    Top 10 iOS Dev Tips

    Alex and Sandeep share 10 iOS development tips that you can add to your knowledge base in less than 10 minutes for a better development experience.

     

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview

    Need to prepare for an iOS Engineer Interview?

    https://iosinterviewguide.com

    Connect with us: https://twitter.com/insideiosdev

    Email us at hello@insideiosdev.com

    Blocked by the backend? Use prod mocks.

    Blocked by the backend? Use prod mocks.

    In this episode Sandeep and Alex showcase how mocks can be used in production code to substitute upcoming unfinished or unreleased backend changes. They use dependency injection and Liskov Substitution Principle to inject a service object implementation that uses local hardcoded data instead of fetching it from the network.

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview

    Need to prepare for an iOS Engineer Interview?

    https://iosinterviewguide.com

    Connect with us: https://twitter.com/insideiosdev

    Email us at hello@insideiosdev.com

    Generating Mocks with Sourcery

    Generating Mocks with Sourcery

    Alex and Sandeep introduce Swift Sourcery, a code generation tool to automatically create mock implementations for interfaces in your code.

    Sourcery on github: https://github.com/krzysztofzablocki/Sourcery 

     

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview 

    Need to prepare for an iOS Engineer Interview? https://iosinterviewguide.com 

    Connect with us: https://twitter.com/insideiosdev 

    Email us at hello@insideiosdev.com

    Refactoring Large Initializer in Swift. Part 1. Dependency Injection with Default Values and Properties.

    Refactoring Large Initializer in Swift. Part 1. Dependency Injection with Default Values and Properties.

    In this episode Sandeep and Alex refactor a class with a large initializer into something easier to use. This is part one of this series.

    Sample code was taken from Fred’s tweet: https://twitter.com/frederickohen/status/1413595709471875072

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview

    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist

    Need to prepare for an iOS Engineer Interview?

    https://iosinterviewguide.com

    Connect with us: https://twitter.com/insideiosdev

    Email us at hello@insideiosdev.com

    RIBs. The Best iOS Architecture.

    RIBs. The Best iOS Architecture.

    RIBs Resources:

    - [Original RIB repository](https://github.com/uber/RIBs)

    - [Uber RIB wiki](https://github.com/uber/RIBs/wiki)

    - General video: [Uber's new mobile architecture that scales to hundreds of engineers by Tuomas Artman](https://youtube.com/watch?v=FfwZSk6VRVY)

    - Video 1: [Architecture rewrite](https://youtube.com/watch?v=bB9e7ZYVYCo)

    - Video 2: [Deep Scope Hierarchies](https://youtube.com/watch?v=LWu1HcFIRnQ)

    - Video 3: [Introduction to RIBs](https://youtube.com/watch?v=Q5cTT0M0YXg)

    - Video 4: [Plugins in RIBs](https://youtube.com/watch?v=vIdsYLXClZs)

    - Blog: [Engineering the Architecture Behind Uber’s New Rider App](https://eng.uber.com/new-rider-app/)

    - Blog: [Engineering Scalable, Isolated Mobile Features with Plugins at Uber](https://eng.uber.com/plugins/)

    - Blog: [Why We Decided to Rewrite Uber’s Driver App](https://eng.uber.com/rewrite-uber-carbon-app/)

    - Blog: [Building a Scalable and Reliable Map Interface for Drivers](https://eng.uber.com/building-a-scalable-and-reliable-map-interface-for-drivers/)

    - Blog: [Architecting a Safe, Scalable, and Server-Driven Platform for Driver Preferences with RIBs](https://eng.uber.com/carbon-driver-app-preferences-ribs/)

    - Blog: [Activity/Service as a Dependency: Rethinking Android Architecture for the Uber Driver App](https://eng.uber.com/activity-service-dependency-android-architecture/)

    - Blog: [Harnessing Code Generation to Increase Reliability & Productivity on iOS at Uber](https://eng.uber.com/code-generation/) ***Not directly RIBs but good to read***

    - Blog: [Exploring RIBs](https://medium.com/swlh/ios-architecture-exploring-ribs-3db765284fd8)

    - Podcast: [Opinion about RIBs from somebody at Uber](https://overcast.fm/+JAbhB0-c0)

    - Podcast: [Alex on Uber's RIB Architecture](https://insideiosdev.com/episodes/alex-on-ubers-rib-architecture-2d362fd3)

    - Screencast : [RIBs Architecture on iOS by Alex Bush](https://alexbush.podia.com/ribs-architecture-on-ios)

     

     

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview

    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist

    Need to prepare for an iOS Engineer Interview? https://iosinterviewguide.com

    Connect with us: https://twitter.com/insideiosdev

    Email us at hello@insideiosdev.com

    Developers/Designers Therapy Session with Michael DeGothsier and Sandeep Aggarwal

    Developers/Designers Therapy Session with Michael DeGothsier and Sandeep Aggarwal

    Alex and Sandeep talk to Michael DeGothsier about challenges developers and designers face working with each other and what approaches and perspectives they might take to improve collaboration.

    Sandeep's twitter: https://twitter.com/sandeepCool77

    New Inside iOS Dev YouTube channel: https://www.youtube.com/c/InsideiOSDev

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview

    Need to prepare for an iOS Engineer Interview? https://iosinterviewguide.com

    Connect with us: https://twitter.com/insideiosdev

    Email us at hello@insideiosdev.com

    2 Ways to Implement VIPER iOS Architecture with its author Jeff Gilbert

    2 Ways to Implement VIPER iOS Architecture with its author Jeff Gilbert

    Alex and Sandeep talk to Jeff Gilbert, the author of VIPER architecture, about evolving understanding of VIPER, complex VIPER apps and compare different way to understand and implement VIPER on projects of all sizes.

    VIPER Architecture Diagram from the web: https://1drv.ms/u/s!AneU_VTSiGUE5Rvln8cBdVj0Ztja?e=IWt1hn

    VIPER Architecture Diagram from its author Jeff Gilbert: https://1drv.ms/b/s!AneU_VTSiGUE5R9MBCMLgr8talep?e=z87kEG

    Diagram of two ways of implementing VIPER: https://1drv.ms/u/s!AneU_VTSiGUE5B7WZZE5mLiFtLNh?e=QITm0b

     

    Jeff Gilbert's twitter: https://twitter.com/heyjeffg

    Sandeep Aggarwal's twitter: https://twitter.com/sandeepCool77

     

    YouTube video version of this episode can be found here: https://youtu.be/EhsrS6vjuds

    Swift Optional String Or Empty Extension

    Swift Optional String Or Empty Extension

    In this episode I walk you through how to create an extension on Optional String type to default nil strings to an empty string. This little shortcut can greatly reduce the amount of ifelsing and if let unwrapping on optional strings in your Swift codebase.

    This episode's video screencast: https://youtu.be/qzuFvUVuH9U

    This episode's audio podcast: https://insideiosdev.com/episodes/swift-optional-string-or-empty-extension

    Inside iOS Dev YouTube Channel: https://www.youtube.com/channel/UC6zcA3dAMUWN8E2_dlg_WyQ

    Youtube Channel Announcement

    Youtube Channel Announcement

    I'm transitioning to Youtube! Don't worry, the podcast is not over :) I'll be making more and more screencast style videos instead of just audio podcast format. I'll still be having guest over and have conversations with them about the code and I'll be cross posting screencast episodes on the podcast as well.

     

    This new direction will allow me to explain the concepts and showcase the code examples better as the audio format can only do so much.

     

    Please hop on over to Youtube. You can find the channel here https://www.youtube.com/channel/UC6zcA3dAMUWN8E2_dlg_WyQ

     

    Please share, like, and subscribe to it as it will greatly help me get this channel up and running. Hope to see and hear your feedback and have better content quality there. Let me know what you think and I'm looking forward to hearing from you!

    Builder Design Pattern in Swift with Sandeep Aggarwal

    Builder Design Pattern in Swift with Sandeep Aggarwal

    Alex talks to Sandeep Aggarwal about Builder design pattern. They talk about use cases where the pattern is most applicable and how the implementation they made turned out.

    Sandeep's Twitter https://twitter.com/sandeepCool77

    Screencast covering Builder design pattern implementation in Swift can be found here https://youtu.be/EhT-sMo9gJs

    The article used to research on Builder Design Pattern: https://refactoring.guru/design-patterns/builder

    If you want to learn more about design patterns checkout this book: http://bit.ly/didp-insideiosdev

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview

    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist

    Need to prepare for an iOS Engineer Interview?

    https://iosinterviewguide.com

    Connect with us: https://twitter.com/insideiosdev

    Email us at hello@insideiosdev.com

    Saga of The Bug in Collapsing Navigation Bar in Scrolling View

    Saga of The Bug in Collapsing Navigation Bar in Scrolling View

    Alex talks about unexpected bugs he encountered with the new iOS release and how replacing a 3rd party library with a built-in Apple implementation is not always the silver bullet.

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview
    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist
    Need to prepare for an iOS Engineer Interview?
    https://iosinterviewguide.com
    Connect with us: https://twitter.com/insideiosdev
    Email us at hello@insideiosdev.com

    How to Determine Visibility of a View Controller

    How to Determine Visibility of a View Controller

    Alex talks about unexpected intricacies and complexities he encountered trying to determine if a given view controller is visible trying to refresh data every time the user sees it. This seems like an overkill but it is more complex then you'd expect.

    Table of states and viewDidAppear/Foreground notification calls: https://1drv.ms/u/s!AneU_VTSiGUEh2kmJVH376QmUG79?e=X13rSQ

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview
    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist
    Need to prepare for an iOS Engineer Interview?
    https://iosinterviewguide.com
    Connect with us: https://twitter.com/insideiosdev
    Email us at hello@insideiosdev.com

    Unit-testing 101

    Unit-testing 101

    Alex gives an introduction to unit-testing on iOS. He talks about what unit-testing is, how unit-tests are structured, and best practices on organizing your test code. He also touches upon mocking/stubbing and testing side effects as well.

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview
    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist
    Need to prepare for an iOS Engineer Interview?
    https://iosinterviewguide.com
    Connect with us: https://twitter.com/insideiosdev
    Email us at hello@insideiosdev.com

    Protected Visibility Modifier in Swift with Daniel Hall

    Protected Visibility Modifier in Swift with Daniel Hall

    Daniel Hall and Alex talk about protected visibility modifier in objective oriented languages and how they wish it was added to Swift language. They talk about reasons for why it is needed and what workarounds you could use to achieve semi-similar result.

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview
    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist
    Need to prepare for an iOS Engineer Interview?
    https://iosinterviewguide.com
    Connect with us: https://twitter.com/insideiosdev
    Email us at hello@insideiosdev.com

    Why I wasn't recording all this time? The Truth Exposed.

    Why I wasn't recording all this time? The Truth Exposed.

    Alex talks about why he’s been missing in action and haven’t published any podcast episodes in a while.

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview
    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist
    Need to prepare for an iOS Engineer Interview? https://iosinterviewguide.com
    Connect with us: https://twitter.com/insideiosdev
    Email us at hello@insideiosdev.com

    Inside iOS Dev
    enOctober 25, 2020

    Law of Demeter, Async Programming, Naming Things with Tom Mornini

    Law of Demeter, Async Programming, Naming Things with Tom Mornini

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview
    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist
    Need to prepare for an iOS Engineer Interview? https://iosinterviewguide.com
    Connect with us: https://twitter.com/insideiosdev
    Email us at hello@insideiosdev.com

    Data Observation in SwiftUI with Dainel Hall

    Data Observation in SwiftUI with Dainel Hall

    Alex talks to Daniel Hall about SwiftUI data observation, Environment, EnvironmentObject, ObservableObject, and State. Daniel is an iOS architect at Wayfair.

    Sign up for Alex's upcoming video course about iOS System Design Interview: https://iosinterviewguide.com/system-design-interview
    Sign up for Alex's upcoming video course about RIBs Architecture: http://ribsarchitecture.com/video-course-waitlist
    Need to prepare for an iOS Engineer Interview? https://iosinterviewguide.com
    Connect with us: https://twitter.com/insideiosdev
    Email us at hello@insideiosdev.com