iOS Lead Essentials
All seats sold out

Sign up by email to be notified about the next cohort.

We'll keep you posted by email
Privacy Policy

THE iOS LEAD ESSENTIALS PROGRAM


The iOS Lead Essentials is an online program meticulously thought out for iOS developers who want to become complete senior developers and be part of the highest-paid iOS devs in the world.

A senior iOS developer with an expert level of technical and practical skills can confidently deliver iOS apps they're proud of and even turn messy codebases into successful projects.

When you achieve this level, you're a reference in the industry and recognized for your abilities. So you can choose the projects you work on worldwide, lead and help other developers grow, and you get paid exceptionally well.

In the iOS Lead Essentials program, you learn a straightforward, step-by-step methodology to become a complete senior iOS developer by practicing with experienced senior developers who achieved it and can teach you the way.

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.

I want to join!

ESSENTIAL DEVELOPER SUCCESS STORIES

"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."

- 🇺🇸 Henry Chan, iOS Software Engineer

"By following the concepts in the iOS Lead Essentials training, I escaped a dead-end job and started receiving unbelievable 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!"

- 🇳🇱 Michael Zarmakoupis, 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."

- 🇬🇧 Luke Jones, 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!"

- 🇫🇷 Christophe Bugnon, 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."

- 🇧🇷 Maurício Maniglia, Senior iOS Developer

"Thank you guys so much for the incredible content! It's really shifted my entire viewpoint on not only developing iOS apps, but software engineering and career development at a higher level."

- 🇺🇸 Ricky Munz, Senior iOS Developer

"Hi, guys. Thanks again for the amazing course. The iOS Lead Essentials is exactly what I was looking for a long time. It helped me to achieve a new level of understanding in programming and improve my skills so fast."

- 🇺🇦 Eugene Henyk, iOS Developer

"I am a professional iOS developer since 2011, and I've been building software for a long time. Last year, I started watching your videos, and with what I learned I prepared myself to go through an interview process in a company that would be a phenomenal leap in my career. Today, I accepted a job offer from them, and I'm overwhelmingly happy with this new journey! I wanted to thank you for the fantastic work you put into helping others. Your work really changes people's lives!"

- 🇵🇹 Carlos Corrêa, Software Craftsman

🚀 Effectively develop resilient apps with good architecture

Achieve a fast, productive, and reliable development cycle without compromising technical excellence and good design.

Learn from the ground up and become a master at developing and maintaining a sustainable Swift codebase with TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design.

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

You learn with a hands-on practical approach while writing code and building an app with the help of experienced developers.

It's the perfect mix of theory and practice.

"I was the kind of programmer who would write some code, then come back to rewrite the whole thing again in a couple of months because I couldn't remember what I did.

I've read plenty of blogs and books about design patterns and architecture, but I could never apply them to my projects successfully.

But after taking the program, I can.

I learned clear steps to take when building an app, and I can now build new features incrementally. I highly recommend it."

- 🇺🇸 Jose Alvarez, iOS Developer

"Caio and Mike impressed me a lot, so I bought the program without hesitation. I learned how to apply programming best practices, techniques, and principles that have withstood the test of time, such as SOLID, TDD, DDD. I learned to examine a programming task from various points of view, provide different solutions, and show the pros and cons of each of them in iOS development. I'm astonished by how meticulous they are to every part of the application.

I 100% can suggest their course to every developer who cares about providing clean, maintainable, robust solutions."

- 🇷🇺 Azamat Valitov, Senior iOS Developer

"iOS Lead Essential is the best course available for mid/senior iOS developers who are looking to push their skills to the next level.

You’ve got everything in one place: BDD, TDD, SOLID Principles, Pair programming, CI/CD with a real-world example project. I couldn't have asked for more."

- 🇬🇧 Ravikanth Marri, iOS Developer

✅ Turn your tests into a powerful tool

Transform your development skills and improve the quality and value of your work with the discipline of Test-Driven Development and the power of Modular Design.

"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.

In the program, I also learned how to really apply architectural best practices and design patterns in a way that makes sense.

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.

Thanks from Brazil 🇧🇷"

- 🇧🇷 Rodrigo Manguinho, CTO & Lead Software Architect

"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."

- 🇬🇧 Andrew Warwick, iOS Developer

⛩ Our mission

Our mission is to empower iOS developers to go to work happy and feel safe to deliver their best work. Every day.

You matter, and your work matters!

"When I found out about the iOS Lead Essentials course, I immediately purchased it, and it was definitely worth it.

I've learned so many things from the program. I'm a big fan of TDD, but I was reluctant to use it in my work projects as it was increasing my development time. However, after taking the course, I was able to follow TDD in my work projects without slowing down development. And at the same time, it increased my confidence and code stability.

I'm very happy to have found Caio and Mike. Thank you for sharing your experience, and I am looking forward to new lectures."

- 🇷🇺 Andrey Chirkov, iOS Developer

📣 Ask us any question

Throughout the lectures, you'll have the ability to communicate with us and other members of the community. In the lecture pages, you can ask us any questions to expand your learning experience.

You'll also have access to inspiring discussions and Q&As to learn from other developers' questions.

There are accompanying articles with instructions walking you through every aspect of what you're faced with.

You'll learn why, how, and what to do.

"The iOS Lead Essentials course by Caio and Mike is unique in the iOS Engineering field. It helped me understand how to design a really modular and clean architecture with practices like BDD, TDD and UML diagrams. During the course, their answers to any questions I had were carefully prepared and documented. Achieving this level of knowledge takes a lot of time of studying and practice, and I am grateful that Caio and Mike decided to share their knowledge and experience with the community and help me become a better professional."

- 🇷🇴 Mihai Cristescu, iOS Developer

🌱 Our approach

We believe we all face different challenges, so you'll learn different points of view and trade-offs for all presented approaches. You'll be given a clear and concise path but also the tools to make your own decisions.

"As a self-taught programmer, I’ve spent years and years consuming and absorbing information from so many disparate sources, having to connect the dots on my own. But there’s a true and distinct difference between information and instruction.

In the iOS Lead Essential program, I learned the why’s to all the how’s. It equipped me with the freedom to move away from seeking silver-bullet solutions and the confidence to build good solutions tailored to my domain."

- 🇺🇸 Hai Phung, Lead iOS Engineer

"I was hugely impressed by Caio’s ability to look at code and see through to the core of the problem. It was a joy to watch him develop using TDD and SOLID principles. The resultant code was always elegant and invariably worked when he stopped writing tests and finally started the simulator."

- 🇬🇧 James Hogg, Senior iOS Developer

Your Instructors

Caio Zullo
I've been writing software since 1998, professionally since 2006, and on Apple platforms since 2009. I love building robust, well-engineered, and beautiful applications and coaching developers to achieve their best potential.

Mike Apostolakis
I'm a software engineer from Athens, Greece. My goal is to help the software industry evolve by enabling developers and companies to practice valuable techniques and build powerful and durable systems.

I want to join!

Here are some places where you can find our students

Frequently Asked Questions

What's the iOS Lead Essentials?

The iOS Lead Essentials is an online program meticulously thought out for iOS developers who want to become complete senior developers and be part of the highest-paid iOS devs in the world.

A senior iOS developer with an expert level of technical and practical skills can confidently deliver iOS apps they're proud of and even turn messy codebases into successful projects.

When you achieve this level, you're a reference in the industry and recognized for your abilities. So you can choose the projects you work on worldwide, lead and help other developers grow, and you get paid exceptionally well.

In the iOS Lead Essentials program, you learn a straightforward, step-by-step methodology to become a complete senior iOS developer by practicing with experienced senior developers who achieved it and can teach you the way.

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.

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 hundreds of iOS developers who care about delivering work that matters.

Will I get more than your videos on YouTube?

Yes.

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 5 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 with 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: 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.

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 test your skills.

We review all your assignments on GitHub and provide you 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.

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

The price to enroll is US$1997.

You can also pay in 3/6/12 monthly installment options and in other currencies (EUR, GBP, BRL, and RON). But in a single payment in USD, it's US$1997.

The price is much lower than what the program is truly worth. For example, just a few hours of mentoring with senior developers today can cost twice the price of our program (where you have access to mentoring sessions, a structured curriculum, live Q&As, personal support, plus the bonuses and everything else).

Also, bootcamps and online degrees teaching the mere basics for beginners cost from US$5000 to US$25000 or more. So imagine how much they'd charge for an advanced program to become a complete senior developer.

The iOS Lead Essentials is a complete advanced program to becoming a complete senior iOS developer. So the price could easily be twice as much or more. But there are two main reasons why it's not:

1. Altruistic reason: 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. Entrepreneurial​ reason: 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.

(And if you're working as an iOS developer, click here to learn how to get this program for free by convincing your boss to invest in the program with you.)

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. But you don't need to be very experienced to benefit from it.

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 yourself, you can finish the program in 3-6 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?

We don't offer private consultancy on your existing projects or codebases as part of the iOS Lead Essentials program.

With what you learn in the program, you'll be able to solve your challenges.

But you can apply for a public one-on-one mentoring session with us 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 in the iOS Lead Essentials course 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 become a complete senior developer, 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.

As mentioned previously, becoming a complete senior developer require effort and commitment.

If you're not serious about becoming a complete senior developer, 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 worked hard to achieve it.

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

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

We are Caio and Mike, lead developers and mentors to hundreds 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 join!