I’ve got friends doing mobile app start-ups, and a couple of them rely on freelancers to develop their apps despite my advice not to. What I’m about to write is a generalization — not all freelancers are bad of course, but despite honest intentions, it’s usually not a good idea to hire freelancers to build your start-up’s app.
The reason is this: Incentives aren’t aligned. Entrepreneurs want a high quality product, one that will require many iterations. Freelance developers want to complete the project as quickly as possible. You will get a lot of unhappiness as a result of these two differences.
Prior to feecha, we built digital products for companies, so we understand the pressure freelancers face. The biggest cost is time: the more quickly a freelancer can complete a project, the sooner she can receive payment and move on to the next project. So it’s in her best interest to define the project brief as exactly as possible and deliver not much more. Every time the entrepreneur wants to change something, it comes at the direct expense of the freelancer; unless the freelancer can convince the entrepreneur to pay more. Not an easy conversation.
This tension is exacerbated for tech start-ups because entrepreneurs are often trying to build something new and innovative — how can she clearly define the project brief when there’s so much uncertainty as to what will work and won’t work? That’s what building a minimum viable product, getting feedback and iterating is all about. Building an app isn’t a finite project; it’s an infinite process of continuous improvement. Freelancers don’t want anything to do with infinity unless they’re getting paid for it, and entrepreneurs certainly can’t afford that.
Worse, non-techie entrepreneurs won’t know how to evaluate the freelancers’ efforts: is the code any good, can it be scaled, can development be taken over by someone else? And so on.
We are consulting for a large company on their app, and it’s obvious they worked with a bad freelancer. For example, the app doesn’t cache — content is downloaded again and again even if you’ve seen it already. Everything about the app is slow. Scrolling lags. These are the kinds of details most freelance developers won’t bother with. They don’t get paid more to make incremental improvements; they get paid on features and on timely delivery.
Yet, it is these small details that separate a great app from a poor one. At feecha, we slave away to make everything as smooth as possible; we re-factor over and over so we can shave off loading times; we change whatever’s necessary to improve the user experience. This kind of investment only makes sense when you’re creating something for yourself, something you believe in.
Imagine the following scenario. You’re the app developer. You can make the app load one second faster, but doing so requires working past midnight. No one is paying you extra to make this improvement. Do you make that sacrifice as a freelancer? Not likely. If pushed, you’ll “manage” your customer to believing the app is about as fast as you can make it; she won’t know any better anyway as she can’t program.
When it’s work-for-hire, you do just what you’re contractually obligated to do, and move on.
Not exactly the foundation for great things.
If the entrepreneur is working on something worthy, she should be able to sell her idea to a developer. She should be able to persuade a developer to work full-time on it and on substantially lower pay (in exchange for equity) if necessary. The developer should believe in the idea enough that she will work midnights to improve it, even when not one asked her to.