Freelance iPhone Developer, One Year Later
A year or so ago I wrote a blog post about starting out as a freelance iOS developer. A lot has changed since then. I have no shortage of work and I was able to recently bump up my hourly rate to €150. Because of this, my fiancee and I can afford to take a three-month vacation in Australia soon and I don’t intend to do any work while we’re over there. Of course, I worked hard to make this possible.
If you pay peanuts, you get monkeys
Every day I get inquiries from potential clients, much more work than I could possibly handle. Some of these inquiries are quite unrealistic, but the 150 Euro per hour price tag is quite effective in scaring off the dreamers with a hundred bucks and an idea. (It’s also basic economics: If you can’t keep up with the demand, raise your prices.)
My hourly rate may seem high but one thing I learned over the past year is that I’m a really good developer and that I’m worth it. Asking for big money obviously drives away a lot of potential clients, but the clients that I do get are serious about what they want, their projects are interesting, and they understand what it takes to make a quality product.
As any creative professional can tell you: “The more you pay me, the more you can expect of me, and the harder I will work to make the end result really wonderful.”
Inspired by this excellent rant, I also decided to take on only the really hard projects, the ones that are too hard for other developers. Simple apps are boring — I need challenges that allow me to make the most out of my skills!
How to find work
I received an email today from a fellow freelance developer who found himself in the same spot I was in a year ago:
“I was wondering if you had any more luck finding work via internet resources since your post was written? I figured I’d look around at a couple of the big freelancing sites and see what I can find, but I think it’d be so much better if it was more personal.”
There are two things I did that made all the difference. First off, I started blogging. There’s always a need for good information about any topic in your field, so if you write quality posts you’ll build up a name for yourself and people will come to regard you as an expert.
With a blog full of quality material, you’re no longer some anonymous developer but someone who has already demonstrated his skills. It makes it easier for clients to trust that you can actually deliver.
Putting some of your own code on Github is another way to pull that off. I have created some open source components that people find useful, and that gets my name out there too.
The biggest thing I did, however, was to write for www.raywenderlich.com. That is a popular site with tons of great tutorials and my contributions seem to be appreciated. I also wrote a 750-page ebook called The iOS Apprentice that is sold through Ray’s site, and contributed to the ebook iOS 5 By Tutorials.
A lot of this is hard, unpaid work, but it pays itself back in building up your reputation. I’m probably not as well known in iOS circles as Matt Gemmell or Marco Arment, but I’m working on it.
Not what you know, but who you know
The second thing is to get in touch with other developers. Networking is a great way to get referrals for jobs. Many developers have too much on their plate so they’d be happy to pass on work to other developers they know and trust. Some will also subcontract out certain parts of their projects.
There are many ways to network. You can get in touch with other developers that are local to you through groups such as CocoaHeads and meetings such as NSCoder Night. If no such group exists in your area, you might consider setting one up yourself.
You don’t have to restrict yourself to just meeting iOS developers, of course. Mobile developers, web developers, designers, start-up founders, these are all useful people to get to know.
Face-to-face networking is probably best, but on the internet there are plenty of places to get in touch with other developers as well: forums, blogs, IRC, Facebook, LinkedIn, you name it. Hanging out with your peers has never been easier…

Matthijs Hollemans
hi sir Matt,
i’m a freelance ios dev, and it seems i can never find a client here in our country (philippines), 150 euro an hr is really high,
i can’t even make 12 euro an hour, i have self-published apps but they don’t make a cut in the market. can you help me market my next projects
@Vicious If you can’t find clients who are willing (and able!) to pay more in your own country, then you should probably look somewhere else.
Nice motivating post!
Being in the middle of ‘transitioning to iOS/Android’ myself and preparing for a freelance career after a long 15yrs period of being just a ‘regular’ employee, it’s nice to see that your hard work has been paying off during the last year. (and not only in terms of financial aspects)
I recently followed and enjoyed some of your tutorials on raywenderlich.com and i must say that i find them amongst the best tutorials i ever found with respect to clearness, details and accuracy, so nice work and don’t stop coding nor writing
Thanks, Sven!
Hi! Im pretty new to freelance job on iOS and have I some questions:
) didn’t before, so how do you know how many hours it will take to finish project?
1) When new client appears its often something new that you (me
2) For example, how much in hours it will take to make this app http://itunes.apple.com/app/nytimes/id284862083?mt=8 ?
3) When you begin working on project do you have some stages and for each stage you receive money?
4) How many hours your decent project takes to complete?
If you want answer please on email address
@Alex
1) If the client has already provided a design that describes how all the screens look and how they interact, then you can estimate the time each screen will take, add it all up and multiply by 3 (as a good rule of thumb).
If the client hasn’t provided a design and expects you to work that out, then I’d do that phase of the project on a per-hour basis because it’s hard to estimate how long a design will take.
2) A lot. That doesn’t look like a one-person job.
3) It’s common to split up a job into milestones. Usually I’d ask for an advance, just to make sure the client does intend to pay. And then we’d take it milestone by milestone. The client signs off on each milestone and pays for it.
4) A fairly simple app takes at least 100 hours. But it really depends on the app, of course.
@Matthijs
Thank you for answers!
1) When you begin working on project do you get some money from client in advance?
2) Do you ever woking with NDA (so that you can’t say that you worked on project)? or you refuse when client comes with it?
ops first question was too quickly
didn’t read answer carefully
then I can change it:
1) what kind of documents do you use for client to sing off?
I won’t sign an NDA before I at least have some idea what the project is about. If the client pays enough, then I have no problems signing an NDA (if the terms are reasonable).
Always get your clients to sign a contract that explicitly states what work you will do, what they will pay, who is responsible for what, and so on. It doesn’t have to be a huge document, just as long as it records what both parties have agreed upon.
Respect. According to my experience, everything north of 50 €/h is an achievement. 150 € is a bloody rock star badge. Keep on rockin’.
It’s a nice to see a fellow developer to get paid for quality work
I could say i am halfway there. So what kind of apps would you consider developing and which you turn away from technology perspective?
@Ivan For me it’s not the technology takes makes an app interesting or not, but the design challenges. Sure, some technology is more sexy than others, but usually the truly difficult work is in getting the design right.
Nice of you to share your experience. :]
Big fan of http://www.raywenderlich.com