How To Be A Great iOS Developer
by Chris Ching
If you want to become an iOS developer and you’re wondering where to start, you’ve come to the right place.
By the end of this guide, you’ll know:
- Why it’s worth it to be an iOS developer in 2019
- The key skills every professional iOS developer needs (and how to learn them)
- What to look for in iOS developer jobs
- How to prepare your resume and ace your iOS interview
Let’s get started:
How to become an iOS Developer:
- Demand for iOS developers in 2019
- 11 must-have iOS developer skills
- How to choose the best company to work at
- Where you can look for iOS developer jobs
- How to train yourself and prepare a resume
- How to prepare for your iOS developer interview
- Bonus #1: iOS interview questions and answers
- Bonus #2: iOS Developer Resume Examples
- Bonus #3: Get Apple certified
Demand for iOS developers in 2019
Let’s talk about demand for iOS app developers in 2019. The best way to gauge this is by looking at the average iOS developer salary because how much companies are willing to pay is a huge indication of demand versus supply.
Here are some online resources that can give you a rough idea of how much an average iOS developer earns at every stage of their professional career:
- Payscale – the average iOS developer annual salary according to this site is $83, 671. If your experience is less than a year, then the salary is pegged at around $68,000. They obtained their data from employees of Apple, IBM, and Sapient Corporation.
- DevSkiller – this site has compiled the average salaries of iOS developers from other websites. You can clearly see from their page the range of salaries that are tailored for each professional level of an iOS developer career, ranging from entry to senior-level.
- Glassdoor – this site that’s known for publishing company reviews has revealed the annual average base pay of an iOS developer to be at $107,000 per year. Certainly not bad! Those iOS developers who are only starting out usually receive $84,000 on average whereas those who are already at the senior level typically receive approximately $140,000 annually.
Salary aside, let’s take a look at some other facts:
The Swift programming language has been a huge success! Over 2,000,000 iOS developer jobs have already been created since the App Store was launched by Apple in 2008!
If you think apps are going away, think again. According to this article by Appinventiv, the number of app downloads is expected to reach 353 billion in 2021.
Lastly, Apple releases new products and platforms each year so the interest in iOS consistently remains high.
If you’re convinced, let’s take a look at what skills you need to get an iOS job!
11 must-have iOS developer skills
I have to say that developing your skills is something that never ends as an iOS developer.
Apple comes out with new frameworks and versions of Xcode and Swift every year.
New third party libraries and services to support iOS development are also popping up at a rapid pace.
The tools will keep changing but if your core skills are strong, you’ll be able to learn to use any new tools, frameworks and libraries that rise to popularity.
In my opinion, the following skills should be in the toolbox of any iOS developer:
Love it or hate it, Xcode is the most widely used integrated development environment (IDE) for iOS app development. At a basic level, Xcode is pretty easy to pick up and use after spending a day with an Xcode tutorial. However, Xcode also has many deeper features that a power user can wield.
Learning how to use the advanced debugging features, instruments to measure your app performance and all of the Xcode keyboard shortcuts can take years to master.
I would place my bets on learning Swift programming.
Some companies are still looking for Objective-C developers but those positions are typically to support some legacy app written in Objective-C that has been handed down through multiple of developers (ew!).
Since Apple has been moving forward with Swift, it’s a safe bet to start learning Swift instead of Objective-C as an iOS developer.
3. Building User Interfaces
You can’t really call yourself an app developer unless you’re able to build… an app, right? That means you have to know how to put together a half-decent user interface (UI) if you’re going to call yourself an iOS developer!
The trouble is that there are multiple ways to build the UI of an app. For example, you could use interface builder and storyboards which Apple’s own tutorials use. Or you could build your UI programmatically. Finally, you can adopt SwiftUI, Apple’s latest framework for declarative UI.
Between using storyboards or building your UI programmatically, it’s best to have the skills to do it both ways. In my experience, programmatic UI is the way to go but there are some companies that use 100% storyboards and other companies that use a hybrid between the two. If you want to increase your chances of finding an iOS developer job, make sure you can do both!
SwiftUI is in its infancy and many companies aren’t very quick to adopt unproven technology. However, learning SwiftUI now is an investment for your future because this is the way Apple is going and it’d be wise to follow.
4. Integrating design assets
Typically in a professional software development environment, you’ll be working with a designer who will give you the graphic assets to integrate into the app.
A good iOS developer will be able to identify which design elements would actually require the use of a graphic asset as opposed styling it programmatically with Swift code.
If the resulting look is the same whether you use a graphic asset or style it with code, the latter is the preferred option because it’s faster than loading an image on the screen.
A professional iOS developer should also be able to style standard UIKit elements or create custom controls if needed. I recommend using Design+Code courses to learn how to do this if you’re not familiar with it!
5. Networking and Working with APIs
You should know your Apple networking classes like URLSession as well as common networking libraries such as Alamofire. You should be able to parse the JSON that you download using Codable or JSONSerialization.
6. Grand Central Dispatch
Many iOS developers know the difference between the main thread versus a background thread without actually knowing anything about Grand Central Dispatch (GCD).
However, understanding GCD and how iOS concurrency works under the hood will really demonstrate your expertise as an iOS dev.
7. Working with Databases
There are so many different database options out there that it’s hard to know how to use them all but knowing some of them will be helpful.
Look to brush up your skills on the most common database options for iOS apps.
Some popular ones to think about are MongoDB, Firebase and Realm.
8. Working with third party libraries
Some iOS development teams will swear to not rely on third party libraries but I think the majority of teams do use them.
The fact is that using third party libraries can speed up the development cycle tremendously. Go for the time-tested ones that have been consistently updated and maintained.
This means that you should also know how to integrate SDKs (software development kits) and libraries into your Xcode project using Cocoapods or the Swift Package Manager.
9. Unit Testing
If it’s your first iOS developer job and you’ve never worked on a development team before, you’ll realize very quickly how important unit testing becomes.
With multiple developers submitting code into the project on top of each other, you’re bound to break some functionality. If you discover the broken functionality late then it’s going to be a nightmare to unravel.
That’s why creating a test suite to validate the functionality of the app is going to be a life saver. As a professional developer in any programming language, make sure you at least know how to write a test case!
10. Source Control and other team tools
Team collaboration tools are a must have skill that employers will look for since you’ll most likely be working in a team environment.
Make sure you know your git commands and it wouldn’t hurt to have GitHub and BitBucket as skills on your iOS resume. Here’s our own GitHub tutorial to get you started!
Some iOS development teams will also make use of lint tools such as Swift Lint to make sure the entire dev team has a consistent code style. If you’ve never used it before, i recommend spending an afternoon trying it out so that you can put it on your resume.
Continuous integration with Jenkins, Bitrise or CircleCI is common but you can learn it on the job so don’t worry too much if you haven’t used these before. Just read up on what they are so that you can speak intelligently about it if asked.
11. Design Patterns
Design patterns are simply software development best practices and they are programming language agnostic.
That means it’s going to useful no matter what language you’re using!
Brush up on your iOS design patterns so that you can write the code with best practices in mind.
How to choose the best company to work at
Ideally, you’ll want a job that pays well, has a great culture of mentorship and growth and places value on doing things the right way. This will ensure that you can grow as an iOS developer working there.
Here are some negative work environments that you’ll want to avoid:
- Unrealistic project deadlines – Watch out for timelines that don’t make sense. If a company tends to set tight deadlines, it’s going to burn out the team and ultimately create a toxic culture of “results at any cost”.
- No leadership or mentors – You want to grow as an iOS developer right? Well it’s hard if you’re the only one! Look for companies with seasoned developers so you can learn from each other.
- Leaders who don’t care to do things right – This usually goes hand in hand with tight deadlines. Cutting corners is sometimes necessary but if it’s a routine thing… then you need to re-evaluate what sort of habits you’re forming by working there.
- Toxic and negative team culture – When leadership is bad to its employees, the culture starts to turn very toxic. People don’t try their best because they don’t feel valued or motivated. You definitely don’t want to join a team like that.
- Competition instead of mutual support – People are bound to make mistakes.. we’re all human. However, is the team supportive in that growth process or are they degrading about it?
So how do you avoid these red flags and find a great company to work at?
Glassdoor has once again released this year’s best tech companies to work for. Why are these companies on the list?
Well, here’s a general summary of what makes these companies just awesome to work at, factors that you should consider as you go through your iOS developer job hunt:
Do a quick research on what this tech company specializes in. Is it into gaming? Or perhaps into e-commerce? Knowing well the company’s business niche will not only help you during your iOS developer job interviews but will also assist you in deciding whether this company’s expertise matches your interests and the current skill set that you have.
Most employees stay with a company when they feel like they can progress in their career. I’m sure you don’t want an iOS developer job that will make your knowledge and skills stagnate, so don’t hesitate to ask if a company can tell you what opportunities there are for career advancement and how promotions are decided at year end.
If you want to grow as an app developer, look for teams where there are many senior iOS developers. Furthermore ask the interviewer if the company would help you pay for training or conferences.
It’s best if the company has an established mentorship program where you get partnered with a seasoned mentor who will guide and challenge you to become a better developer.
A study came out last year that employee burnout in tech companies is an alarming concern. Don’t forget that when your body and mind fail because of the toxic workplace culture, then your performance is affected. So don’t compromise your overall well-being just because of a fat paycheck. How will you be able to enjoy the fruits of your hard work if you’re slowly dying inside? Ask past and current employees if you can for company feedback and do your research before you submit that resume.
Employee retention rate
Employees come and go, but if they reach alarming numbers, then you should also be concerned. Numbers don’t lie! Check out the employee reviews being left on companies on websites like Glassdoor to gain insight on how they lose or retain their talents.
You have to take it with a grain of salt if it’s only one or two reviews but if it’s an overwhelming number of bad ratings, then it’s a red flag. The problem is that mostly dissatisfied employees will post reviews. Happy employees almost never do!
Tech CEO and business advisor Mario Peshev published an article that points out the importance of strategic, empathetic, and visionary leadership in any tech organization. Your career is partly dependent on how the leaders steer the ship towards greater horizons. Effective leaders bread effective leaders!
Level of collaboration
Creating the best apps and staying on track in the app development industry require a huge deal of teamwork and collaboration. Always consider the presence of teams, their respective sizes, and their work dynamics when applying to various tech companies. Don’t hesitate to ask recruiters for these pieces of information to gain insight.
Where you can look for iOS developer jobs
Indeed and other Job sites
Make use of the power of job search engines like Indeed to land your dream iOS developer job!
One of Indeed’s great features is the customization of job search results according to your need, skill, and level of experience. Just upload or create your resume on the site, browse positions according to your location, and then filter the results according your requirements.
Job searching on sites like Indeed is just so conveniently done with just a few clicks!
If you’re only starting out as an iOS developer, then it’s best to try freelancing for a while so you can hone your skills, build your portfolio, and receive client testimonials that will only boost your chances. Go to freelancing websites like Upwork and try to get your first batch of clients there! If you consistently deliver satisfactory outputs, then these clients can even refer you to others, thereby giving you a chance to increase your rates and your pool of clients.
Social media groups
The latest result of the Job Seeker Nation Survey revealed that 41% of younger workers are more likely to search for jobs on social media. That said, there are a ton of Facebook groups out there that you can join that have regular job iOS developer job vacancy postings. Just do a quick search! You can also use these platforms to widen your network by connecting with current developers and fellow job hunters. Not only will you be informed about the latest job opportunities, you’ll also benefit from the tips and resources that are being shared in these groups.
College/university job boards
If you’re still in university or you live near one, then you need not go far! Most universities and colleges have a job board where you can browse for iOS jobs.
In my case, the university even had an internship program so I was able to spend some of my school terms working and gaining valuable workplace experience instead. Check with your school career office!
The great thing about job fairs is that you’ll actually get to talk to the representatives of various tech companies to discuss iOS developer job prospects. You can exchange business cards, deposit your resume, or even get interviewed on the spot! So always be on the lookout for these career fairs because attending them will give you a chance to leave lasting positive impressions on recruiters.
Remember that these recruiters and representatives will ALWAYS say positive things about their company. I would suggest also checking out employee reviews on that company to get a more well-rounded picture.
Career placement centers
It’s understandable to not know where to start when you’re only at the initial stages of your iOS developer job journey. Demand for app development jobs might be high, but the downside is that the competition for these jobs can be very stiff. If you need help in customizing your resumes or getting sound advice from recruitment professionals, then check if there’s an accessible career placement center in your area.
Check your social network if there are already industry insiders who can help you get your foot in the door of app development companies. Don’t hesitate to reach out because sometimes, your dream iOS developer job is only a chat or private message away!
Official company websites
This is pretty straightforward. You’ve got a list of your target companies that you wanna work for? Then go ahead and visit the careers page of their websites. You’ll then get a clear list of requirements that they need for a specific vacancy that either you already have or you can still work on until you reach their minimum standard.
How to train yourself and prepare a resume
Code, code, code!
Employers look for a solid trajectory of your skills progression before they can entrust that iOS developer job to you. And in this regard, trust me, persistence pays off! It doesn’t matter if you’ve only got a few months of experience under your belt or a year. At the end of the day, it’s the one who consistently practices that wins. The right attitude will get you far! So don’t be discouraged, just keep on connecting with people, and always document your progress and projects on Github for proof!
Build a solid work portfolio
Here’s a data-driven article that underscores the fact that employers value experience over education. In short, employers always look for evidence that you can do the iOS developer job, period. That’s why it’s understandably challenging for new graduates or those who have no to minimal coding experience to get hired! So again we go back to freelancing to address this issue. Start doing mini projects for small clients until your core skills become stronger and your client pool becomes bigger. Now that’s solid progression right there! And oh, don’t forget to put your body of work on Github so you can let that coding excellence shine forth.
Practice your interviewing skills
Recruiters will never know what you can offer for the iOS developer job you’re gunning for unless you can effectively communicate them. Interviewing is not just about answering rapid-fire questions to get a job; instead, it’s a way of connecting, of showing your value to your future employers. If interviewing is your worst fear, then don’t worry! Later in this article, we’ll share some of the best online resources that can help you prepare for that important technical interview.
Attend conferences or seminars
Don’t frown upon those conference or seminar invitations. If you’re free and able, just go! Not only will you be able to get updated on the latest trends and skills in the iOS developer job industry, there’s also a chance that you’ll run into present and future mentors and industry experts that might just help you connect with the right people or company. That’s a better way to spend your time than just staying in your room all day, right?
Widen your career options
Employers value those who are flexible and versatile when it comes to their career options. You may have initially failed in getting that iOS developer job, but perhaps you can consider working in another capacity first just to get your feet wet? Maybe you do Quality Assurance temporarily in that tech company? Then once you’ve proven what you can offer to the table, then it’s always easier to move internally from one position to another.
How to prepare for your iOS developer interview
Preparing for an interview can be nerve-wracking but after doing a few of them, you get more comfortable because you’ll know what to expect.
In addition to just having technical skills, there’s also some general interview etiquette and best practices you should brush up on. This article talks about a lot of those more subtle interview tips.
Prepare an elevator pitch
An elevator pitch is a quick 20- to 30-second introduction of who you are as a professional. Your pitch should be succinct yet clear enough to leave a lasting positive impression.
You only have a few seconds to make a great first impression and if you come out of the gate stuttering and stumbling, it’s going to set the interview off on the wrong foot!
Know the company
Research and read up about the company you’re interviewing with so that you can show the interviewer that you’ve done your homework.
Anybody can do this but the fact that you DID do it shows that you like to come prepared and that reflects well on your character and work ethic.
Even better is if you can demonstrate a strong reason and passion for why you want to work there. If there’s a personal reason, such as how the company has made a difference in your life, make sure you share it!
Showcase a relevant project
It’s time to humble brag that project you worked on that you are most proud of! Don’t just state the positives; instead, be more authentic and relatable by also highlighting the initial setbacks that you faced, how you overcame them, and what happened as a result. That way, the recruiter will gain an insight on how you think, learn, and behave when under pressure, and also how you lead and work well with others.
Do mock interviews
Go find that buddy or mentor of yours and practice getting interviewed! These people know you best in terms of your strengths and weaknesses, so challenge them to ask you the most common and even difficult questions that they think can trip you up. Doing this will provide you with a very valuable opportunity to receive feedback, deliver better answers, and address annoying mannerisms.
Here are also services out there where you can get mock iOS interviews done to practice before the real deal.
iOS Interview Questions and Answers
Check out these online resources that can help you nail that iOS technical interview:
- Toptal – freelance-hiring site Toptal has come up with a list of 14 Essential iOS Interview Questions (with answers) that will challenge your problem-solving skills (i.e., finding and fixing a bug) and knowledge of the fundamentals (i.e.,ways to specify UIView element layouts). Everyone is also encouraged to submit a question!
- Upwork – another giant hub for freelancers, Upwork, also published their list of vital 10 iOS interview questions and answers that will get you pumped up for that iOS developer job interview. What’s great about this list is that the answers also contain tips on how to process each question.
- Workable – the questions on their list were designed to help interviewers identify the best talents. On top of the technical questions, they also listed the most common behavioral questions that recruiters commonly ask to applicants. Technical knowledge, although important, is not enough. You also need to possess the right attitude and mindset in order to have a long and successful career as an iOS developer.
- CodeMentor – Matt Goldspink, a seasoned technical trainer, has blessed the internet with his own list of technical and standard interview questions that will get you prepared for your iOS developer job interviews all the more. His list also has those mind-boggling questions that recruiters sometimes use to test the candidates’ ability to think and process information on their feet, such as “How many windows are in San Francisco?”
- Dice – the list of Dice focuses on questions that are trickier to answer so that you won’t get caught off guard during the actual technical interview. Their list is also rich with tips on how to best address each question so you can come up with more coherent answers for each one.
iOS Developer Resume Examples
Lost on how to craft that winning iOS developer resume? We got your back! Check out these online resources that have tons of iOS developer resume examples to help you come up with that attention-grabbing application:
- Ray Wenderlich – RW is one of the well-known pros in terms of providing programming tutorials. The article shows different styles and formats of iOS developer resumes from “The Classic” to “Short and Sweet”! There’s also a sample cover letter and CV for additional guidance. He wraps up everything by giving his final thoughts and advice on your iOS developer job-hunting journey.
- Indeed – Indeed is one of the job search portal giants and they’ve got an outstanding set of iOS developer resume examples! Click the link so you can see their slideshow of simple yet highly effective iOS developer resumes that will help you attract the eye of iOS developer recruiters.
- Zety – Maciej Dusynzski of Zety has clearly outlined the crucial information that every iOS developer job applicant must put on their resume so that it’ll stand out. The site itself also has its own resume builder to save you time!
- Velvet Jobs – another job search company has curated a list of iOS developer resume samples for each iOS-related job that there is, ranging from iOS Mobile App Engineer to iOS Lead. This is such a helpful resource that can help your iOS developer application regardless of the stage you are in in your iOS developer career!
App Development with Swift Certification
To date, only Certiport by Pearson Vue has an official partnership with Apple to certify students on their Swift Programming knowledge and skills.
Their year-long Swift certification program covers high school and college-level knowledge of the programming language, which when attained can be a golden stamp on your iOS developer resume that can lead you to your dream iOS developer role!
I don’t think it’s absolutely necessary but if you’re all about the certifications, then there you go!
Let’s get started!
I hope that this comprehensive guide will assist you in your iOS developer job hunting journey.
If finding a career in iOS development is your goal, we have a lot of training to help you start building out that app portfolio that’ll be so crucial in an interview!
Check out these resources:
Let me know what you think by dropping a comment below!
Thanks Chris!! I love the way you described each and every required modules, which every iOS Developer should know. Great guideline for beginners, about where to start!!
Thanks for a great and well written article.It gives confidence to newbies like me who feel intimidated and overwhelmed by iOS.
There are some who make technology look complex like rocket science.You have been very generous by giving insights to readers in a very honest and down to earth approach.
I especially liked Chapter-3 on which companies to avoid.Lot of places in the internet tend to glorify employers and make them seem too holy to be talked about.But this one was different and matter of fact.
Keep up the good work.
Great work chris, you have been very helpful, the advice and resources are very enlightening. Thank you
This is by far most accurate guide to become an iOS developer. Thank you Chris. Right now i don’t even know how to change pressed button background, so let’s see how far i can go in one year with my new passion.
Thanks so much Chris for sharing these great information.
I have subscribed to some youtube programming teaching channels, but honestly you are the one I watch the most and I love your teaching way and technique.
Thanks again 🌷
Thanks for sharing this Chris !
This is an amazing collection of advice and resources! I am fortunate to have stumbled upon your YouTube channel. Thank you.
Hey Tammy, thank you so much! Glad to be able to help 🙌🙌🙌
Thanks for the mention, Chris, and props for the extensive guide!
Hey Mario, thanks for stopping by and commenting 😊