Let’s say you want to build iOS apps for a living, but you don’t really want to get a full-time position at a particular company. You could make quite a bit of money as a freelance iOS developer—but building up a suitable list of clients can require a lot of hard work. Where do you even begin?
Given the size of the iOS ecosystem (there are more than 1 billion iPhone and/or iPad users worldwide), there’s lots of demand out there for tech professionals who can build, launch, and maintain an iOS app. Much of it comes down to crafting a portfolio that will “wow” potential clients, and then backing up that portfolio with excellent software-development skills. Oh, and “soft skills” like empathy and communication never hurt, either.
Start by Learning the Skills
Anyone who wants to work within the iOS ecosystem needs to learn Objective-C and Swift, the two languages for iOS development. For decades, Objective-C was the go-to language for anyone building apps for macOS or iOS; in 2014, Apple rolled out Swift, intending it to replace Objective-C.
Although Swift has evolved rapidly over the past few years, and now includes all kinds of useful features, Objective-C has displayed enviable staying power. While knowing Swift is essential for building iOS apps, it’s also worth learning Objective-C because a client might ask you to maintain legacy code. If you’re totally new to Apple’s programming paradigm, start on the company’s website, which features a ton of iOS documentation, including tutorials and sample code (and if you’re new to coding altogether, you should also explore Swift Playgrounds).
You’ll also need to master iOS-specific tools such as UIKit, Xcode, and CocaPods (a dependency manager for Objective-C and Swift that allows developers to resolve and manage dependencies for Xcode projects). Again, Apple provides lots of documentation about its various tools, but there are also online resources that will walk you through the various capabilities and features.
All that’s in addition to “generalized” software development skills, including GitHub, debugging, Scrum/Agile methodology, QA testing, and software architecture. If you specialize in front-end processes involving the end user, UI/UX is a valuable skill to master; for those who want to focus on back-end aspects of iOS development, you’ll need to know your way around databases.
Build Your Portfolio
If you’re going to position yourself as a freelance iOS developer, you need to show that you can actually do the work—and that means building up a portfolio. If you previously worked as an iOS developer, you can use those older projects as the spine of your portfolio, supplemented by any personal work (such as independent apps or games) that you’ve built over the years.
Some freelance iOS developers opt to build out a website with their projects, complete with links to GitHub or another code repository. Others choose to build out their portfolio directly on GitGub, with a readme file breaking down their education, resume, and any relevant experience.
Whatever platform you use for building your portfolio, be aware that potential clients are looking for specific things. For instance, many will want to hire an iOS developer who can effectively connect their app with other third-party services, such as a payment vendor; your portfolio should include work that shows you’re very good at interacting with other services.
If you’re bidding for complex projects, you’ll also need to show off previous work that demonstrates your aptitude with coding at scale. An enterprise-level company in the market for an iOS freelancer won’t hire someone whose portfolio is loaded up with simple, single-function apps; they’ll want to know you can build and manage something polished, complete with highly customized widgets and functions. If you don’t have anything like that in your portfolio, participate in open-source iOS projects that will give you the experience (and something to eventually show off, hopefully).
Figure Out How Much to Charge
According to arc.dev, the average rate for a freelance iOS developer is $81-$100 per hour. Some freelancer marketplaces charge far less ($16-$40, for example), which translates into a much lower cut for the iOS developer utilizing those platforms to find work.
If you specialize, you can charge on the higher end of the scale; for example, a “full stack” iOS developer who can effectively build and maintain an app’s front- and back-end can likely charge a premium, as can experienced UI/UX developers with years’ worth of solid work to show off.
Keep in mind that, according to Glassdoor, iOS developers earn average compensation of $108,471 per year, including average base pay of $99,372. And according to Lightcast, which collects and analyzes millions of job postings from across the country, developers who specialize in the iOS stack (which includes knowledge of Swift and Objective-C) can earn a median salary of $97,298; projected growth for such roles over the next two years is 9.8 percent.
While a freelance iOS developer might not make as much as an iOS developer who works full-time for one company (especially once you factor in healthcare and other benefits), freelancing does provide a degree of flexibility and freedom. Weigh your priorities carefully while evaluating whether a freelancing career is right for you.