Ken Woo & Adam Dahan are instructors for our Toronto iOS programs, and have years of mobile development under their belts. We took a dive into their brains to learn the ins and outs of being an iOS dev, and what it's like to learn app development at Lighthouse Labs!
What does a career as an iOS Developer look like?
Adam: Being an iOS developer is rewarding and challenging and a career in the field involves tight collaboration, strategy, out of the box thinking & lots of experimentation. Creating products that sit in your palm is very different than creating products for the desktop. It takes a new approach, a new perspective and a deep understanding of mobile technology and the hardware available on iPhone. Making an app is one thing but leveraging Voice-Control to make your app accessible to blind people is another thing.
Ken: A career in iOS development is full of fun and excitement! You never stop learning because every year, Apple releases brand new APIs that will open up new opportunities for developers to explore.
You can also shape your iOS career in very purposeful ways as there are a variety of verticals you can pursue. For example, if you are interested in design, you can focus on building beautiful looking interfaces, or if you're a data guru, you can focus on a technology like Core Data that helps you manage data.
What types of jobs are available for iOS Developers?
Adam: There are many different types of iOS Developers! Some different career paths you can take are:
- Game development (both 2D and 3D)
- Front-end developer
- Back-end developer
- Full Stack (both front / back)
- Framework developers
- Freelance contractor
Ken: There are generally two paths when finding a full time job. The first is working for a consulting firm or agency where you'll be helping them make apps for different clients. The second is joining a company directly to help them build iOS apps for their brand or product.
What about working as a freelance iOS contractor? Is it possible to make a living building your own apps?
Adam: 100%. I made over 100K in my first year as a freelance contractor and built apps for: Disney, NFL, NBA, CAA, Airwick, The Chase Group and Nickelodeon to name a few.
Ken: If you wanted more flexibility in your schedule and had a bit more experience, you can find contracts on your own and become a freelance contractor. There's a variety of different contracts out there, whether it's adding features to an existing app, building out an MVP or even jobs where you teach their in-house team of developers how to make apps.
What is it like to be an iOS Developer in Toronto?
Adam: There is a really high demand for iOS Developers in Toronto, it's almost unprecedented. Everyone is trying to make an app and it's no longer a luxury to have one, it's an expectation. People look to their favorite brands to have apps and mobile phones are driving the majority of today's web traffic. Toronto is a thriving city and is a growing hub for developers in Canada.
Everyone is trying to make an app and it's no longer a luxury to have one - it's an expectation.
Ken: Toronto has a pretty big tech community, but like in many other cities, the iOS community itself is actually pretty small. If you make an effort and attend a lot of iOS specific meetups, you'll begin to see many of the same faces.
Why are Lighthouse Labs Toronto iOS students finding employment so easily?
Ken: Mobile is a big industry and everyone wants to have an app nowadays, so the demand is there. The fact that students get a chance to build their own apps during the bootcamp is great boost to their portfolio. Due to the nature of both Objective-C and Swift being seen as Apple only languages, it's often not a language people start off learning so developers with practical experience in iOS are harder to find.
Adam: One of the most contributing factors to the success of Lighthouse Labs iOS graduates is the education they receive. We teach students how to develop apps in both Objective-C and Swift. Our students are well versed with Apple frameworks, the iOS operating system, iPhone hardware and the basics of computer science. Our students dive deeper than the surface and really know how to leverage the software and hardware of iPhone to make magical experiences.
How does mentorship play a role when learning to code?
Ken: It's a huge part in learning because it helps you eliminate bad habits early on. A mentor really helps you focus on what you should be learning next so that you don't end up wasting hours learning about something that people don't use anymore. They can also not only help you with solving your programming problems, but often times, they can also help you with non-code related things that may end up saving you tons of time, so mentors are a very valuable resource when learning to code.
Adam: When you mentor you see more code and you answer more questions. Reinforcing your education is one of the best ways to make sure your understanding of a given topic is bullet proof.
What is different about being an iOS Developer vs. a Web Developer?
Adam: Some of the differences include:
Thinking about what really matters (because iPhones sit in your palm, every inch of screen real estate is vital). When designing for the web you have a lot more freedom. iPhone apps have to be to the point and have to have a unique experience.
iPhone has really interesting technology like the Accelerometer, Gyroscope, Haptic engine for contextual feedback, Voice-over and dynamic text sizing. These technologies are native to the device so you must incorporate them to some degree. On the web you have a bit more freedom to opt-in to these technologies and the hardware generally does not support Accelerometer and Gyroscope because most web developers build for the home computer.
In iOS, the primary way users will interact with your app is through touch so there's a lot of opportunity to create fun & interactive interfaces.
Ken: With iOS, you are a lot more focused in terms of what you're doing. I think with Web, there's so many decisions to make before you even start a project that it can be overwhelming.
In iOS, the primary way users will interact with your app is through touch so there's a lot of opportunity to create fun and interactive interfaces. With the limited screen size, you also really have to consider how the user experience will be like.
Besides the languages and frameworks, how is the experience different between the Lighthouse Labs Web Bootcamp and iOS Bootcamp?
Ken: With the iOS Bootcamp, you're only focused on building the app, so you don't have to jump between thinking about the front-end and back-end. This also gives us the chance to teach more advanced topics later in the course when we feel students have a good grasp of iOS itself.
The other benefit is that Apple does a lot of stuff for you as an iOS developer, so at the bootcamp we make sure to take the latest and greatest and teach students how to make use of all the wonderful features found on iOS devices.
Adam: The iOS Bootcamp is a little more personal than the Web Bootcamp, because developing for iPhone is developing for a niche market, and generally less people are attracted to building those kinds of products. So less students, means more attention from our staff.
What are some good resources for people interested in learning more about iOS development?
Adam: Checkout the iOS prep course. It's free and has tons of links to amazing resources in the last chapter!
Ken: One of the top tutorial sites for iOS is raywenderlich.com, so I would start there. Apple also has some pretty good programming guides when you're trying to learn specific frameworks.