COMING SOON
iOS LEAD ESSENTIALS
COHORT #29

Sign up to receive our latest updates and learn more about the next cohort, starting April 29th.

We'll keep you posted by email.
Privacy Policy

THE iOS LEAD ESSENTIALS PROGRAM

is an online training program for iOS developers who want to become complete senior developers and be one of the most wanted and highest-paid iOS devs in the world.

Check out some of our students 👇

  • Fill knowledge gaps that many developers are still missing to become and be recognized as true and complete senior developers.

  • Develop better iOS apps faster with the latest technologies and best practices.

  • Modernize your skillset and legacy projects.

  • Access to over 40 hours of video lectures, plus all recorded mentoring sessions.

  • Access to a private community of thousands of developers from all around the world.

  • Certificate of completion.

  • Pass interviews with ease and get more opportunities worldwide, including remote and visa sponsorships.

  • Be more confident as a developer and better estimate and plan your tasks.

  • Complete the program in 3 to 6 months while still cranking at work.

  • Individual code challenges reviewed and corrected by senior developers on GitHub.

  • One-on-one live sessions with senior developers to help you with your own projects.

  • Access to exclusive job listings.

🇺🇸 Henry Chan

iOS Software Engineer

"The iOS Lead Essentials is a differentiator. It helped me gain a concrete understanding of architecture, and I was able to land a job at one of the big four (FANG) companies! Thank you, Mike and Caio."

🇬🇷🇳🇱 Michael Zarmakoupis

iOS Developer

"By following the concepts in the iOS Lead Essentials training, I escaped a dead-end job and started receiving offers I never thought I would. Companies in Greece, UK, Germany, Holland, and Luxembourg were eager to hire me, so I could negotiate and choose the best option. I chose Holland for now. Thank you very much, Caio and Mike!"

🇬🇧 Luke Jones

iOS Developer

"The iOS Lead Essentials has added incredible value to my career. I'm pretty certain I wouldn't have landed my current role if it wasn't for the program. The amount of depth you guys go into and the minutiae that are discussed is, at times, mind-blowing. I think with how you guys pair up and openly express your opinions, sometimes taking one route and then going back to take a different route has so much value."

🇫🇷 Christophe Bugnon

iOS Developer

"I got my current job thanks to the work Caio and Mike did with the course. My mentor at work said I've actually the skill of an iOS developer with 5 years of experience when I had only one year as a junior. It was lots of work but Caio and Mike made me love to code and now I'm really passionate and love my work. I'm so happy to have bought this program. I'll always be grateful to you. Keep going, you help so many people!"

🇧🇷 Maurício Maniglia

Senior iOS Developer

"Last Friday I had a tech-interview and on the same day they offered me more than double what I was making on my current job. I ended up accepting. The funny thing is that it was in the same week that we did the mentoring session. It went very smoothly."

🇮🇳 Saalis Umer

iOS Senior Software Engineer

"I am joining Uber as a Senior Software Engineer in Bangalore, India because of the iOS Lead Essentials program. I got the best salary in India for devs - close to or even above Google. I am really thankful to both of you. You have changed my and my family's life!"

🇧🇷 Rodrigo Manguinho

CTO & Lead Software Architect

"I thought I was a senior iOS developer until I found the Essential Developer channel. I used to hate writing unit tests because I never found someone who could prove to me why it really mattered. Now I can't imagine myself creating a project without using TDD.

I really think all developers (even from other platforms) should watch their course. Of course, it's for iOS developers, but there is so much content about architecture and best practices. I find myself watching and rewatching the lectures over and over again."

🇬🇧 Andrew Warwick

iOS Developer

"iOS Lead Essentials is by far the best online iOS course I've taken, and I've tried a lot. Watching Caio and Mike develop an app—and clearly explaining not only 'how', but 'why' they are doing things—makes learning some challenging concepts clear. I've learned how to truly separate code into different modules and to test parts of an app that I had never been able to figure out before. I've gone through the whole course at least twice (with some sections more than that), and every run-through reveals more compelling insights I had previously missed."

🇮🇳 Hitender Kumar

Senior iOS Engineer

"I have learned a lot from the course and I have got a total of 6 offers in hand with a more than double hike on my current salary. I am very happy to have made the decision on time to join this course. Thank you Caio and Mike for all the help and great lectures."

Your Instructors

Caio Zullo

Lead iOS Developer & Program Director

Mike Apostolakis

Lead iOS Developer & Program Director

Bogdan Poplauschi

Lead iOS Developer & Lead Instructor

Thiago Penna

Lead iOS Developer & Lead Instructor

Danil Lakhtin

Senior iOS Developer & Lead Instructor

Marko Engelman

Senior iOS Developer & Lead Instructor

Raphael Silva

Senior iOS Developer & Lead Instructor

Gordon Smith

Senior iOS Developer & Lead Instructor

JOIN A GLOBAL iOS COMMUNITY

Thousands of developers who care about delivering high-quality apps have joined the iOS Lead Essentials program. Every discussion, Q&A, live, and mentoring session is open to the community. So everyone can learn and benefit from every interaction.

DEVELOPERS FROM 100+ COUNTRIES HAVE JOINED THE iOS LEAD ESSENTIALS

+ Over 35,000 developers have joined our waiting list.

Frequently Asked Questions

What's the iOS Lead Essentials?

The iOS Lead Essentials is an online training program for iOS developers who want to become complete senior developers and be one of the most wanted and highest-paid iOS devs in the world.

Developers who take this program can confidently develop large iOS apps faster and work on big projects worldwide with ease (including remote and visa sponsorships).

Students learn a straightforward step-by-step dev methodology by practicing with experienced senior developers.

The methodology is designed and taught by Caio Zullo and Mike Apostolakis through an online training program organized into a few cohorts of developers a year.

The time required and results of applying this methodology vary depending on the experience of the developers who apply it and the country/city/market they operate in.

For example, dedicated mid/senior iOS developers can achieve results much faster on average.

Who is the iOS Lead Essentials program for?

The iOS Lead Essentials is designed for mid and senior iOS developers who want to become complete senior developers and be part of the highest-paid iOS devs in the world.

The iOS Lead Essentials program is not intended for beginners in software development.

Most of our students have 2 to 10+ years of experience.

We expect students to be professional developers with knowledge of the basics of Swift, iOS development, and Xcode.

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 iOS developers.

You'll follow a step-by-step methodology with guidance from us and a community of thousands of iOS developers who care about delivering work that matters.

How do I know if I'm ready for this program? Is there a pre-course I can take to prepare?

If you have at least two years of professional experience as an iOS developer, you're ready for the iOS Lead Essentials program. We recommend you go straight to the complete iOS Lead Essentials program so you don't waste time with unnecessary preparation.

But if you have less than two years of professional experience, you can start with this free pre-course covering the basics.

By completing this pre-course, you will be ready to complete the iOS Lead Essentials program.

But again, don't waste time. Skip the pre-course if you can and start the iOS Lead Essentials program directly because we cover all the concepts in much more detail in the program.

Are there subtitles? In which languages?

All lectures have subtitles in 21 languages: English (en) • Portuguese (pt-BR) • Spanish (es) • Japanese (ja) • Simplified Chinese (zh-CN) • Traditional Chinese (zh-TW) • Ukrainian (uk) • Dutch (nl) • French (fr) • German (de) • Indonesian (id) • Italian (it) • Polish (pl) • Thai (th) • Russian (ru) • Turkish (tr) • Vietnamese (vi) • Korean (ko) • Arabic (ar) • Romanian (ro) • Hindi (hi).

Will I get more than your videos on YouTube?

Of course, the iOS Lead Essentials has much more material than what you can find on YouTube.

The videos on YouTube are demonstrations.

The iOS Lead Essentials is a complete mentorship program covering every aspect of delivering solid iOS apps in Swift for you to become a complete senior iOS developer.

We worked really hard on this. We put years of work into the lectures.

And the iOS Lead Essentials program has been updated throughout the years to what we call iOS Lead Essentials 2.0.

The fact is that our team of senior developer instructors and we discovered many ways to improve the program. Things that completely changed the game for our students and us.

And the program is definitely more powerful and interactive than ever before.

For example... The iOS Lead Essentials 2.0 has a team of senior iOS developers, fast interactions and Q&As on Slack, code challenges and reviews from senior developers on GitHub, one-on-one mentoring sessions, plus over 30 hours of extra recorded mentoring sessions (and adding more every week!).

Not to mention that we're also covering new topics such as SwiftUI and Async/Await in the new mentoring sessions.

And that's not all.

There are also things that go beyond the course lectures…

Like the iOS Lead Essentials exclusive live events for students, where you get to meet and interact live with us, our team of senior instructors, and other students. Plus, you can ask us any questions live on Zoom... face to face (on camera!).

On top of all that, you have support from a team of senior developers trained by us and with years of real-world experience in all kinds of challenging projects. You send your questions and receive expert answers from experienced senior developers during the entire year of access you have on the iOS Lead Essentials program.

What will I learn? What's the curriculum/syllabus?

The iOS Lead Essentials provides a structured curriculum and a step-by-step methodology that makes it the fastest and simplest way to become a complete senior iOS developer.

The main curriculum is structured into 6 modules to cover all aspects of developing modern iOS/Swift apps in a linear and organized way:

Module 1 - Planning and System Design: The fundamentals of good system design and architecture. You'll learn how to think, design, and draw diagrams like a software architect. The goal is for you to start on the right foot, forming a solid foundation where you can stack the upcoming knowledge.

Module 2 - Networking: You'll code following networking best practices and learn how to develop, maintain, and test a clean networking layer in your iOS apps with key frameworks such as URLSession, URLProtocol, Decodable, and third-party code. You'll also learn how to work effectively with backend teams.

Module 3 - Persistence: You'll code and learn step-by-step how to effectively tackle challenges when it comes to developing, maintaining, and testing a clean persistence layer in your iOS apps using URLCache, CoreData, FileManager, Codable, and other key persistence frameworks.

Module 4 - UI and Presentation: UI, UX, and Presentation best practices, and how to develop, maintain, and test a clean UI and Presentation layer in your iOS applications. You'll code and learn how to use MVC, MVVM, MVP, and their variants, prototyping techniques, localizing your apps, working effectively with designers, and how to create reusable UI/Presentation components.

Module 5 - Main Composition: Learn how to compose modules to form a fully functional app, including app navigation and custom flows. You'll also learn how to validate high-level acceptance criteria with automated tests at every level (Unit, Integration, Snapshot, and UI tests). You'll code following best practices, including how to use the Combine framework and how to develop, maintain, and test-drive a clean Composition layer in your iOS applications.

Module 6 - Navigation and Advanced Patterns Module: Learn how to develop better apps faster with ready solutions to common challenges such as pagination with caching, navigation, dependency injection, generic and reusable components, performance optimizations, logging, profiling, and modularization in large apps.

Extras: Throughout the program, you'll find a lot of supplementary material. There are over 60 video lectures. Every video lecture comes with captions/subtitles, an accompanying article, source code, diagrams, and references.

You'll learn how to become a complete senior developer following principles and practices such as:

  • Version control with git
  • Memory Management
  • Object-Oriented Programming
  • Functional Programming
  • Clean Architecture
  • Modular Design
  • Design Principles and Patterns
  • Single Responsibility Principle (SRP)
  • Open-Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)
  • Command-Query Separation
  • Dependency Injection
  • Composite Reuse (Prefer composition over inheritance)
  • Functional Core, Imperative Shell
  • Don’t Repeat Yourself (DRY)
  • You Aren't Gonna Need It (YAGNI)
  • Use Case analysis
  • Domain Modeling
  • Domain-Driven Design (DDD)
  • Automated Tests
  • Test-Driven Development (TDD)
  • Refactoring
  • Unit Testing
  • Integration Testing
  • Snapshot Testing
  • UI Testing
  • Acceptance Testing
  • End-to-end Testing
  • Pair programming
  • Concurrency and Threading
  • Continuous Integration, Delivery, and Deployment

You learn by developing a real-world iOS app from scratch all the way to the App Store.

The first time you're going through the program, you'll learn and practice by implementing the features as seen in the lecture.

You'll build a complete app using our methodology, from an empty project to deploying it to App Store Connect.

We will help you along the way, but we can't do the work for you. You need to be committed to doing the work.

As you progress, you should apply the methodology at work and on side-projects too. The aim is for you to build up your skills and apply what you learned to solve different problems in your real-life work.

Applying this methodology to solve any problem at work is the ultimate goal.

You'll also have challenges along the way to practice and test your skills.

We review all your assignments on GitHub and provide you with detailed feedback. You can also access everyone else's assignments and code reviews, so everyone learns together.

And you'll interact with us and the community of students when you have questions. We'll personally reply to you.

But it's up to you to decide if you want to participate actively or go on your own.

There are two ways you can take this program:

1. By watching the recorded material and practicing on your own - at your own pace.

2. Or by also completing the challenges on GitHub and joining the discussions, community Q&As, mentoring sessions, live lectures, and virtual events.

Will I learn with SwiftUI, UIKit, or both?

What you learn in the iOS Lead Essentials program can be applied using any UI framework, including UIKit and SwiftUI.

And, of course, we show both in the program. We show how to apply the concepts with UIKit in the lectures and SwiftUI in mentoring sessions.

If you want to become a complete senior developer, this is the program for you.

What's the price to enroll in the iOS Lead Essentials?

The iOS Lead Essentials is a complete advanced program with active support from senior developers, so it could easily be more than $8000 when compared to other courses.

For example, popular bootcamps teaching the mere basics for beginners can cost more than US$8000. So imagine how much they'd charge for an advanced program to become a complete senior developer.

But there are two main reasons why we don't charge more than $8000:

1. Our mission is to help iOS developers achieve their dream of becoming complete senior developers. And keeping this price as low as possible will help more people enroll and achieve this goal.

2. We want to build the biggest community of complete senior iOS developers in the world. By helping more students join our program, we can grow our community and find talented developers to work with us. It's a win-win.

That's why, at the moment, the price to enroll is only:

$8000 US$2497

If you want to become a complete senior developer, take advantage of this special price.

You can also pay in 3/6/12 monthly installment options. (Click here to learn how installments work.)

(And click here to learn how to get this program for free by convincing your boss to invest in the program with you.)

How do installment plans work? Will I get access to the whole content with an installment plan? Can I later settle my installment plan in full? Can I pause or cancel an installment plan?

All the payment options, including installment plans, give you exactly the same instant access to the program.

The only difference is that installment plans allow you to split your payment in 3, 6, or 12 monthly installments if you can't pay in a single payment.

It's like buying an iPhone in installments - you pay a fixed amount per month until you complete the full amount.

For example, if you enroll with the 3-month installment plan, you'll pay a fixed amount for 3 consecutive months. And you'll have the same one year of full access to the program as someone who joined with a single payment.

If you join with an installment plan, you can also settle the remaining installments in a full single payment at any moment.

The installments are a great option for people on a budget.

Or for people arranging the funds to enroll, like if you're waiting for approval from your boss. In this case, you can enroll with the 12 monthly installments option to save your seat - and later settle your plan once the funds arrive.

Important: An installment plan is not a subscription, so it cannot be paused or canceled after the 14-day guarantee. After the 14-day guarantee ends, the installment plan must be paid on time until the end - it can only be canceled within the 14-day guarantee period.

Is there a guarantee? What if I am unhappy with the course?

We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 14 days and we will give you a full refund. No questions asked.

Can I ask questions during the course?

Of course, you can ask any question regarding the course lectures and iOS development. We and our team of senior developers will personally reply to you and help you become a complete senior developer. You'll have one year of support from us.

Do I get a certificate of completion? Is there a final test?

Yes, you'll receive a certificate of completion once you complete the program.

You must complete all lectures and pass all code assignments to receive a certificate of completion.

We review each code assignment on GitHub, line by line, and provide detailed feedback to help you become a complete senior developer.

This program looks very advanced. Do I need to be a very experienced iOS developer to benefit from the course?

This is not a program for beginners. Most of our students have 2 to 10+ years of experience.

So if you have at least two years of professional experience in iOS development and you're serious about becoming a complete senior developer, this is the course for you.

The program provides a structured curriculum and a step-by-step methodology that makes it the fastest and simplest way to become a complete senior iOS developer.

Waiting to improve your skills to enroll would be equivalent to waiting to get fit to join the gym!

Do I need to be a Swift/iOS developer to follow the course?

No, you don't have to be an iOS developer. Students with a background in languages such as Objective-C, C, C++, JAVA, C#, Kotlin, Ruby, and JavaScript have successfully taken the course.

If you know how to code well in another language/platform and you're serious about becoming a complete senior developer, the content is definitely within your reach.

The universal concepts, principles, and practices can be applied to any platform and language.

But again, this program is focused on iOS development with Swift. We don't provide support for other platforms and languages.

Will the iOS Lead Essentials be outdated with the next releases of iOS and Swift?

Definitely not.

We're constantly updating the program with all new features, including UIKit, SwiftUI, Async/Await, and any other new technology in the future.

And you get access to all free updates for as long as you have access to the program.

Is the iOS Lead Essentials program online or face-to-face?

The iOS Lead Essentials course is 100% online.

Although we probably won't meet in person, we'll meet in virtual events and the private community inside the program.

You can reach out to us and ask any questions regarding the course and iOS development. You'll have one year of support from us.

When does the course start and finish? How long it takes to complete it?

The iOS Lead Essentials course is 100% online so that you can progress at your own pace.

The program doesn't have a predefined duration. The duration will depend on how much time you can dedicate to it.

If you dedicate 2h+ a day, you can finish the program in 3 months.

If you dedicate 1-2h a day, you can finish the program in 3-6 months.

If you dedicate less than 1h a day, you can finish the program in 6-12 months.

But there is no rush, and you won't fall behind. You have access to the program for a whole year, which is more than enough to finish the program at least twice and get answers to all your questions.

For how long do I have access to the program, updates, and support?

You have access to the program, updates, and support for a whole year, which means you can repeat the lectures over and over and get answers to all of your questions.

If you dedicate yourself, you can finish the program in 3-6 months.

So one year is more than enough time to finish the program (two to three times even!).

But we know that things can get in the way. So you can later extend your access if you want to.

After running dozens of cohorts, we learned that many students want to renew for another year, mainly for two reasons:

  1. They couldn't dedicate as much time they wanted to the program, but they want to stay and finish it because they know it'll benefit their careers.
  2. They finished the program (often more than once), and they want to keep their access to the current and future lectures, updates, mentoring sessions, belt progression and certification, personal support, challenge reviews on GitHub, and stay part of the bonus events and community to solve their daily challenges with the help of true senior developers. They also want to meet like-minded developers in the community and receive unique job opportunities to work with other students.

I have my own project, will you help me build it? Can you help me with my existing code?

Yes, we can help you with your own projects in one-on-one mentoring sessions in the program (with your project or a sample project demonstrating your challenges).

All mentoring sessions are recorded and shared inside the iOS Lead Essentials private community, so everyone learns together.

Why do you open and close enrollment periodically for iOS Lead Essentials?

Because we want to personally assist and support all students. And that's a lot of work!

The iOS Lead Essentials program is more than a collection of lectures and articles.

The program is effective because our students also interact with us through discussions, lives, and Q&As.

Therefore, we can only enroll a handful of students at a time.

Every discussion, Q&A, live, and mentoring session is open to the community. So everyone can learn and benefit from every interaction.

Our goal is for no one to be left behind. If you want to become a complete senior iOS developer, this is the course for you.

Does everyone who enroll automatically become complete senior developers and increase their income?

No. Of course, you need to learn, practice, and apply the methodology first.

The iOS Lead Essentials course is not a magic formula.

We have students that more than doubled their salaries, but those are not typical results. It requires practice and commitment.

And not everyone is willing to do what it takes.

In our experience, some do the work, and some don't. Simple as that.

The program offers a straightforward, step-by-step path with community support and our personal help.

We are 100% committed to helping you, but we can't do the work for you.

That's why we don't recommend the course to people who are just curious or not willing to do the work.

If you're not serious about it, please leave the seat open for another developer.

What if I don't have time to take the iOS Lead Essentials course?

We totally understand if you don't have time to take the course. Time is extremely scarce, and you need to define your priorities.

However, if you don't find time to invest in yourself, you risk falling far behind people that are working hard to build a bright professional future.

The iOS Lead Essentials program is for motivated professionals that put their future as a priority in their life.

And again, the iOS Lead Essentials is an online program. You can watch the videos at your own pace, at any time of the day, while still cranking at work. You can effectively become a complete senior iOS developer by dedicating less than an hour a day.

Is this course easy?

No. It's not easy to become a complete senior iOS developer.

If we said that, it would be disrespectful to our students that work hard inside the program.

It's not easy, but with the detailed explanations, step-by-step practice, and continuous support from Caio & Mike and the community, it becomes simple.

Who are you? Why did you create the Essential Developer Academy?

We are Caio and Mike, lead developers and mentors to thousands of iOS developers worldwide.

We love building apps and helping other developers thrive. It's part of who we are.

We founded Essential Developer to help iOS developers achieve a prosperous future for themselves, their families, friends, peers, and companies.

Our mission is to help you become a complete senior iOS developer and be part of the most wanted and highest-paid developers in the world.

You matter, and your work matters.

We're building and supporting a community of professional iOS developers who, like us, believe in high-standards, mastery, integrity, and delivering great work.

We want you to succeed.

And we want you to get everything that you worked hard for, so you can advance your career and get yourself and your family a better future.

How can I contact you?

For any further questions you may have, you can contact us here.

I want to learn more!