Essential Developer Academy by Caio and Mike
رفتن به کانال در Telegram
We help iOS developers become complete senior developers and be one of the most wanted and highest-paid iOS devs in the world.
نمایش بیشتر2 746
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+17 روز
-1130 روز
آرشیو پست ها
⚠️ The $200 discount ends today, July 26th, at 11.59 pm GMT.
Hurry up and click the link to guarantee your discount:
👉 https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials/
⚠️ Enrollment for the iOS Lead Essentials cohort #19 is officially open, with a $200 discount!
But be quick, because this special price will end very shortly.
Click the link below and save your spot:
👉 https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials/
We don't usually give discounts to developers who are not our students already. So if you want to become a complete senior developer, this is your chance.
Don't throw this opportunity away.
You'll find everything about the program in the link below, including the course structure, price, payment method, and guarantees.
Click the link below:
👉 https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials/
Important: We need to start this cohort soon. So enrollment will be open only until Friday, July 29th, at 11.59 pm GMT or until all seats are taken.
The longer you take to start building your skills, the more distant you will be from your career goals. So take action now and enjoy the discount while you can.
Now is the best time to enroll. See you there 🙂
👉 https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials/
⚠️ Today, we started the iOS Architect Crash Course.
There's still time for you to sign up for free and learn how to become a complete senior iOS developer.
👉 https://iosacademy.essentialdeveloper.com/p/ios-architect-crash-course-orga0eb/
The iOS Architect Crash Course has three main lectures:
In the first lecture (July 18th - already live!), we explained common mistakes preventing iOS devs from becoming true senior developers, including examples of common anti-patterns we see in iOS/Swift codebases.
In the second lecture (this Wednesday - July 20th), we'll show in practice how to apply principles and patterns to turn bad legacy code into clean code. You'll download the code and refactor it with us.
In the third lecture (this Friday - July 22nd), we'll finish the architecture refactoring with powerful composition concepts and explain the fastest and simplest way to achieve technical excellence and become a complete senior iOS developer.
If your goal is to grow as a developer in 2022, click the link below and sign up now:
👉 https://iosacademy.essentialdeveloper.com/p/ios-architect-crash-course-orga0eb/
Hurry up because the lectures will be available only until Sunday, July 24th (when this course ends) - so click the link and don't miss out ⏰
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
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
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
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.
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.
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.
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
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
This iOS developer 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.
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, test, 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.
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.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
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 developer, you need to know how to design good app services and avoid duplication.
So watch this practical mentoring session now and learn how to decouple and reuse auth token code in services with composition 👇
https://www.essentialdeveloper.com/articles/how-senior-ios-devs-reuse-auth-token-logic-and-design-good-app-services-live-dev-mentoring
To become a complete senior developer, you need to know how to implement analytics in large apps with large teams.
So watch this practical mentoring session now and learn app analytics patterns that scale well 👇
https://www.essentialdeveloper.com/articles/advanced-patterns-senior-devs-use-to-implement-analytics-in-large-apps-live-dev-mentoring
But hurry up because this video is publicly available only until April 18th, 2022. After that, it'll only be available to students of the Essential Developer Academy.
⚠️ Enrollment is open for the iOS Lead Essentials cohort #18.
The iOS Lead Essentials is the complete online program that makes it possible for developers to master app architecture patterns and double their salaries in 3 to 6 months.
👉 https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials/
This opportunity is on the table now. And there are more developers on the list than we have seats available - so we strongly recommend that you don't leave it for later.
We want to emphasize that:
1) This is not a program for beginners. We recommend this program for mid and senior developers or developers with at least two years of professional experience who are serious about becoming complete senior developers.
2) The iOS Lead Essentials program is 100% online. You have the freedom to progress at your own pace while still cranking at work. You get instant access to the lectures, community, and support as soon as you enroll.
3) The iOS Lead Essentials program is more than a collection of lectures. The program is effective because our students also interact with us through discussions, Q&As, lives, and mentoring sessions.
4) Our goal is to help as many developers as possible - from anywhere in the world. So to make the course more accessible, all lectures in the program have captions/subtitles, accompanying articles, and Q&A threads.
5) As a bonus, you will also gain access to a private community of like-minded developers, moderated by us, where you can share and solve technical and career challenges with people who have the same goals as yours.
If you already know that you need to change the way you develop apps, this is your chance.
You'll find everything about the program in the link below, including the course structure, price, payment method, and guarantees.
Click the link below:
👉 https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials/
Important: We need to start this cohort soon. So enrollment will be open only until Friday, April 8th, at 11.59 pm GMT or until all seats are taken.
Now is the best time to enroll. See you there 🙂
Yesterday, we started the iOS Architect Crash Course 2.0.
There's still time for you to sign up for free and learn how it's possible for developers to master app architecture patterns and double their salaries in 3 to 6 months.
👉 https://iosacademy.essentialdeveloper.com/p/ios-architect-crash-course-org0b9e/
The iOS Architect Crash Course 2.0 has three main lectures that will go live on Monday (Mar 28th), Wednesday (Mar 30th), and Friday (Apr 01) at 8 am GMT.
In the first lecture (already live!), we showed how developers can find unique opportunities to double their salaries from anywhere. You'll learn why now is the best time to grow as a developer and how to take advantage of it.
In the second lecture, we'll dive deeper into the most important dev skill that makes companies compete for you. This is a technical lecture, so there'll be a lot of code. And you can download the Xcode project to practice with us.
In the third lecture, we'll show the fastest path that makes it possible for developers to master app architecture patterns and double their salaries in 3 to 6 months.
If your goal is to grow as a developer in 2022, click the link below and sign up now:
👉 https://iosacademy.essentialdeveloper.com/p/ios-architect-crash-course-org0b9e/
