Many iOS apps lose user data because of bad Core Data migrations. The app may not even open anymore (💥 crashing on startup!). The common user response is to delete the app and leave a bad review. Don't let it happen to you!
To become a complete senior iOS developer, you need to know how to safely migrate Core Data models without losing users' data. Including lightweight and heavyweight Core Data migrations.
So watch this practical mentoring session now and learn how to test-drive Core Data migrations with ease 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-do-safe-core-data-migrations-with-tests-live-dev-mentoring
But hurry up because this video is publicly available only until May 2nd, 2022. After that, it'll only be available to students of the Essential Developer Academy.
  To become a complete senior iOS developer, you need to know how to safely migrate Core Data models without losing users' data. Including lightweight and heavyweight Core Data migrations.
So watch this practical mentoring session now and learn how to test-drive Core Data migrations with ease 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-do-safe-core-data-migrations-with-tests-live-dev-mentoring
But hurry up because this video is publicly available only until May 2nd, 2022. After that, it'll only be available to students of the Essential Developer Academy.
Did you know there are common strategies senior devs use to architect and develop identical SDKs in iOS/Swift and Android/Kotlin? 
Watch this mentoring session now to learn more 👇
https://www.essentialdeveloper.com/articles/strategies-senior-devs-use-for-developing-sdks-for-ios-swift-android-kotlin-live-dev-mentoring
  Watch this mentoring session now to learn more 👇
https://www.essentialdeveloper.com/articles/strategies-senior-devs-use-for-developing-sdks-for-ios-swift-android-kotlin-live-dev-mentoring
Have you ever felt like Apple frameworks such as StoreKit for in-app purchases are hard to use and complicate your code? 👇
For example, you may have to deal with many confusing optional properties (that should never be "nil"). Or callbacks with optional results - even though there's no reason to ever get "nil" back in your specific case.
This is not because Apple's framework design is bad. But think about it... Apple frameworks need to accommodate *every* app. So those frameworks need to be very flexible and offer a wide variety of features. And this brings complexity.
But your app may need only a tiny subset of the features Apple frameworks (or any other 3rd-party framework) provide.
To become a complete senior iOS developer, you need to know how to separate your features from frameworks' complexity in such cases.
To do so, you can model your app needs with plain Swift types and clean abstractions - without ever referencing specific framework details in your features. And you "plug" or "inject" frameworks into your features later. This strategy is a combination of "Dependency Inversion" and other design principles and practices applied in unison.
This is a common strategy in Domain-Driven Design (DDD) - where you design/model your core domain to be decoupled from frameworks and infrastructure complexity. This makes your core domain logic much easier to implement, maintain, understand, and test.
Watch this mentoring session now to learn how senior iOS devs decouple features from frameworks!
https://www.essentialdeveloper.com/articles/how-do-senior-ios-devs-decouple-features-from-frameworks-like-storekit-live-dev-mentoring
But hurry up because this video is publicly available only until May 16th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
  For example, you may have to deal with many confusing optional properties (that should never be "nil"). Or callbacks with optional results - even though there's no reason to ever get "nil" back in your specific case.
This is not because Apple's framework design is bad. But think about it... Apple frameworks need to accommodate *every* app. So those frameworks need to be very flexible and offer a wide variety of features. And this brings complexity.
But your app may need only a tiny subset of the features Apple frameworks (or any other 3rd-party framework) provide.
To become a complete senior iOS developer, you need to know how to separate your features from frameworks' complexity in such cases.
To do so, you can model your app needs with plain Swift types and clean abstractions - without ever referencing specific framework details in your features. And you "plug" or "inject" frameworks into your features later. This strategy is a combination of "Dependency Inversion" and other design principles and practices applied in unison.
This is a common strategy in Domain-Driven Design (DDD) - where you design/model your core domain to be decoupled from frameworks and infrastructure complexity. This makes your core domain logic much easier to implement, maintain, understand, and test.
Watch this mentoring session now to learn how senior iOS devs decouple features from frameworks!
https://www.essentialdeveloper.com/articles/how-do-senior-ios-devs-decouple-features-from-frameworks-like-storekit-live-dev-mentoring
But hurry up because this video is publicly available only until May 16th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
iOS app navigation can lead to high coupling between features. Have you ever wondered how senior iOS devs handle navigation in large modular apps?
When modularizing large iOS apps, the goal is to decouple features as much as possible so we can develop, maintain, and test them in isolation. Also, a common use case is to reuse independent modules across apps.
But what about when you need to navigate from one feature to the other? If we navigate from feature A to B directly, there's coupling from feature A to B. So they can't be independent.
If the features need to be independent, the Composition Root is the place to compose the modules without coupling them. But we don't want navigation logic in composition, factories, or any other composer types to avoid spreading logic into unrelated components.
To become a complete senior iOS developer, you need to know strategies to navigate between independent features without coupling them.
So watch this mentoring session now to see Flows/Coordinators implemented in practice to solve this problem 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-extract-navigation-logic-into-flows-coordinators-live-dev-mentoring
But hurry up because this video is publicly available only until May 23rd, 2022. After that, it'll only be available to students of the Essential Developer Academy.
When modularizing large iOS apps, the goal is to decouple features as much as possible so we can develop, maintain, and test them in isolation. Also, a common use case is to reuse independent modules across apps.
But what about when you need to navigate from one feature to the other? If we navigate from feature A to B directly, there's coupling from feature A to B. So they can't be independent.
If the features need to be independent, the Composition Root is the place to compose the modules without coupling them. But we don't want navigation logic in composition, factories, or any other composer types to avoid spreading logic into unrelated components.
To become a complete senior iOS developer, you need to know strategies to navigate between independent features without coupling them.
So watch this mentoring session now to see Flows/Coordinators implemented in practice to solve this problem 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-extract-navigation-logic-into-flows-coordinators-live-dev-mentoring
But hurry up because this video is publicly available only until May 23rd, 2022. After that, it'll only be available to students of the Essential Developer Academy.
👏12👍5
  One of our students in the iOS Lead Essentials program recently received job offers from Meta and Apple. Want to see one of the steps in his preparation? 👇
So watch this mentoring session now to help you prepare for the big day.
https://www.essentialdeveloper.com/articles/big-tech-senior-ios-dev-system-design-interview-prep-design-the-facebook-feed-live-dev-mentoring
We highly recommend watching this session if you are preparing for a big-tech senior iOS dev interview or are curious about what to expect.
So watch this mentoring session now to help you prepare for the big day.
https://www.essentialdeveloper.com/articles/big-tech-senior-ios-dev-system-design-interview-prep-design-the-facebook-feed-live-dev-mentoring
We highly recommend watching this session if you are preparing for a big-tech senior iOS dev interview or are curious about what to expect.
👍25🔥5🎉3
  Ever wondered how many iOS teams keep releasing app versions continuously with confidence? 👇
One key aspect of Continuous Integration (CI) and Continuous Deployment (CD) is automated testing.
Fast and reliable automated tests allow iOS teams to be much more productive and iterate much faster in the development cycle.
So to become a complete senior iOS developer, you need to know how to write fast and reliable tests. And to be fast and productive at writing tests, we recommend following Test-Driven Development (TDD).
So watch this mentoring session now to learn simple techniques to get started with TDD without getting stuck.
https://www.essentialdeveloper.com/articles/how-to-start-with-tdd-to-become-a-complete-senior-ios-developer-live-dev-mentoring
One key aspect of Continuous Integration (CI) and Continuous Deployment (CD) is automated testing.
Fast and reliable automated tests allow iOS teams to be much more productive and iterate much faster in the development cycle.
So to become a complete senior iOS developer, you need to know how to write fast and reliable tests. And to be fast and productive at writing tests, we recommend following Test-Driven Development (TDD).
So watch this mentoring session now to learn simple techniques to get started with TDD without getting stuck.
https://www.essentialdeveloper.com/articles/how-to-start-with-tdd-to-become-a-complete-senior-ios-developer-live-dev-mentoring
❤13👍3
  Have you ever felt lost trying to measure and solve performance issues in your iOS apps? Curious about how the "Profile" option on Xcode can help?
To become a complete senior iOS developer, you need to know how to profile and improve your apps. And the Instruments app that comes with Xcode is a key tool for that!
So watch this mentoring session now and learn practical Xcode/Instruments guidelines to profile and improve performance issues more efficiently 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-profile-and-solve-performance-issues-with-instruments-app-live-dev-mentoring
To become a complete senior iOS developer, you need to know how to profile and improve your apps. And the Instruments app that comes with Xcode is a key tool for that!
So watch this mentoring session now and learn practical Xcode/Instruments guidelines to profile and improve performance issues more efficiently 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-profile-and-solve-performance-issues-with-instruments-app-live-dev-mentoring
🔥10👍4
  Testing simple outputs like Strings or Integers is easy in Swift. What about testing iOS app features that produce complex outputs like images? 👇
To become a complete senior iOS developer, you need to know strategies to test complex outputs. So watch this mentoring session now!
https://www.essentialdeveloper.com/articles/how-to-test-ios-app-features-that-produce-complex-outputs-like-images-live-dev-mentoring
But hurry up because this video is publicly available only until June 20th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
To become a complete senior iOS developer, you need to know strategies to test complex outputs. So watch this mentoring session now!
https://www.essentialdeveloper.com/articles/how-to-test-ios-app-features-that-produce-complex-outputs-like-images-live-dev-mentoring
But hurry up because this video is publicly available only until June 20th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
🔥6👍1
  Have you ever felt like managing app state keeps getting more and more complex as you add new features? Curious about what design patterns and techniques can help?
To become a complete senior iOS developer, you need to know ways to handle app transitions throughout the app lifetime seamlessly. So watch this mentoring session now 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-handle-state-transitions-throughout-the-app-lifetime-live-dev-mentoring
But hurry up because this video is publicly available only until June 27th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
To become a complete senior iOS developer, you need to know ways to handle app transitions throughout the app lifetime seamlessly. So watch this mentoring session now 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-handle-state-transitions-throughout-the-app-lifetime-live-dev-mentoring
But hurry up because this video is publicly available only until June 27th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
🔥2
  Ever had to implement a very complex iOS app flow? For example... 👇
• The app is accessible without an account, but some content is locked behind permissions controlled by admins.
• If the user wants to access locked content and is not logged in, show the login screen with the option to create a new account.
• Once logged in, check if they have permission to access the content.
• If they have access, show the content.
• If not, show a flow for requesting permission to an admin...
• Some content may require additional flows, such as accepting terms and conditions...
And so on. Those flows can get really long and complex. And new rules may be added at any time. So if we don't manage the complexity well, we'll end up with huge classes with thousands of lines of messy code.
To become a complete senior iOS developer, you need to learn how to implement complex flows in a simple and maintainable way.
So watch this mentoring session now to learn how to design independent flows that are easy to implement, test, maintain, compose, and extend.
https://www.essentialdeveloper.com/articles/architecting-complex-ios-app-flows-with-senior-devs-live-dev-mentoring
But hurry up because this video is publicly available only until July 4th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
• The app is accessible without an account, but some content is locked behind permissions controlled by admins.
• If the user wants to access locked content and is not logged in, show the login screen with the option to create a new account.
• Once logged in, check if they have permission to access the content.
• If they have access, show the content.
• If not, show a flow for requesting permission to an admin...
• Some content may require additional flows, such as accepting terms and conditions...
And so on. Those flows can get really long and complex. And new rules may be added at any time. So if we don't manage the complexity well, we'll end up with huge classes with thousands of lines of messy code.
To become a complete senior iOS developer, you need to learn how to implement complex flows in a simple and maintainable way.
So watch this mentoring session now to learn how to design independent flows that are easy to implement, test, maintain, compose, and extend.
https://www.essentialdeveloper.com/articles/architecting-complex-ios-app-flows-with-senior-devs-live-dev-mentoring
But hurry up because this video is publicly available only until July 4th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
🔥11👍5
  Have you ever had doubts or difficulty modularizing your iOS apps' architecture? For example... 👇
Should you separate your app vertically into feature modules?
Or maybe in horizontal layers like Models, Services, Views, etc.?
Or perhaps using a mixture of both horizontal and vertical slicing?
And which one will improve build times?
To become a complete senior iOS developer, you need to know when and how to extract your code into isolated modules that are easy to develop, test, compose, and maintain.
So watch this mentoring session now to learn when and how to use modularity to improve your codebase and your team's productivity.
https://www.essentialdeveloper.com/articles/senior-ios-dev-modular-app-architecture-review-live-dev-mentoring
Should you separate your app vertically into feature modules?
Or maybe in horizontal layers like Models, Services, Views, etc.?
Or perhaps using a mixture of both horizontal and vertical slicing?
And which one will improve build times?
To become a complete senior iOS developer, you need to know when and how to extract your code into isolated modules that are easy to develop, test, compose, and maintain.
So watch this mentoring session now to learn when and how to use modularity to improve your codebase and your team's productivity.
https://www.essentialdeveloper.com/articles/senior-ios-dev-modular-app-architecture-review-live-dev-mentoring
👍12🔥6
  Many iOS devs believe they will earn a raise or get paid more if they work longer hours. But it rarely works because... 👇
1) Your boss may not perceive your extra hours as extra work. They may not even know you're doing extra hours.
Worst yet... What if they get used to your extra delivery pace? It'll be hard to go back to the normal number of hours later as they'd think you "slowed down."
When the "extra hours" becomes the norm, you actually DECREASE your hourly rate because you have to work more hours to get paid the same.
2) Fatigue. You won't be able to sustain long hours forever, and the quality of your work will decrease over time. So chances of improving and getting a significant raise will decrease.
3) It doesn't scale. We all have only 24h a day with limited time to work - so you can't keep increasing your salary by working more hours forever.
A better way of increasing our income as iOS devs is to deliver more value with less effort.
To become a complete senior iOS developer, you need to know better ways of increasing your income by delivering more value to your clients and team with less effort.
So watch this mentoring session now and learn how to increase your income sustainably without working more hours:
https://www.essentialdeveloper.com/articles/how-to-increase-your-senior-ios-dev-income-without-working-more-hours
1) Your boss may not perceive your extra hours as extra work. They may not even know you're doing extra hours.
Worst yet... What if they get used to your extra delivery pace? It'll be hard to go back to the normal number of hours later as they'd think you "slowed down."
When the "extra hours" becomes the norm, you actually DECREASE your hourly rate because you have to work more hours to get paid the same.
2) Fatigue. You won't be able to sustain long hours forever, and the quality of your work will decrease over time. So chances of improving and getting a significant raise will decrease.
3) It doesn't scale. We all have only 24h a day with limited time to work - so you can't keep increasing your salary by working more hours forever.
A better way of increasing our income as iOS devs is to deliver more value with less effort.
To become a complete senior iOS developer, you need to know better ways of increasing your income by delivering more value to your clients and team with less effort.
So watch this mentoring session now and learn how to increase your income sustainably without working more hours:
https://www.essentialdeveloper.com/articles/how-to-increase-your-senior-ios-dev-income-without-working-more-hours
👏5🔥4👍2
  iOS DEV: "My CI build with 3rd-party dependencies is too slow 😱" 👇
Have you ever experienced slow CI build times - sometimes taking even longer than your local builds?!
To become a complete senior iOS developer, you need to know how to correctly configure your CI pipeline, especially with 3rd-party dependencies via Cocoapods, Carthage, and SPM.
So watch this mentoring session now to learn how to speed up a slow CI pipeline to deliver better iOS apps faster.
https://essentialdeveloper.com/articles/how-to-speed-up-slow-ios-ci-with-cocoapods-carthage-spm-dependencies-live-dev-mentoring
Have you ever experienced slow CI build times - sometimes taking even longer than your local builds?!
To become a complete senior iOS developer, you need to know how to correctly configure your CI pipeline, especially with 3rd-party dependencies via Cocoapods, Carthage, and SPM.
So watch this mentoring session now to learn how to speed up a slow CI pipeline to deliver better iOS apps faster.
https://essentialdeveloper.com/articles/how-to-speed-up-slow-ios-ci-with-cocoapods-carthage-spm-dependencies-live-dev-mentoring
👍5👏3
  Did you know your iOS apps could have race conditions when refreshing Auth Tokens? 👇
To become a complete senior iOS developer, you need to know how to store and refresh access tokens securely and without race conditions.
Also, how to use the Decorator design pattern to sign requests across multiple features without duplicating code everywhere.
So watch this mentoring session now to learn how to refresh tokens correctly using Swift Async/Await and Actors:
👉 https://www.essentialdeveloper.com/articles/how-to-refresh-auth-tokens-correctly-using-swift-async-await-actors-live-dev-mentoring
But hurry up because this video is publicly available only until August 8th, 2022. After that, it'll only be available to students of the iOS Lead Essentials program.
---
P.S. Enrollment for the iOS Lead Essentials cohort #19 is open until tomorrow, July 29, 2022, or until all seats are taken. Learn more here: https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials/
To become a complete senior iOS developer, you need to know how to store and refresh access tokens securely and without race conditions.
Also, how to use the Decorator design pattern to sign requests across multiple features without duplicating code everywhere.
So watch this mentoring session now to learn how to refresh tokens correctly using Swift Async/Await and Actors:
👉 https://www.essentialdeveloper.com/articles/how-to-refresh-auth-tokens-correctly-using-swift-async-await-actors-live-dev-mentoring
But hurry up because this video is publicly available only until August 8th, 2022. After that, it'll only be available to students of the iOS Lead Essentials program.
---
P.S. Enrollment for the iOS Lead Essentials cohort #19 is open until tomorrow, July 29, 2022, or until all seats are taken. Learn more here: https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials/
❤8👍2🤔1
  Have you considered transitioning parts of your existing app using UIKit to SwiftUI? 👇
Many iOS devs and iOS teams have difficulties migrating because of custom flows used in the app, such as navigation and UI behaviors that aren't easily reproducible with SwiftUI.
To become a complete senior iOS developer, you need to know how to dig and experiment with ideas to determine the trade-offs of such transitions, assessing the best choice for your team in the short and long term.
So watch this mentoring session now to learn how to choose the right approach/framework to maintain or even boost your team's productivity when there is a significant paradigm shift in our tools, like the adoption of SwiftUI.
https://www.essentialdeveloper.com/articles/custom-ios-app-navigation-with-swiftui-navigation-bar-view-styling-live-dev-mentoring
But hurry up because this video is publicly available only until August 15th, 2022. After that, it'll only be available to students of the iOS Lead Essentials program.
Many iOS devs and iOS teams have difficulties migrating because of custom flows used in the app, such as navigation and UI behaviors that aren't easily reproducible with SwiftUI.
To become a complete senior iOS developer, you need to know how to dig and experiment with ideas to determine the trade-offs of such transitions, assessing the best choice for your team in the short and long term.
So watch this mentoring session now to learn how to choose the right approach/framework to maintain or even boost your team's productivity when there is a significant paradigm shift in our tools, like the adoption of SwiftUI.
https://www.essentialdeveloper.com/articles/custom-ios-app-navigation-with-swiftui-navigation-bar-view-styling-live-dev-mentoring
But hurry up because this video is publicly available only until August 15th, 2022. After that, it'll only be available to students of the iOS Lead Essentials program.
🔥17
  "Should I extract my code into reusable components to avoid duplication?" 👇
Well, it depends...
Usually, yes. We don't want to duplicate UI code because every time we need to make a change, we'd have to remember to update it in EVERY duplicate component. And this is inefficient and error-prone.
But in large modular apps, we also don't want to couple all feature modules with a shared UI module. Otherwise, changing the shared module because of "Feature A" will also impact "Feature B" directly. This would also be inefficient because it would increase build times and require synchronization between feature teams.
Is there a solution to this problem?
Yes! There's a specific way of creating shared UI modules without increasing coupling between modules.
To become a complete senior iOS developer, you need to know when it's the right time to extract duplicate code into a shared module and how to do it efficiently without increasing coupling between feature teams.
So watch this mentoring session now to learn when and how to create a shared UI module.
https://www.essentialdeveloper.com/articles/ios-app-architecture-when-and-how-to-create-a-shared-ui-module-live-dev-mentoring
But hurry up because this video is publicly available only until August 22nd, 2022. After that, it'll only be available to students of the iOS Lead Essentials program.
Well, it depends...
Usually, yes. We don't want to duplicate UI code because every time we need to make a change, we'd have to remember to update it in EVERY duplicate component. And this is inefficient and error-prone.
But in large modular apps, we also don't want to couple all feature modules with a shared UI module. Otherwise, changing the shared module because of "Feature A" will also impact "Feature B" directly. This would also be inefficient because it would increase build times and require synchronization between feature teams.
Is there a solution to this problem?
Yes! There's a specific way of creating shared UI modules without increasing coupling between modules.
To become a complete senior iOS developer, you need to know when it's the right time to extract duplicate code into a shared module and how to do it efficiently without increasing coupling between feature teams.
So watch this mentoring session now to learn when and how to create a shared UI module.
https://www.essentialdeveloper.com/articles/ios-app-architecture-when-and-how-to-create-a-shared-ui-module-live-dev-mentoring
But hurry up because this video is publicly available only until August 22nd, 2022. After that, it'll only be available to students of the iOS Lead Essentials program.
🔥14👍2
  Ever wondered how to architect iOS apps with real-time UI updates via WebSockets? 🤔👇
To become a complete senior iOS developer, you need to know how to architect iOS apps with different networking protocols - including WebSockets!
So watch this mentoring session now to learn how to use WebSockets for real-time UI updates in a clean, composable, and testable way.
https://www.essentialdeveloper.com/articles/ios-app-architecture-for-realtime-ui-updates-via-websockets-live-dev-mentoring
To become a complete senior iOS developer, you need to know how to architect iOS apps with different networking protocols - including WebSockets!
So watch this mentoring session now to learn how to use WebSockets for real-time UI updates in a clean, composable, and testable way.
https://www.essentialdeveloper.com/articles/ios-app-architecture-for-realtime-ui-updates-via-websockets-live-dev-mentoring
👍8🔥7❤3
  To become a complete senior iOS developer, you need to know how to manage complex navigation flows in your iOS apps with different UI frameworks - including SwiftUI!
So watch this mentoring session now to learn how to easily manage custom navigation flows in SwiftUI programmatically.
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-do-swiftui-navigation-programmatically-patterns-flows-live-dev-mentoring
But hurry up because this video is publicly available only until September 5th, 2022. After that, it'll only be available to students of the iOS Lead Essentials program.
So watch this mentoring session now to learn how to easily manage custom navigation flows in SwiftUI programmatically.
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-do-swiftui-navigation-programmatically-patterns-flows-live-dev-mentoring
But hurry up because this video is publicly available only until September 5th, 2022. After that, it'll only be available to students of the iOS Lead Essentials program.
🔥18
  Learn how to become a senior iOS developer, crack the senior interview, and negotiate salary. 👇
https://www.essentialdeveloper.com/articles/how-to-crack-the-senior-ios-dev-interview-and-negotiate-salary-live-dev-mentoring
https://www.essentialdeveloper.com/articles/how-to-crack-the-senior-ios-dev-interview-and-negotiate-salary-live-dev-mentoring
🔥7👍5🥰3
  Watch this live Senior iOS Developer interview code review now to learn: 
- What interviewers expect from Senior iOS Developers
- And how to prepare for and pass the interview test project!
https://www.essentialdeveloper.com/articles/how-to-crack-the-senior-ios-dev-interview-test-project-review-preparation
- What interviewers expect from Senior iOS Developers
- And how to prepare for and pass the interview test project!
https://www.essentialdeveloper.com/articles/how-to-crack-the-senior-ios-dev-interview-test-project-review-preparation
🔥14
  We just released a new podcast episode 🎙
Our guest today is Damian Modernell, a student of the iOS Lead Essentials program who managed to move from a regular office job to working remotely from a Caribbean Island!
Watch it now to learn how he did it 👇
https://www.essentialdeveloper.com/articles/ios-dev-journey-from-office-to-remote-job-from-caribbean-island-ios-lead-essentials-podcast-042
Our guest today is Damian Modernell, a student of the iOS Lead Essentials program who managed to move from a regular office job to working remotely from a Caribbean Island!
Watch it now to learn how he did it 👇
https://www.essentialdeveloper.com/articles/ios-dev-journey-from-office-to-remote-job-from-caribbean-island-ios-lead-essentials-podcast-042
🔥11