18 May 2010 by Published in: iphone, rants 48 comments

UPDATE:Looking for an Austin iPhone Developer? I’m now accepting qualified clients. Learn more about my iPhone and iPad app development services.

I’m doing freelancing full-time this summer.  Here’s a brief summary of what I’ve learned so far.

Lesson 0: Be good.

The key to being a successful freelancer is being good at what you do.  If you are bad, no amount of business wisdom will save you.  In the iPhone business, this means:

  • Write a half a dozen or so apps and get them through App Review.  Kind of obvious, really
  • Troll the official and unofficial developer community hangouts and follow what is going on, especially with regards to new “unwritten” app review guidelines and practices
  • Stay up-to-date with the latest beta SDK documentation so you know what’s coming
  • Spend a lot of time trying out iPhone apps
  • Spend a lot of time learning new SDKs and APIs

Lesson 1: Say “no” a lot

Apple wins by saying “no” to features.  It makes sense that in Apple’s market, you win by saying “no” to clients.  Some examples:

  • Client wants to add lots of really complicated features.  But you can solve 80% of the problem with a simple solution.  Simple solutions are easy to maintain and can always be extended later to recover that last 20%.  If the client can’t understand this, perhaps they shouldn’t be partnering with Apple, the king of simple.
  • Avoid visual overload.  This is a design aesthetic, but it’s key on Apple platforms.  Again, if the client doesn’t get it, what other parts of the HIG is the client going to fight you about?
  • Don’t negotiate on estimates.  I’ve had dozens of people who want me to come down 5%, 15%, or 50%.  If it was going to be less, I would have quoted less.  If the start of the relationship is a spat about $500, what does that say about the rest?

Lesson 2: Filter clients fast

If you are good (see Lesson 0), the amount of work available to you is effectively infinite.  Every person who has held an iPhone has an idea for an app and dreams of riches.  The number of people who can take that idea and convert it to a product, on-time and on-budget, however, is vanishingly small–perhaps 10,000 good developers at most.  So only take the best clients.

This concept is a lot more counterintuitive in real life than it is on paper.  You are looking somebody in the eye who is offering you $5k (for a $6k app), and turning them down, because you know that next week somebody will call you who is willing to pay full price.  It means turning down a stellar multi-app repeat client who pays on time but is extremely picky about the background color of unchangeable Apple UI controls because you know that right behind him is another stellar client who trusts your (and Apple’s) professional design judgment and will be a lot easier to work with.  Turning down a deal in-hand that’s “ok” but less than stellar simply goes against all intuition.

As soon as I have any idea at all what the project will be, I quote new clients a price with a margin of error of a couple of thousand dollars.  I do this before investing any work into writing an estimate or even hearing much about the project.  I need to weed out the “revenue sharing” people instantly, not after even one hour of my time.  There are simply too many of those guys out there.

Lesson 3: Don’t bid

There are a lot of bidding war sites out there like iPhoneAppQuotes.com and GetAppQuotes.com.  Leads from them aren’t worth the time it takes to write an estimate.  Here’s why:

  • Competent developers already have plenty of work.  So the number of competent developers on those sites are pretty small.  So if you’re a developer, you’re bidding against incompetent people.
  • Those incompetent people you’re bidding against?  They will quote a lot less than you.  It doesn’t take much money to not deliver a project.
  • All those clients (speaking from experience here) are either clueless or penny-pinchers.  The reason they’re putting projects up for bid is because they want it done (or not done, as evidenced by the responding developers) as cheaply as possible, even if it sucks.

Fast food is cheap.  It’s the same everywhere.  Any fool can be taught to make it.

I am not in the fast food business.  I am a chef.  I juggle Apple, clients, changing HIG guidelines, changing SDKs, tools, documentation… I design good layouts.  I think through small-screen UI design.  I pay attention to battery life.  I look at what the client wants and I see past the requirements and into the real business problem.  I anticipate what they really want, and I find the right balance between features and complexity.  Those are specialized skills.  They’re not cheap.  They’re not replicable.  They’re not scalable.  And if you give that speech to somebody who’s trying to order a burger at McD, you’re never going to get anywhere.

A lot of people are worried about lowball foreign developers “stealing” all the work.  I’m not concerned, any more than the 5-star chef is concerned when McD opens next door.  It’s not within 100 miles of the same market.  I will solve the problem for you and bill you a price to match.  Fast-food developers will copy and paste something off a forum somewhere and you’ll be stuck in revision hell forever until you give up and hire someone new.

Lesson 4: Revenue sharing is only mostly evil

In the past, I’ve come down pretty hard on revenue sharing:

If you’re going to offer something stupid like “revenue sharing”, just walk away.  Developers are going to laugh at you.  I have a “revenue sharing” deal already–I do development work, and Apple sends me a monthly check.  The only way to compete with that is to pay actual money up front.

I still think this is mostly right.  I have all the revenue sharing agreements I want already: with Apple.  And there’s still no shortage of people offering me a 50/50 split for their “app idea”.

However, I have begun to offer a 5% discount for a 3c per copy royalty for certain projects where the clients are known to be reliable/honest and the product is sound.  This gives me a little bit of residual income and a little bit of risk.  The smart clients realize that it keeps me invested in their projects.


I’m learning more this summer than I’ve ever learned in a classroom.  Being forced to make actual money is perhaps the best teacher of all.  Why don’t we expose students to something like this before they enter the workforce?

UPDATE:Looking for an Austin iPhone Developer? I’m now accepting qualified clients. Learn more about my iPhone and iPad app development services.

Want me to build your app / consult for your company / speak at your event? Good news! I'm an iOS developer for hire.

Like this post? Contribute to the coffee fund so I can write more like it.


  1. Wed 19th May 2010 at 12:15 am

    if you think a professional is expensive, try an amateur :)

    and this would not just be for iPhone, but for any freelance _insert_profession_here really. i share a lot of what you say and live/work on some of those ideas outlined above.

    as for exposing students… well, no matter what line of business you’re going to go into, you’re up against the same really: people. but definitely the courses (wether you code, paint or fix cars) should cover the psychology and strategy of business dealing…

  2. David Jones
    Wed 19th May 2010 at 12:38 am

    Great article.
    It all applies quite generally with project management.
    Well done.

  3. Wed 19th May 2010 at 12:48 am

    I agree 100% with everything you stated. I find that many clients are not willing to pay you what you are worth, until they have gone through enough low bid johnny’s who didn’t know what they were doing.

  4. roger
    Wed 19th May 2010 at 1:23 am

    how could you learn such wisdom in 6 months … I could have done with this sort of help 25 years ago …

  5. BigD
    Wed 19th May 2010 at 1:27 am

    Awesome write up.. Be careful not to big note yourself however.

  6. Gee
    Wed 19th May 2010 at 2:19 am

    Hey there.

    I would not eyeball those foreign developers so much just yet.

    You see, I’m a foreign developer (to you at least), from Hungary (Magyarország). I develop the server and the client API of an application for 3 years now at a US subsidiary company.

    Now you can tell me that “I’m not concerned, any more than the 5-star chef is concerned when McD opens next door”, but thing is, I learned YOUR language, and I’m doing what you could be doing right now.

    So if you want to stay in business, try to give some credit to those outlanders you speak so condescending about. And learn at least two foreign languages (I just started learning the 4th).

    Cheers from Hungary.

  7. Roger
    Wed 19th May 2010 at 2:20 am

    You can – just hire people who have actually done it, and don’t hisre those who haven’t.

  8. jedliu
    Wed 19th May 2010 at 3:35 am

    Thank you,Sir,that helps me a lot!

  9. Ken
    Wed 19th May 2010 at 3:41 am

    Spot-on. I’ve done a little iPhone development, but nowhere near enough to call my self an expert. However, I have been developing both as an employed drone, for myself, and freelance. I’ve been involved with IT for years and clients have changed very little. I especially like lesson #3.

    Here’s another one for the list …
    If a development task is going to take 4 weeks including all features requested, it will take 4 weeks no matter how much a client wants it sooner. If they can’t or won’t see it – walk away.

  10. Mike M
    Wed 19th May 2010 at 4:08 am

    I’m coming from the perspective of general software development, but I’m sure this applies to iPhone development just the same.

    Whether or not a partnership agreement (be it revenue split or actual partnership) is desirable comes down to one thing: how much value does the person add to a good project idea?

    Yeah, you have a revenue split agreement with Apple, but Apple won’t give you a domain expert, funding, contacts, nor anything else besides standard documentation.

    If someone offers a partnership and they truly bring value to a good project idea, it’s often worth considering. The risks are higher, but so is the potential rewards. “Billable hours” work gets old after a while.

  11. Wed 19th May 2010 at 4:10 am

    I completely agree with “Lesson 3: Fast Food”
    It is the same situation for me, now I’ve a good example why my bids are a little higher 😉


  12. Wed 19th May 2010 at 4:14 am

    nice article.

    same things applies for Android developers.
    keep up the good writing dude.

    cheers from Serbia,

  13. GreyBeard
    Wed 19th May 2010 at 4:17 am

    Spot on – this has obviously been hard won knowledge.

  14. Tarpit Grover
    Wed 19th May 2010 at 4:47 am


    Thanks for a wonderful article. I woke up this morning and was going through the code project mail, wherein I found this article.

    I am a computer engineer and as for now I am into .Net programming and web designing. I have developed softwares for many sectors like hotels, production firms, inventory controls etc.

    Being a big fan of iPhone and the apps, making my own apps is something that I really want to do. After going through this article of yours, I am totally convinced that you can help me with starting off.Presently I am in London. Can you guide me upon this. Some of the questions I am looking at is:

    Should I go for a course or should I start making apps myself using sample codes and API’s from Apple.

    With the launch of OS 4 SDK, Apple is launching a big bunch of 1500+API’s. Does all this makes app development more of a complex thing or is it more of an opportunity now to enter the market.

    Please help me out with suggestions on how to start off with iPhone Development.

    Thanking you in anticipation.

    Tarpit Grover

  15. keith
    Wed 19th May 2010 at 5:25 am

    All excellent points. The best thing about your points is – it applies to most any type of software development – not just iPhone apps. Your points apply to most businesses – not just software development.

    Don’t you wish everyone had to start their own business and make enough money to support themself? We’d have a lot more smart people walking around …

  16. Izzy
    Wed 19th May 2010 at 6:17 am

    I was with you until the last sentence. Expose them to what exactly? The insecurety of entrepreneurialism? Those former grocery baggers and burger flippers would be overwhelmed. To client management? They won’t need that skill right out of college because they will likely work for a dev manager who does that for them. You can teach technical proficiency; you have to train and mentor client management. College students aren’t ready for this. Devs who have been working for 2-5 years need this info. That is about the time they start thinking that they are smarter than their boss.

  17. Kathy
    Wed 19th May 2010 at 8:04 am

    How do you generate clients?

  18. Wed 19th May 2010 at 9:43 am

    While working freelance in varsity to pay my study loan, I learned the hard way that we are *not* taught to make real actual money. It turned out that my loan was not an investment in my degree, but a fee for that lesson I was forced to learn.

  19. SleepyCrat
    Wed 19th May 2010 at 9:51 am

    I’m not an IPhone developer, but the points you make here apply to all freelance development. Good article.

  20. Mel Pama
    Wed 19th May 2010 at 10:00 am

    Why BLACK and shades thereof. I hope it prints black on white. Liked your article, very succinct and 100% true, having been in your shows in the past.

  21. Bob
    Wed 19th May 2010 at 10:10 am

    Lesson 5: Forget everything after Lesson 0. Based on Lesson 0, create and publish your own apps and collect your own money and don’t freelance. There are only so many hours in a day and so many days in a week and so many weeks in a month and so on. You can only do so much work and it’s better to produce your own products and collect the revenue in a steady revenue stream instead of working for an hourly, daily or per-project fee.

    Because, based on Lesson 0, you are, after all, very good.

  22. Wed 19th May 2010 at 10:43 am

    There’s a lot of wisdom here – thanks for sharing it.

    I’ve been through a lot of this in my long career, but I’ve always had a hard time with saying “no” and refusing clients who “offer” “revenue sharing.” (I tend to see others’ needs as more important than my own.) It’s gotten to the point where I really don’t want to do anything for anyone anymore (freelance) because I do not get a good return on my excellent work and I reep the myriad of hassles of dealing with undesireable clients. {sigh}

    I can see from your suggestions that this has very much to do with my not being confident enough in my excellence and/or “hardnosed” in my evaluation of opportunities, as well as my strong drive to help people – at this point I’m fairly certain I have passed-up really good opportunities because of my past unpleasant experiences. What has brought me to excellence is my internal drive to it rather than external rewards. However, as I age, I’m wanting (needing, really) a good “return” on my youthful investment.

    Painful confessions, these, BUT they might serve as a caution to others…

    What I’ve learned more concretely here is that doing my work with excellence is NOT ENOUGH to succeed; I need to manage these aspects of client-relationship better. And I can see that this is healthy; it would not make me an arrogant a–, rather it is somewhat like the concept of (true) humility (as applied to free-lancing): knowing who and what you are without self-denigration and without self-exhaultation.

    SO, *thank you*, you’ve given me renewed hope and some great points to consider and apply!

    Take Care :-)

  23. Me
    Wed 19th May 2010 at 12:28 pm

    Just wanted to say, very cool.
    This is the goal for me to be a iPhone Developer.
    I have done many windows apps and just want something different.
    So in the last six months have gone far and will have apps out by Dec.
    I currently have 12+ ideas I plan to bring out.
    But for now read any and all I can to get more info. GRIN
    I just want to say thank you for a heads up in my future.
    Also the same rules apply in windows apps for me.
    I am an artist not a child playing paint. GRIN
    Thank you.

  24. Wed 19th May 2010 at 3:29 pm

    you’ve learned nothing if you still want to be a lamer for that DRM shit! but thats your work and I respect that

    checa esto http://rod.gs/vOb

  25. Zak
    Wed 19th May 2010 at 5:01 pm

    Good post .. couldn’t agree more with the McD’s vs Chef

    From your experience, whats are good ways to base (or support) your pricing on? What about updates and/or upgrades, how do you price those (if you ever do)?

  26. Wed 19th May 2010 at 5:03 pm

    Great tips – you really nailed it with point #3
    Too many people (clients and developers) are lowering their price expectations and standards and helping to add to the endless rubbish in the market – but quality shouldn’t be sacrificed

  27. mark
    Wed 19th May 2010 at 5:53 pm

    I actually like GetAppQuotes LOL – got hired for a simple small business app once and made almost $4,000… the trick is to stay away from those with “ideas” as they tend to have no realistic idea about what it takes to get an app going…

  28. sharpguru
    Wed 19th May 2010 at 9:29 pm

    Great article! I have learned far more in trying to deliver applications then I ever would in a classroom setting. I often wonder why schools don’t offer classes on how to start your own business, or actually make and sell a product. Our schools make workers, not entrepeneurs.

  29. 42Bastian
    Thu 20th May 2010 at 12:14 am

    Thanks for the insights and the links (esp. about Media Player :-)
    I think your experience can be copied 1:1 to the embedded buisiness.

  30. Thu 20th May 2010 at 12:33 am

    Very inspiring , i want to be an iphone developer and i barely know anything about , can you please tell me where do i start. I have experience with .NET technologies

  31. Thu 20th May 2010 at 3:29 am

    this is an excellent article!
    I am almost tempted to print it out and put it on the wall across my desk…

    seriously, it contains a lot of wisdom. Keep it going!


  32. Benjamin Prince
    Thu 20th May 2010 at 5:56 am

    This is amazing! It can be applied in all areas of Dev. consulting. Am adopting these ideas.

  33. Thu 20th May 2010 at 6:16 am

    Very useful post. Thank you.

  34. Sat 22nd May 2010 at 10:19 am

    Good article. I hope this works for you. I tried posting a comment about this article before but it has not shown up yet. I have been thinking about creating iphone app for some time now, but I’m hesitant. You do make it seem like that there is plenty of work out there for good developers.

  35. Sat 22nd May 2010 at 10:22 am

    By the way you really need to think about this color scheme. It shows up really cool on my laptop, however on my NEC lcd it shows up almost completely black and hard to read.

  36. Dave
    Sat 22nd May 2010 at 12:59 pm

    Great article.You made a few things easier for us. Thanks for contributing. I am in the web development field by the way but the same thing applies to my field.

  37. Andrew Hilliar
    Tue 25th May 2010 at 6:22 pm

    …that’s only 4…!
    Good common sense advice that applies to just about any development work, not just iPhones.

  38. Sun 30th May 2010 at 5:44 pm

    Every bit of this article is right. It’s sad that only developers who work freelance understand these things. Go to any government or big company developer and they will tell you that many of your points don’t make any sense.

  39. emrecan
    Tue 01st Jun 2010 at 3:56 pm

    your background and font is preventing me from understanding.

  40. Amanpreet Singh
    Fri 04th Jun 2010 at 4:14 am

    An educating article from a real experience … 😀

  41. asquare
    Wed 09th Jun 2010 at 12:08 pm

    Nice wright up, agree with all of this. This can be applied to most programming, design practices. I started using this analogy to clients when they ask for a discount. “Do you ask your mechanic or Doctor for a discount?” when they say yes its
    “hay thanks for the coffee gotta go”
    They have no idea what it takes or how much of your time is invested in their app. Technology has become well so easy it should just take you a few hours to build this right >”~”<

  42. admin
    Fri 11th Jun 2010 at 10:02 pm

    If you’re talking about justifying my prices to clients, I don’t. It’s a lot cheaper for me to let the client get a quote from another developer, and either take it, or not take it, than it is trying to sell the client. The halfday or so that it would take me to do a real sales presentation just doesn’t scale to the number of projects I quote. In another market, I might do something different.

  43. JJ
    Tue 15th Jun 2010 at 8:00 am

    It appears that the iPhone (or any phone) app market has its own business strategy that really does not apply to other software engineering markets. According to your article, there seems to be thousands of potential customers, each with a relatively short project (measured in weeks). I worked with a customer that had his “ideas”, one that you would probably turn down in a second, but with some coaxing (billable time), redesigned his ideas into workable ones. I then had a free hand at fixing his design.

    Go to a market with fewer clients with projects that can take months, even years, and you will not “walk away” so quickly. In fact, you will start developing customer management skills, working with the customer to bring them to reality, instead of walking away.

  44. Darren Gow-Brown
    Sun 12th Dec 2010 at 8:14 pm

    Well said, but perhaps buyer beware

  45. Sat 14th Jan 2012 at 2:13 pm

    In this day and in this digital/freeware/internet age, is there any hope out there for the man that comes to the table with nothing but an idea?

    I am a man with neither money nor technical background, but i have an idea that i am convinced could be extremely successful. Is there any hope for me to find someone that might help me realize that idea?



  46. Drew Crawford
    Sat 14th Jan 2012 at 2:36 pm

    I’m afraid not. Here’s Paul Graham’s wisdom on the subject:

    Actually, startup ideas are not million dollar ideas, and here’s an experiment you can try to prove it: just try to sell one. Nothing evolves faster than markets. The fact that there’s no market for startup ideas suggests there’s no demand. Which means, in the narrow sense of the word, that startup ideas are worthless.

    Your options are basically:

    1. Save a big enough war chest to hire the talent you need.
    2. Learn to do enough of the technical side to do prototypes and get traction.
    3. Come up with a better idea that you have the skills to execute already

  47. Sun 15th Jan 2012 at 6:02 am

    Ok, thank you for the advice!

  48. Sun 15th Jan 2012 at 6:06 am

    I guess i’ll start to look into classes on iOS development, then. :)

Comments are closed.

Powered by WordPress