One of the unique features of the CareerFoundry experience is our mentors and tutors. A team of passionate, inspiring experts in UX design, UI design, web development and iOS development, from all around the world.
In this post you’ll meet one of our awesome tutors: musician, teacher, dad, and iOS developer, Joe Spadafora. We are particularly proud of Joe as he is actually a CareerFoundry alum too! He shares his career-change experience and gives us tips on how to get into the iOS field, as well as explaining what you can expect from a good tutor if you feel that iOS is the path for you. Read on to learn more!
Switching to iOS Development
Originally a music teacher, when Joe found himself drawn to the Apple ecosystem and what he’d heard about the Swift language, he felt he was ready for a change. After attempting to learn iOS development from tutorials and Udemy videos, he realised he needed something a bit more structured, so he decided to study with us at CareerFoundry.
Wasting no time, Joe landed his first freelance project while still completing his coursework, and then secured a job with a startup around the time he was graduating. He has built the Sequr app from the ground up, an app which enables users to open doors and manage access wherever they are in the world. Returning to his creative roots, Joe is now working for Meural as their iOS developer, combining technology and design to bring art to everyone while supporting the careers of the artists with whom the company works.
When he isn’t programming, you can find him spending time with his kids, doing something with music, enjoying nature, or being an amateur photographer.
Life as an iOS Developer
Having worked in iOS in both freelance and startup environments, Joe declares the latter his favourite:
“There is an infectious energy in a startup and you get a lot of input into the final product that you might not get working for a big company.”
He personally loves the challenge of coming up with new ideas that eventually make their way into a product used by hundreds or thousands of people.
An iOS developer’s day can vary dramatically depending on the stage in the release cycle of the app they are working on. One day Joe might be researching solutions to new problems. The next he could end up fixing a bug that’s been bothering his users, or updating his code for new iOS versions. Another day he may be doing serious stress testing on his app to ensure that it can handle whatever his users throw at it.
“The one common thread in any day is that you’ll be doing something creative and solving problems. I think many people, when they think of developers, tend to imagine people who think like robots and just translate instructions into computer code. I’ve found that’s about as far from most programming as can be. I love that I’m faced with different challenges every day. I get to look at problems and find creative, elegant, purposeful solutions. I definitely find coding to be an inherently creative activity.”
Advice for Budding iOS Developers
Joe was a full-time music teacher before his career change, having always loved the idea of giving back and helping others. When switching professions, one is not necessarily fated to lose their favourite aspects of their previous job. Despite his new work being in iOS rather than music, it felt only natural to continue to teach. What’s more, the learning process never ends in iOS, and tutoring helps with this. Joe particularly enjoys when one of his students finds a really clever or interesting solution to a problem:
“The iOS ecosystem is a huge library of different components and knowing all of it is impossible. I definitely learn from my students as well.”
One of the biggest obstacles he faced when studying iOS development was learning how to find what he sought. He had an idea of what he wanted to happen and knew how it looked on the screen, but didn’t know the technical term for it in the documentation. How did he overcome this challenge faced by many a budding developer? Well, luckily, this is something solved simply by sticking with it and asking people who know more than you! His advice to iOS students: never be afraid to ask.
In his life as a tutor, Joe finds that the difficulties that come up vary greatly from student to student. Some struggle with the idea of Objects and Object Oriented Programming fundamentals. Others have a hard time with Optionals. He’s seen students breeze through assignments that he found tricky or confusing, but get stuck on others that he found easy. He thinks the most important thing is to find out what’s giving a student trouble and to be there to answer questions:
“Ultimately, my goal as a Tutor is to give students the tools to help themselves and to find the answers, because when you are working every day as a developer in the real world, those are the skills you will need to be successful.”
Joe has some advice for anyone managing their own time while studying iOS: commit to putting a little time in everyday. He thinks of iOS development as a skill just like drawing, speaking a foreign language or playing a musical instrument. You only improve with practice. What’s more, he believes that it’s more about learning how to solve problems than being able to master a specific set of skills:
“The number of frameworks and libraries just created by Apple is so big that it would be hard to keep up with every single bit of it even in a lifetime. So learning how to understand and find the answers to your problems is the most important skill you can learn.”
When asked if there are any resources he would recommend when learning iOS Development, Joe replies that the Apple ecosystem is very well developed and there’s almost certainly a tutorial for anything you want to do in iOS. He recommends Ray Wenderlich, and joining the iOS developers Slack group, a huge community of over 15,000 developers.
The biggest selling point in a junior looking for their first job? Joe would look for someone who goes beyond presenting just a simple demo of a feature, a candidate who has a fleshed-out idea. One who writes good defensive code to avoid bugs, follows best practices, and avoids common pitfalls.
“One big one is looking for how code is organized. Is everything separated out into small components based on what it does, or is everything directly in one main file. Most beginners will put everything all in one Screen’s logic, but a good developer will split things up so that they only have one responsibility and are testable and discrete.”
The Future of iOS & the Tech Industry
Regarding what has the most potential in iOS and the tech industry right now, Joe is very excited about ARKit and some of the VR solutions that Apple is creating. He thinks it’ll be interesting to see where we are in a few years.
“I think that eventually we will stop having devices that we interact with like a phone, but act more as an overlay on top of the real world and are integrated with the world.”
The industry is moving extremely fast, so we checked how Joe feels about the stability of the tech industry and iOS Development as a profession. He reassured us that the iOS industry is sticking around, and learning the skills to be a developer will continue into the future, even if that means you’re working on Android or migrating to a different language:
“There is no doubt that in tech you need to keep learning, but the good thing is that a lot of the knowledge of good programming transcends specific languages or technologies.”
What You Should Do Now
- If you’d like a step-by-step intro to find out if web development is right for you - sign up here for our free 7-day web development short course.
- If you are interested in becoming a Web Developer check out our web development course (you'll learn the essential skills employers need).
- If you’d like to speak to an expert Career Advisor for free about how you can really get a new job in tech - connect with us here.
If you enjoyed this article then so will your friends, why not share it...