Best Resources and Practices for Aspiring iOS Developers

Introduction

The vast amount of content and resources within the iOS Development community, has made this specialty the easiest and the most welcoming for beginners who want to pursue a career in Computer Science or just as a hobby. The only question is how and where do you start? As a self-taught developer, my experience can help answer this question with the resources I’m using and some of the best practices I follow that has helped me mature in Software Development.


Learning Resources

AppCoda

AppCoda is a medium for iOS Developers to share tutorials and step by step instructions on anything related to iOS Development. Articles can range from simple tips such as how to customize your navigation bars to machine learning topics related to iOS. Some topics I’ve learned from this site include how to get started with CoreML, generating your own CoreML models, and a taste on how to use ARKit.

When you browse through their library, take note of the published date (as you always should when reading an article) because some articles may be outdated due to updates in Swift and iOS. Aside from that, their library can serve a wide range of audiences from different levels of experiences; which has made me recommend this site to a number of people.

View site here

HackingWithSwift

HackingWithSwift is authored by Paul Hudson; a well respected figure within the iOS Developer community. His content ranges from snippets of Swift examples, step by step tutorials, to books for beginners to advanced.

My favorite part of this website is the Swift examples section, where I use it as a substitute for Apples Official Documentations, for its simplicity and beginner friendly explanations and examples. With that being said, I would recommend this to anyone especially if you are early in your iOS Development careers.

View site here

LetsBuildThatApp

LetsBuildThatApp is a YouTube channel owned by Brian Vong. Here you will get in-depth tutorials from creating specific features, fundamental programming topics, to building a whole app from the ground up. A lot of my development habits are largely influenced by Brian’s style of coding. This was also where I first learned about Firebase database and developing user interfaces programmatically.

While he provides a plethora of valuable content, his videos are a bit too lengthy for my attention span and does require a lot of patients. He also teaches everything in code without using the storyboard; which I could image would intimidate many beginners. However, if you take the time to go through at least one of his tutorial series on building a whole app, you should be able to quickly follow his other videos much quicker.

With that being said, I would strongly recommend this channel for developers who have at least some basic understanding of the Swift programming language and basic UIKit fundamentals.

View channel here

Sean Allen

Sean Allen on YouTube takes you along his journey as an iOS Engineer, with a a unique variety of content that serves most if not all levels of experiences to his audience. From the time of this article, Sean is pushing out beginner content that I highly recommend every beginner should look at. His older videos consist of iOS interview challenges, basic iOS concepts, as well as career advices. He also hosts Swift News, a weekly show where he curates topics related to iOS Development, to keep the community informed with industry changes, discoveries, and unique ideas. If you are a seasoned developer, you would understand the value this would bring you.

His teaching style is also very unique compared to others that I’ve mentioned in this list. He is fast and straight to the point while effectively explaining all important details of the subject. With that being said, if you share the same learning style as me (short attention spans, likes things to be quick and fast), this is the right channel for you. If you are a seasoned developer, Swift News is a gem!

View channel here

Brian Advent

Brian Advent’s YouTube channel is by far my favorite learning channel for iOS. He touches on topics that other channels usually don’t teach such as creating a handwriting recognition app, building a 3D game with SceneKit, how to use RxSwift, testing beta technologies like ARKit 2, and many more.

He also pushes out design development tutorials which is a separate skill in and of itself. I see a lot of aspiring developers that would switch their focus from app development to app design; under the impression that it would be easier than app development. It’s one thing to think of a unique and elegant design pattern which challenges your creativity, but it’s another to actually implement it in code which challenges your technical ability.

I haven’t seen any other channel or medium that touches on a wide array of iOS Development topics as well as app design tutorials. His style of code is reasonably basic that is easy to understand and follow as well as his in-depth explanations. With that being said, I highly recommend this channel to almost everyone.

View channel here

Best Practices

The resources provided above is just the first step to start your journey as an iOS Developer. Now, I want to share some of the best practices you should follow in order to be successful in your journey.

Connecting the Dots

Your journey as an iOS Developer will consist of head-scratching errors and mysterious bugs. Luckily for us, the internet is our best tool to get over through these hurtles. In many cases, a single problem may require more than just a single Google search. When you are stuck, break up the problem into smaller bits and gain a basic theoretical understanding of what you are doing and what each component of your code does. This way, you can make smaller searches on smaller components of your problem that are likely to be available on the internet.

NEVER Delete old Projects

This might sound weird to most people, but I always refer to old projects for snippets of code that could help me with a current project. You may have already solved a problem, why spend time on a problem you’ve already solved? Any kind of project that you do is worth keeping for future reference because it a document of a solution you’ve made at a point in time.

It might also be a good idea to store them in a GitHub account; where you can start to build your portfolio. As you continue to commit and create new repos, it can provide a sense of accomplishment with a boost of encouragement when hard times come. This is also one of the best ways you can contribute back to the community.

Contribute

To contribute means but not limited to share what you’ve learned by answering questions on StackOverflow, writing tutorials of your own, or even sharing your own code. Not only will your contributions help other developers, but its the best way to motivate yourself to learn and to be curious. It also forces you to write good clear code that would challenge how well you understand the topic you are sharing. This is exactly what I am trying to do for 2019!


Conclusion

Developing and publishing your first iOS application is probably the most rewarding feeling you could do with very little physical resources. All you need is a laptop and a good internet connection to get started. The plethora of resources out there along with the best practices I’ve listed above, should be enough to get you the momentum you need to get started and to succeed. All it takes is for you to take the first step and commit the time and resources to begin.