How I became an iOS Developer - Part 2 - Resources and Code

This one is a little more dense in words, no gifs/pictures this time!

Part II: Code Boogaloo

Assuming you have read my previous part HERE, I will continue on with the next facet of how I became a developer, learning to code and the resources I used.

There are so many angles to this part that it’s hard to boil down to a single mantra, but I think the best thing to say is that everyone learns differently. The most important piece I found is to make coding a habit, take time every day for however long you have to work on your coding and learning. 

Set aside a scheduled time: every day, twice a week, or once a week and just learn. Don’t take too much time in-between sessions as you can lose what you have learned, but don’t be afraid to start over or to reset from time to time. Coding is a constant flow of learning, there is never really an “end” to coding or a full knowledge of the subject material. Even the best coders in the world still search for answers on Google from time to time. The most important take away is to code often and make it a habit.

Resources and sundries

Resources in my mind are subjective as well. Everyone works a little different when learning a new skill, so find what works best for you. I find that grabbing a little bit from each source is helpful but for others you might like more structured information. Below are the tools, sites and people I found to be the most informative. This is by no means a comprehensive list, but as exhaustive as I can make it. I will update the post if I come across any others I forget.

Courses:

Apple’s own books are free on iOS and great, also download the Teacher Guides since you aren’t being graded they help massively with :

Develop with Swift Explorations (for very first timers, more visual): https://books.apple.com/us/book/develop-in-swift-explorations/id1511184149

Develop with Swift Fundamentals (for more advanced users or people who like more technical courses): https://books.apple.com/us/book/develop-in-swift-fundamentals/id1511184145.

Paul Hudson’s 100 Days of Swift, great for people just starting out but also great for people who already know a little bit of code: https://www.hackingwithswift.com/100

Paul also has a course on SwiftUI: https://www.hackingwithswift.com/100/swiftui

*Note: www.hackingwithswift.com is an AMAZING resource in and of itself, absolutely free and lots of resources!

raywenderlich.com has been around for ages and is a great place for singular subjects in Swift: https://www.raywenderlich.com/ios

Meng To’s courses are highly regarded for design and cover more beyond Swift/SwiftUI (paid courses and a few free tidbits): https://designcode.io/courses

Sean Allen is new to the course scene but has rave reviews on his iOS Dev Launchpad which covers more than just code, I haven’t taken his Job Interview Practice but it’s also a great resource from what I’ve heard: https://seanallen.teachable.com 

Angela Yu’s course on Udemy is highly regarded: https://www.udemy.com/course/ios-13-app-development-bootcamp/

Youtube channels/media:

The Accidental Tech Podcast is more casual but talks about a lot of developer insight into the experiences working as a developer ATP: https://atp.fm

Under the Radar - 30 minute podcast with Marco Arment (Overcast) and David Smith (Widgetsmith/Watchsmith): https://www.relay.fm/radar

Sean Allen talks about code and iOS Development life: https://www.youtube.com/channel/UCbTw29mcP12YlTt1EpUaVJw

Paul Hudson of Hacking with Swift and his great video components to his site of the same name: https://www.youtube.com/channel/UCmJi5RdDLgzvkl3Ly0DRMlQ

Kilo Loco, Tech evangelist and Dev advocate. Covers a lot of code and tutorials: https://www.youtube.com/channel/UCv75sKQFFIenWHrprnrR9aA

Where to start?

Hopefully these resources will be a good start to some, I wouldn’t go out and buy anything unless you need it, but all of the paid resources I can say are worth it to some degree. I started with Apple’s own books, then used Hacking with Swift to supplement. Primarily I built an app while I learned, but more on that later. 

With this said, there is something else to consider, Objective-C, Swift or SwiftUI to start?

To break it down a bit, Objective-C was the precursor to Swift. SwiftUI was born from Swift. Objective-C is much older and very documented, but is not often used anymore. As a language most jobs you will find if you start with Obj-C will be people moving away from it as a codebase or trying to maintain older software. It’s becoming more and more specialized. Still worthwhile to learn, but in my opinion it’s going out the door.

Swift is top dog right now, it’s well documented and well supported. Most new frameworks are built for it and most “modern” codebases use it. It’s a relatively young language having only been released in 2015, but it’s the most mature and useful language to learn. This is where I would start if I was seeking a job.

SwiftUI is a new paradigm of language derived from Swift. Only introduced 2 years ago, it’s very young and not well documented compared to Objective-C/Swift. A lot of developers would say it’s still rough around the edges, but it’s massive benefit is that you can have one codebase for all of Apple’s products.  All of the principles you would learn from Swift will carry over and be supported. No doubt it will be the future of Apple development, but for now I would stick with Swift, moving into SwiftUI when you feel comfortable. Not many jobs are looking for people proficient with SwiftUI at the creation of this post.

The nice thing about any language is that the same principles apply across the board. If you want to learn Windows development, Android development, web or anything else do so research on what is the most common language in that space and who is the best to learn from. 

Previous
Previous

Swift Playgrounds 4.0 Update review

Next
Next

How I became an iOS Developer - Part 1 - Empathy and Soft Skills