So apparently John Casasanta from tap tap tap had a bad experience with a contract iOS programmer. Any sane, properly socialized person in his situation should have followed one of two paths:
Sue the guy for breach of contract (they did have a contract, right?) for all he's worth.
Or, better yet, fire him—or let him fire you, which is what happened from the contractor's perspective—then find another programmer and move on.
That is not what Casasanta did. He wrote this despicable blog post explaining the whole nasty affair to the whole interworld.
Reading both the lines and between the lines, this sounds to me like a case made complicated by both parties being a little bit stupid. The developer clearly failed to deliver on the client's expectations (which may or may not have been reasonable), but they may not have breached their contract. The client should have known better than to pay all of the money up front, should have known that that wasn't standard and was maybe a sign that something was wrong, and insisted on hourly billing or a more sane payment schedule.
At any rate the proper recourse in situations like these is what I said above: sue to enforce the contract, or suck it up.
Instead, he posts this list of suggestions for hiring a contract programmer:
- Don’t pay a single nickel up-front for any work to be done. Only pay when the work is actually delivered and only when it’s to your satisfaction.
- Do thorough background checks on all potential candidates and do your best to make sure they and their abilities are who and what they claim to be. (Daniel was actually referred by someone who was working on another project of ours at the time so we didn’t nearly do as much checking as we should’ve. Ironically, we had to get rid of the person who referred him because he didn’t get his job done.)
- Be sure to see actual working app examples of the things they claimed to have worked on in the past.
- If anyone ever proudly lists “rocket scientist” in their bio, do a much more thorough background check.
It's not that Casasanta's list is entirely dickish. You should always vet someone you're going to entrust with several thousand dollars and responsibility for your project. You should always ask to see working code, and on iOS, you should probably ask for links to live apps in the App Store. You may even want to download an app or two and try them out—for example, maybe the screenshots look good, but the performance is horrid.
And while I'd say it's fair for contractors to ask for a deposit or retainer up front, you should never, ever pay 100% of the money before you've seen any work. That's just ridiculous. And flat fees, while they can be lucrative for developers and can give businesses a nice cap on the budget, are a hornets' nest—they're great if everything goes perfectly, but they can turn an already tense situation toxic very easily. The developer overstepped by insisting on a five-figure flat fee up front, and Casasanta was a fool for paying it.
I'd almost rather not respond to Casasanta/tap tap tap's new approach to this project, where they're opening up the source code to the game in question as a crowdsourcing project, and promising the "winning"
sucker programmer a 40% share of the profits. (Profits, mind you, not revenue. Someone dumb enough to enter this 'contest' may not know the difference, so I took the liberty of Googling it for you).
While I acknowledge Casasanta has some—_some_—valid points and that the programmer he hired is probably a dick, he's an even bigger dick for doing all of this in public, then asking programmers to work on spec. I've kinda liked tap tap tap's apps in the past, but I can see why talented people don't want to work with them anymore.
It's hard enough out here for a freelancer without clients like this to deal with.