Andrew Nater

Why I'm Learning Swift

I've been learning Swift and iOS Development to help build Wellness. We have big plans and in order to move faster we need another developer. I'm comfortable enough with my web development skills that I felt up to the challenge. It's been a tough journey but I'm finally contributing to the app and that's a huge accomplishment for me.

Swift is much more strict than JavaScript, my primary language. There's more rules, more data types, and more ways to screw up. On the bright side, Apple has invested a lot into the Swift ecosystem. Xcode has built-in documentation and robust debugging tools.

I picked up most of my knowledge so far from the free Hacking With Swift course by Paul Hudson. Paul walks you through fun iOS projects step by step, progressively introducing more advanced concepts. There's a lot of quick wins. If you're trying to learn Swift, check it out.

I have a lot to learn but I'm starting to get the hang of things. I had to practice consistently before I was noticing progress. I like Paul's course because most projects can be finished in about an hour. This made them the perfect size for regular practice. I was able to complete 3-5 per week.

My next challenge is applying what I've learned to solve problems in a real codebase. Wellness is written in Objective-C, so a lot of effort is being spent learning the syntax and how to get the languages to interoperate. Luckily, Apple's documentation is in both languages and there are excellent conversion tools that really help to connect the dots.

I'm also incredibly grateful for Ruben's guidance and patience as I fumble through contributions to Wellness. He's a great founder, mentor, and friend. I've learned so much from him alone. If you're struggling with anything iOS related, he's your guy!

I'm so proud that I took on this challenge. It started as a business need but has become a fantastic hobby. I really enjoy iOS development. I'm not sure if I'll switch careers but I like having experience with the platform. I think knowledge across platforms and ecosystems can lead to surprising, creative solutions to difficult problems. It's improved (or at least influenced) how I write web apps and design APIs in Javascript. If you're on the fence about learning Swift, or a new language, or any new skill, you absolutely should. You'll be better because of it.