I’ve been calling myself an iOS developer for a bit over 3 years now, and during that time I’ve released quite a number of apps on to the App Store. Some of these have been in-house apps that I’ve developed for myself, and some have been work-for-hire apps that I’ve written as a freelancer. As I’m an independent, the choice of where I spend my time is up to me, but I often find it difficult to know the answer to that choice. This post will explore some of those options.
At one end of the scale, you might spend all of your available time working on your own apps. I’ve been lucky enough to work on some really great contract jobs, but none of these are quite as satisfying as taking your own idea all the way to version 1.0. I’ve also been fortunate enough to have had apps featured on the App Store, not once but several times. There’s plenty of money to be made on the App Store and the dreams of getting inside that Top 100 do sometimes come true. However, it’s a tough market. You need a certain combination of skill, luck and persistence to succeed in the App Store, and there’s a good chance that you’ll spend months on your dream only to find it sells less than a few copies a day. In my mind, throwing all of your weight behind in-house app development is the riskiest, but potentially the most rewarding (both financially and emotionally). I think the key to success is keeping a close eye on the market, and developing a keen interest on the strategy & business side of creating apps, instead of just the coding.
On the other hand, you could spend your time doing freelance work. iOS developers are in huge demand at the moment, and if you’ve got the skills there’s plenty of good projects out there. Apart from the obvious development skills required, you also need a certain element of people skills – you’ll never be a successful freelancer if you don’t know how to make your clients feel at ease. This doesn’t come naturally to most developers, but with a bit of practice everyone can do it. The main difficulty then comes down to finding work. A lot of this is all about making connections, going to conferences, going to local developer meetups, being involved with the community, blogging, and so on. Freelance work can also open you up to working on some very cool projects, especially if it’s with big brands whose apps are bound to get a lot of downloads. This sort of thing also feeds back into itself – the more freelance work you do, the better your portfolio looks, and so the easier it is to get more work.
There often seems to be a bit of an argument over whether you should charge by the hour or quoted amounts for freelance work. I’m a strong believer that quoted amounts are the way to go. Yes, sometimes you lose out and a job takes longer than you estimated. This is a great incentive for learning how to estimate properly, and track your time sufficiently. It also gives you clients peace of mind that their costs will be relatively fixed unless they change the scope. Removing the uncertainty of how much a project is going to cost gives you a big advantage over other freelancers. And of course, for every job where you don’t underestimate, you overestimate – which works out in your favour.
Another option to consider is whether you should keep your costs low, but ask for a percentage of sales in return. If you’re doing freelance work, you’ll hear this proposition a lot. My advice is to steer well clear of it. Unless you are positive that the idea is definite winner, it’s not worth risking your time and money on. Not only will this app be entering a very crowded market, but you’re also relying on the client to create income for you – which all comes down to how good their app really is, and how good they are at marketing and supporting the app. I believe in creating my own destiny rather than relying on others, and so I almost always insist on full payment for the job. If the client believes in the app that strongly, then they should be willing to pay for it to be developed in full.
So, there’s a few different options there, and if you have any others I’d love to hear about them. I’m fortunate enough that I have a few good clients who keep sending work my way, and so I usually let them dictate my time. If a project comes my way, I’ll work on it, and in the down-time I work on my own apps. This provides enough of an income in order to support myself, whilst slowly building up my own portfolio of apps (and passive income). Sometimes this can be a little frustrating as a lot of work will come in all at once, and I’d rather be working on my own apps, but I’m the first to admit that it’s a good problem to have. And until I hit on that winning app which gets all the way to number 1, it’s a necessary one as well.