iOS 5 By Tutorials ebook

Life as a Freelance iPhone Developer

Four months ago I quit my job to become a full-time freelance developer. I set up my website, registered the business, and set out to find work. My current interest is in iPhone and iPad software so that is the kind of work that I looked for.

It wasn’t hard to find iOS-related development jobs because currently there is a huge demand for mobile developers. However, I found it challenging to find jobs that pay enough to make this endeavor worthwhile.

I have been programming for a long time but I still am a bit of a newbie when it comes to being a freelancer. As an employee I have worked for big, medium-sized and small companies, including a startup that went bankrupt after I had been working my butt off for three years. In between, I have worked for myself for several years as an independent shareware author, writing my own software product and selling it from my own website. Now I’m self-employed again, writing apps for the iPhone and iPad on a freelance basis.

In this blog post I’d like to talk about my experiences so far, in the hope that it will be useful to other aspiring freelance developers, and maybe to pick up a few tips from more experienced contract developers – any advice is welcome!

Why Freelancing?

In the long run, working on your own products is more profitable than working on other people’s products – but only if yours become a success. When you do contract work, you only get paid for the time you put in. You trade your hours for money. It’s less risky in the short term but you don’t build up any intellectual property of your own.

Building your own products requires a time (and possibly money) investment up front but has the potential to reap the rewards afterwards many times over. Sounds good, but in practice most iPhone apps don’t make any money at all! It’s not just about the quality of the programming (I’m pretty sure I can pull off any programming or user interface design challenge put before me, given enough time and resources) but about sales and marketing.

You need to build something awesome, and you need to let people know about it. In other words, you need to create more than a piece of software, you need to create an entire business. Easier said than done, even on the App Store.

Reverse Chord Finder

I’ve tried building my own products and none of them were awesome enough (in my opinion) to be a success in the App Store, with the exception of Reverse Chord Finder Pro. Besides being a programmer, I am also a musician, and this was a tool that I myself could use. So I built it and put it on the App Store. It has been selling reasonably well – and keeps selling better and better with time – but it hasn’t quite made me rich. Reverse Chord Finder currently brings in about EUR 400 a month (before taxes), which is nice pocket money but of course is way too little to pay the bills.

I could write several other tools like Reverse Chord Finder. Added up, their income might be enough to pay the rent. However, I decided to try my hand at building other people’s products. I can use the experience of having my own apps in the App Store to help my clients, not only with the programming part but also with the business part.

Conversely, working on client projects might inspire me to do new products of my own. I constantly get to learn about new problem domains. Being a problem-solver, there is a chance I can come up with a new solution for a problem in a domain that is new to me and potentially end up with a very successful product.

Working for Yourself

I could probably get a pretty good iOS development job at some major company and earn big bucks, but I found that working for a company is not my thing. Working for someone else when you have some entrepreneurial sense is simply too frustrating. I feel much happier being on my own and making my own decisions, even if they are bad decisions.

Another reason not to be an employee is that I want to be the boss of my own time. I like to get up early, do the majority of my work in the morning, take a break for a yoga session, then continue with my work, and in the afternoon go running, play the piano, read a book from my ever-growing reading pile or work on my personal development some other way.

More importantly, I want to be able to go traveling when I feel like it. By being my own boss, I can design my lifestyle around my work. My girlfriend and I decided to travel more, to live 3 to 6 months in a foreign country and then move on to the next one. We’re not quite there yet, but I am writing this post from a Thai island. ;-)

We don’t plan to stay in hotels all the time. The current trip is 30 days and we’re moving around a bit, but for the longer trips we will rent an apartment and stay put for several months. In most places on this globe, at least the ones we’d like to visit, you can get WiFi these days, so that and a good laptop (we both bought new MacBook Pro’s and sold our desktop computers) and you’re ready to work. Most of my clients are on the other side of the planet anyway, so it doesn’t really matter where I physically am when I do my work.

(By the way, if you do work from hotel WiFi, get something like WiTopia.net, which sets up a VPN connection that encrypts all your data when it is sent and received over the network. Most public WiFi is completely unprotected and you don’t want any people snooping to get your passwords, or worse, your client’s sensitive data.)

Where to Find Work

A freelancer doesn’t spend all of his time programming. You’ll be spending quite a few hours just communicating with the client. And you’ll continuously have to be on the lookout for new work. Most of the jobs I have done so far took between a few weeks and a few months and that is the timespan I like. I prefer not to spend more than 3 to 4 months on a single project. Which means that when one project is winding down, you need to start looking for the next one.

So far I have been finding most of my work on Elance. In case you are unaware of that site, it is a match-making site for providers (i.e. freelancers) and clients. As a provider you pay a monthly subscription, which allows you to place a certain number of bids on jobs that the clients post. Elance also takes a cut from the payment. The fee you pay Elance is worth it because the escrow service they offer means you won’t be so easily stiffed by a client who doesn’t want to pay up. The Elance system is not perfect but I found that it works quite well.

It’s fairly easy to get new work on Elance. The problem? Most clients aren’t willing to pay realistic prices. Sure, a lot of the providers on Elance are from low-income countries, so you’re competing with big Indian and Eastern European software houses who can hire programmers for a nickel and a dime. However, I don’t really see these people as my competition. I prefer to compete on quality rather than money. And fortunately there are a lot of clients who do not want to outsource to the cheapest bidder, especially if they have been burned in the past by a cheap-but-lousy developer.

I bid on jobs that pay around USD $5,000 or more, although there are not many mobile development jobs that have a budget over 5,000 dollars. The first few projects I did were a bit lower than that but they were experiments to see how well this Elance service worked and whether I would actually like freelancing.

USD $5,000 for a complete app is of course still extremely cheap. So far it has been paying my bills, but only barely. I live in the Netherlands where cost of living is comparable to the USA. The only way I can pull this off is by doing multiple jobs at the same time; there is always overlap between 2 or 3 projects. So far this has not been a problem because I often have to wait for feedback from a client before I can continue (or the client is delaying the project in some other way), which gives me time to work on one of the other projects.

But I Could Do Better!

I keep reading that the average hourly rate for an iOS developer is $100 USD. I am definitely not making anything near that rate, and I’m confident enough in my own abilities to say that I’m better than average. I don’t regret doing the Elance projects that I’ve been doing so far, but there is a big gap between the kind of money I am currently making and the kind of money that I should be making.

The truth is that I’ve never been paid well according to my skill level. I’ve always preferred to work for myself (doing shareware, which you can be very successful at, but I barely broke even) or for small companies or startup companies, which could never afford to pay me what I was worth. Well, I would like to change that soon. :-)

Two reasons why I haven’t been able to find work that pays better:

  1. I haven’t really looked beyond Elance yet.
  2. I don’t really know where to look.

I think this mainly is because I don’t know anybody else who does this kind of work – and nobody really knows me. If clients cannot find me anywhere and no one refers me to them, then they obviously can’t hire me. Likewise, established freelancers with too much work are reluctant to pass some of that work on to a subcontractor that they don’t know – or trust – yet.

Sure, I read iOS-related blogs and I occasionally hang out in development forums and on IRC, but other than that I haven’t been very active in the iPhone developer community. My contacts and network are limited. That is something I will be changing over the coming months. I need to get the word out that here’s this pretty good and dependable developer looking for work. :-)

Any tips would be greatly appreciated!

Image by Máirín Duffy

Comments

  1. Pingback: Tweets that mention Life as a Freelance iPhone Developer – Hollance: Professional Freelance Software Development for iPhone and iPad -- Topsy.com

  2. Ray Wenderlich says:

    It sounds to me like you’ve made a great start, the important thing is to keep at it! If you keep making apps for yourself and others like you’ve been doing:

    * You’ll have more and more happy clients (who will refer you to others)
    * You’ll have more and more apps of your own to generate passive income
    * You’ll have more and more mad skillz to make bigger & better apps faster & faster :]

    Between all of this, your hourly rate will naturally rise.

    Getting involved in your local tech community might help too so you can meet likeminded folks. Do you live near a city with tech meetups, etc? If not, you could get involved in forums on various sites, etc if you’re not already.

  3. Matthijs says:

    Thanks for the good advice, Ray!

  4. Jorge Mendoza says:

    Nice post, i agree with ray in most of his comments and with you in most of the post, am a indie game developer my self, i started with IOS less than one year ago.

    I use Freelancer.com to find some jobs, i had some good and bad experiences on the site, there are TONS of scammers looking for someone to develop their apps for almost nothing or they try to find a way “out of the system” to get you to work and pay you 0. In the other hand i also develop my apps and i think the more you develop better apps you get more chances of getting a big AppStore hit, and yes social media is VERY important in order to achieve that goal! just sharing some thoughts (i like the idea of responding to your next post from a lovely island! :D )

    regards,

    Jorge.

  5. Yuan tao says:

    What a fantastic way of working! Traveling while earning
    Money. I am really jealous. I will work towards tat.

  6. lloydy says:

    Always nice to read about people’s experiences who are in a similar situation. I made the leap in January to go freelance as a IOS designer/dev, was a bit nervous that the market might be a bit saturated, but i’ve secured a few jobs through old contacts which has kept the wolf’s from the door.

    I’m enjoying the freedom to concentrate on some personal apps which hopefully will increase my presence in the community.

    I think what you say about quality is really important. If you produce top quality work people will always use you again or recommend you.

    Can’t offer any advice on places to look as i’m in the same boat myself, i’ve Not used Elance before but will definitely check it out.

    Good luck and look forward to future posts

    L

  7. Gehan says:

    Have a look at oDesk.com. You’ll have the same issues as with Elance but it’s still another pool of jobs for you to look through.

  8. chrispix says:

    There’s a ton of demand for experienced iOS developers right now, and a dearth of people with real experience (at least in the US, not sure what the situation is in the Netherlands). Mostly companies are trying to hire full-time employees, but they need people so badly they’ll work with contractors who can show solid experience, which you obviously can.

    A few months back I sent out resumes to several companies advertising on job boards for full-time jobs. In my cover letter, I explicitly said I was interested in consulting work. I was surprised to get over a 60% response rate. Probably half of those weren’t interested in consulting at all, but the other half were happy to talk, and I quickly had more prospects than I could handle, and got a great gig.

    So I wouldn’t limit yourself to just looking for explicitly freelance work, even though that’s what you want to do. You may be surprised how many companies who want employees are happy to contract with you.

  9. CristoforoM54 says:

    Hi Matthijs – sounds like you are doing exactly what I’m thinking about doing and I found reading about your experience very insightful. Not sure if you have family and 2 kids to also look after but taking the plunge for me is daunting. I’m naturally risk averse anyway and we have a comfortable lifestyle which would take a hit. I’m hoping to be able to try this out in between full time jobs in the near future or maybe mix it in with a part time job eg 3 days a week but they are hard to come by.

  10. Mike says:

    Mu situation is similar to Cristo. I’m currently in a job (and about to be laid off from it) that pays $200k. And of course debt to show for it. I want to get away from working for others and do my own thing, but I’ve been out of the programming game for quite a while. I’m just starting to teach myself Xcode for iOS development. It’s going to be a long road, but I really want to learn it for all the reasons mentioned in this post.

  11. Matthijs says:

    @Mike This blows my mind, but why would someone who earns $200k a year be in debt? I’ve never made that much money (not even close) and yet I manage to have zero debt. I’m just curious what you would spend all that money on…

  12. Dave says:

    Good read, thanks Matthijs.

    I’ve often considered taking a free lancing road, but after reading your post, some potential bottlenecks and issues arise with money and reliability. It seems that the Boutique development companies will be the first to get offered the better projects and $$’s over Free lancers.

    I’m thinking that a better alternative, would be to take a reliable position for an existing boutique Dev group, but have the condition that you can choose extremely flexible hours, allowing you to work from literally anywhere, allowing you to say take 2-3 months near your favourite ski resort, for example, while remaining employed.

  13. Pingback: 【开发者说】从企业人到iPhone自由开发者 « 苹果I派党

  14. Pingback: 做一名iPhone自由开发人员 - CodeLifes.tk

  15. Rodney says:

    Very interesting post. I’ve been an IT professional for 20+ years. For coding, I do a lot of .Net and SQL Server stuff. I’ve a few good ideas for iOS apps, and decided to learn Objective-C and give it a go.

    My ultimate goal is to do freelance iOS development full-time. I’m single and I travel a lot for holidays, so freelance may be a great choice.

    I don’t mind putting in extra hours or hard work or research to craft elegant solutions. Its a labor of love. :)

    I’m thinking maybe some of us should hook up on a more regular basis, at least for networking and sharing stories and inspiration. :)

  16. Rachel Bouchet says:

    I am also a freelance developer. I have been doing it for 3 years. I specialise in Microsoft CRM, C# and asp.net web development.

    I am always looking at growing my network of contacts, so it would be great if we could hook up?

  17. Marcela says:

    I’m in the same situation, I’m starting as a freelancer. I live in Costa Rica and have more than 7 year of experience as a software engineer, web development, .net, php and now I’m learning iOS. I took the decision because I recently had a baby and I want to be close of her at home at least for the first years and that is not possible if you work full time at a company. My husband is supporting me in that decision. I hope to find some freelance job or part-time job soon. I’m glad to find this post and read about your experiences. :)

  18. mushfiq says:

    Nice POst,YOu can try at Odesk where you can find great Ios Projects.

  19. yurieasy says:

    Hey! Nice to see people in the same flow like me.

    I’m already traveling for 4 month through south east asia, surfing and developing ios apps. This life completely different, then it was, while i was working on someone and staying in offices for 5 days per week.

    The world awesome and it is open.

Leave a Reply

Your email address is required but will not be visible to others.

*
*