Hi guys - I have no programming experience and hired an outsourcing company to create an iPhone app MVP for my idea. The first iteration looks good (and works), but before I give them money to do more work , I'd like to get a 3rd party opinion on the code quality.
The easiest way for me would be to hire a freelance developer to perform code review and provide me a honest assessment of what lies under the hood. Few questions:
1) Is this a good approach, or are there better ones?
2) What type of costs should I expect? Hourly, Fixed, etc.
3) As this reviewer will be remote, what steps can I take to protect IP, lines of code from being used for their own purposes, etc.
Thanks much
NC
For the code review, plan to hire someone mid-level to senior - with at least 5 years iOS development experience and several apps shipped to the App Store. (And check those app reviews - don't hire someone whose app crashes a lot!) That will mean a higher hourly rate, but they'll know best practices better. You can hire them on a per-hour or a per-project basis. The number of hours will depend on the size of the codebase.
Code is harder to read and understand than it is to write. It takes far longer to read a chunk of code than it does to read a similar number of characters of non-fiction prose. For a small codebase, the reviewer should be able to finish in 1-2 weeks. For a sprawling one, it could take a couple months. Get an estimate from anyone you consider hiring.
You've already gotten decent advice on NDAs. My experience is that they're not really enforceable in many common outsourcing destinations for both legal and cultural reasons. And that in the US and other "western" cultures you don't really need them if you're dealing with someone operating in good faith. But in either case they can't hurt as a CYA move.
Good luck!