Review Of iOS Lead Essentials Course

Hello everyone!

This article differs slightly from what you may be used to.

Today, I will present my full, non-sponsored review of the iOS Lead Essentials Course from Essential Developer Academy. This is my personal experience, and it may not be the same as that of other developers.

Personal Background

I've been in iOS development for some time. I started working with iOS at a company that enforced good practices on developers, so I was already familiar with Test-Driven Development (TDD) and Clean Architecture. These concepts interested me, but I didn't know how to approach them.

Even before starting Software Development, I was a QA Analyst, and this previous knowledge sedimented my focus on delivering quality in software development.

I've been hearing about the iOS Lead Essential course for some time. I always wanted to know more since the introduction to the program focused a lot on the program's outcomes but not what the course entailed.

It was very motivating when I heard the number of doors that would open if I took this course, but I still had doubts about how this course would help me get there.

Adding the very costly price tag to the course didn't help either. 2000$ without including taxes is a lot to ask for the big dream of being a better software developer.

Even when I read the reviews online, I was still very skeptical, and if you're frugal like me, it will take some years to convince you to leap.

Taking the Leap

After plateauing on my iOS learning, I decided I wanted a broader and more significant challenge than I had up until now. My main goal was to learn sound practices so I could be capable of leading a team of Developers and improving legacy codebases.

Who doesn't like seeing house renovations? I love to transform something that doesn't work or isn't scalable to something that is.

So, after seeing the reviews online, I decided to take the leap.

Doing the Course

After making the purchase, I had to do the hard part: actually working and learning from it.

Course Structure

The main selling point of this course is the amount of learning that you do in the course. The structure is as follows:

  • Build an app and go through all of the different layers (e.g., network, presentation).
  • Do all the implementation using Test-Driven Development (we only write code to make the test pass) and Clean Architecture.
  • In each layer, you have a challenge to apply your knowledge. The instructors then review this challenge.
  • You have one year of access when you make the purchase.

How I Approached the Course

Since I was very excited to do the course, I created a personal plan based on a lot of suggestions that Caio & Mike gave:

  • Watch every video 2x: The first time, I watched and wrote down what I learned, and the second time, I followed along with my project;
  • Do a little every day: I would commit to doing even a minute of the course every day (except on Sundays);
  • Even if I felt I wasn't doing great, I kept pushing. If you read my article on my ADHD, it's very common for people with this disorder to quit something when they aren't getting their "dopamine fix." This course was no different; after the honeymoon stage was done, I felt like I wasn't fast enough and needed to do more. I just kept going;
  • If I were blocked on something, I would post it on Slack if no one had asked the question before. You would think a course with six years under its belt wouldn't field new questions. Well, you would be wrong, especially regarding the components that have updates every year, like the Refresh Controller, which had some breaking changes for iOS17. Essential Developer has a video on it if you want to know more.

This plan might seem simple enough, but I can tell that this journey was grueling. I have taken many courses, but there was a lot of new knowledge to consolidate daily, and it was very easy to be overwhelmed.

I took about 4 months to complete the course following this plan.

My Honest Review

After finishing the course and going through what felt like ten years' worth of experience, I can safely say that I recommend it. This comes from a very frugal person who has a hard time spending money.

Here are the main points that I would improve based on my experience:

  1. I went through some issues when following along with the videos, especially the UI module. Due to the updates from UIKit that I talked about. I just recommend you be careful when you're doing this module since, in some parts, you need to check the updated PRs so you don't get blocked.
  2. The instructor and moderator team could be more gender diverse. Of course, this does not affect the quality of the course, but I would love to see a diverse team of instructors and moderators. Wouldn't you?

Here are the things that I liked most in the course:

  1. Level of knowledge from Caio & Mike: they were great instructors because they explained everything very clearly.
  2. Having a Slack channel allows you to talk to people from different backgrounds who are going through the same problems as you. If you're lucky, you can even meet new people along the way.
  3. Slack Channel has proper guidelines and is monitored by the instructors.
  4. Learning how to do proper Test-Driven Development was pivotal in my career. After learning TDD, I'm not planning on ever looking back, and I want to learn more about the topic.
  5. Each completion of a module would promote your "belt level." This is purely cosmetic, but it gamified the experience for me.
  6. Having a database of all the questions asked throughout the course helps when you're feeling stuck, even if you're looking for help outside the course.
  7. I have access to mentoring sessions on many topics, from senior iOS mock interviews to applying different coding techniques.

This Course is Not For You If ...

  • You want to learn about language-specific topics. This course will improve your knowledge of tackling software development challenges. I've heard some people outside of iOS Development do this course using other languages, like Kotlin.
  • You want to have a better salary but want to take the easiest path possible. Honestly, I don't blame you. Everyone wants to have a better salary and be in higher-ranking positions. However, I think that this course requires a lot of practice and covers very difficult topics. You're better off saving your money.
  • You want the blue belt achievement. As I stated previously, you get these belt levels based on different tasks that you do successfully. When you end the course, you get the blue belt achievement. Some people speed up the videos to watch them quicker or even skip some parts entirely. This mentality completely misses the point of doing the course; if you want the achievement, print something and put it on your wall. Save your money, please!

Conclusion

This course has helped me tremendously. My knowledge of software development has improved a lot, and I want to keep training and learning from the Essential Developer team. Even though this course was costly, I still took a chance and invested in my career, which paid off.

Needless to say, you don't need to take this course to become a good developer. There are tons of free and paid resources online that can help you get there. If you don't/can't take the course right now, you can also learn all of these concepts through books. This course is great, but you don't need to feel like you're missing out.

Finally, will this course make you a better developer? Of course not!

You still have to work hard and apply what you learned in the course repeatedly, but you will see improvements if you do.

Thank you for reading, if you enjoyed this article make sure you check my other tech articles on my blog.

Your appreciation is deeply valued. If you're inclined to support my work further, I would greatly appreciate it if you could follow me on social media platforms like LinkedInTwitter, and Github

Nonetheless, it brings me immense satisfaction to offer free educational content that is accessible to all. Have a great day! ☀️