So you want to take a piece of the hottest tech-pie around right now, and become a professional iOS developer? Good decision. Mobile is hot, no doubt about it, and probably will stay this way for a few upcoming years. There are thousands of unfulfilled iOS development job positions, anywhere in the world you are located now. Software companies are looking for iOS programmers on every level of advancement — interns, testers, juniors, mids, seniors, experts, or team leaders. This article is for real beginners — I will try to help you land your first job as an iOS developer.
“But why should I follow your advices?”
you will probably say. And it’s a good question — taking bad advice from people who know nothing about the app business is not a good idea.
I’m not the source of unquestionable truth. Well, I’m not even that really experienced iOS developer — but I know enough about the market to be being able to help you to some degree. Also, I ship apps, like my newest one (and at the same point - one of the oldest from 2013), the MixCoin — Currency Converter for iOS, which is also some indicator of skills.
I’m Paweł, an independent iOS developer from Poland. I started in the app business as an indie by creating a few low-income apps, but at the same time high enough to allow me to focus fully on them and don’t worry about food and paying bills (and later, to fund some travel trips around Western and Eastern Europe — Crete was really awesome), then I joined a software house company as a junior iOS developer, to finally back to my own apps in my own solo-person company and focus on them completely without worrying about tomorrow. If I want to, I can always go back and work for someone else (but it’s probably not for me — entrepreneurial spirit inside my heart is too strong yet).
OK, but less talk, more action — what you need to do to become a fully-professional paid iOS developer?
- 1. Buy a Mac (and iPhone — if you Don’t Own One) — The First iOS Developer Step
- 2. Install Xcode, the iOS Developer IDE
- 3. Learn the Basics of Programming (Probably the Hardest Point on the List)
- 4. Create a few Different Apps from Step-by-Step Tutorials
- 5. Start Working on Your own, Custom App
- 6. In the Meantime, Learn as Much as you can About Software Development in General
- 7. Finish your App
- 8. Publish Your App in the App Store
- 9. Upload Your App to GitHub
- 10. Contact the company you want to work in as an iOS Developer!
1. Buy a Mac (and iPhone — if you Don’t Own One) — The First iOS Developer Step
To develop for iOS, you need a Mac.
OK, there are some workarounds for this (like Hackintosh or Mac In Cloud), but let’s be serious here — as an iOS developer, Mac or MacBook will be your main work tool. You don’t have to go for the newest, fastest and the most expensive one (yet if you can afford that — it's a good idea), but you definitely need some Mac.
If you want a brilliant entry-level device, consider Mac Mini — it's probably the best value for the money.
If you are like me, and your number one priority is mobility, then get MacBook Air — preferably this one with a bigger screen. And you aren’t obligated to buy new stuff, second hand from eBay is just fine.
2. Install Xcode, the iOS Developer IDE
Now, when you have your shiny new (a used one, but properly cleaned both in terms of clear device and factory-reset software, it is very close to the new one too) Mac on your desk, it’s time to install the most important software for every iOS developer — Xcode. Xcode is the IDE —Integrated Development Environment — created for developing iOS apps on Macs. It’s free and you can download it straight from the Mac App Store, which you should do right now.
Using Xcode, you do a bunch of things:
- Code writing and editing
- Debugging (looking for bugs in code and removing them)
- "Drawing" the user interface using so-called Storyboards (it is also possible to create user interface directly using only code)
- Testing (unit and UI)
- Profiling (improving speed and reliability of your app)
- Uploading your app to the App Store
Get familiar with Xcode, it’s the most important software for every iOS developer.
3. Learn the Basics of Programming (Probably the Hardest Point on the List)
Now it's time for one of the hardest steps — you have to jump straight into the code.
For developing on iOS, we use the programming language called Swift.
If you have some programming background, picking up Swift won't be hard — it's mostly a standard, object-oriented programming language. But if you haven’t written a single line of code in your entire life, don’t worry — there are four great resources for true beginners:
- Swift Language Guide by Apple — this is the official Swift language reference. You want to use it and learn from it. Official Apple documentation, great as always.
- Ray Wenderlich Swift tutorial
- Hacking with Swift tutorial
- AppCoda tutorial
Of course you don’t have to understand everything in depth at this point — this will come naturally later with experience. But you need to fully immerse yourself into all these variables, pointers, classes, data types, and loops. It will give you a context for further learning.
4. Create a few Different Apps from Step-by-Step Tutorials
This is the point when you are finally starting to make something useful. Check these sites:
- AppCoda — probably the best starting point for beginners. You will find there many different tutorials, step-by-step with a lot of screenshots and descriptions. Definitely go through all of them and learn as much as you can!
- Ray Wenderlich — another useful site with a giant database of iOS development tutorials. Learn from it, step-by-step.
- Hacking with Swift — another fantastic iOS programming website.
But don’t stop only on these sites and tutorials! Move along and create a calculator app. Then create a weather app. Then a currency converter app (haha! Actually, my MixCoin app is a former Smart Currency Converter app coded in 2013, when I was started to learn iOS development.). Create a music app. A famous social media-clone app. A SpriteKit game. Did you get the point? Create whatever you find a tutorial for. You will learn a ton of new stuff digging in different aspects of code.
Make apps from tutorials until you are fully comfortable in Xcode and Swift. And when this will come, move on to…
5. Start Working on Your own, Custom App
OK, things are getting serious now. At this point, you should start to make your own, custom app which you will show to your future employer on the company interview.
But don’t be scared! You don’t have to create a second Facebook. You are starting for a junior position, right? A position, on which you are supposed to learn from other employees as much as you can, and not to be an expert with 5 years of experience. Stay calm and think about which areas of iOS development you are currently best on.
Maybe you have created an app, that uses networking a lot? Maybe you have studied UIKit the most and you are comfortable with creating complex user interfaces? Or maybe you created a music player and audio on iOS is your favorite part of development? Leverage that interest and knowledge and build your app upon that. Focus on clean, stylish, and working code.
6. In the Meantime, Learn as Much as you can About Software Development in General
If you are reading this article, you probably don’t want to go to university for a few years to study computer science only to get a junior iOS developer job. And the good news is you don’t have to!
You can learn a lot of computer science/programming/software engineering topics at the comfort of your home, online, alone.
Of course it won’t replace you getting a formal degree, but to get a first job as an iOS developer in a typical software house you don’t have to have a diploma. See the picture above? Learn about these things written on it. And I won’t give you links now— searching for information is one of the most important developer’s skills. Start training it now. Google is your friend (Bing is also OK).
7. Finish your App
After a few days, weeks, or months of learning and working on your app, you should finally have a working app. This app is your resume — you should put into it your best work. A lot of it. Here’s a list of suggestions of what employers will be looking for in your app:
- Working app — no crashes, no glitches
- Clean code
- Good code organizing — small classes, well-selected names for variables, nice file grouping inside the Xcode project, etc.
- Usage (or not!) of storyboards (you have a big plus if you can mix both storyboards and code to create user interface)
- Usage of CocoaPods
- Some simple unit tests
- Usage of external libraries (for example some open source projects from GitHub — it’s a big plus if you can do this because in real-life work you do this all the time)
Of course everything depends on the company and job you are starting for, but generally with these skills above in your belt you can probably start for every junior iOS developer position that exists on this planet.
OK, you have your beautiful, shiny app. The next step is…
8. Publish Your App in the App Store
OK, just to be clear — this step can be optional, because to do this, you need an iOS developer account, which costs $99 yearly and there is a big chance that your app won’t even break that cost.
It’s up to you that you want to or not to have an app in the App Store, but a lot of companies evaluate this as a big plus in your resume during the interview process.
Having an app in the App Store means that you know how the publishing process works, what are the Apple’s restrictions (and there are a lot of them!) about apps, what you need to publish outside of the app itself (app description text, keywords, screenshots, promo video), etc.
You don’t have to do this, but I strongly recommend it (my apps in the App Store probably landed me my first corporate job).
9. Upload Your App to GitHub
You can upload your app’s code here (and make it public or private — depending on needs), you can watch other people’s code, you can also contribute to other open-source projects. It’s widely used and you can benefit from GitHub even if you are a solo-only developer — by better organizing your code and having the best possible backup.
But why you should upload your app here? Well, to show your code to your future employer!
Don’t send your code by email, we are not in the 90's anymore.
10. Contact the company you want to work in as an iOS Developer!
And this is it — now you are prepared to get your first job as an iOS developer! An intern or junior position probably, but it’s not the most important now — the most important thing is that you have the skills to get the first job, and when you achieve this, the rest of your programming career will take care of itself.
So prepare your resume, find that awesome company you want to work in, and go create apps with them!
Or — stay indie!