Don’t Put Your Money Down The Drain When Working With Software Development Agencies And Freelancers

Gaurav Shukla
FarziEngineer
Published in
3 min readNov 6, 2019

I go to a lot of startup events and meet a ton of people abuzz with ideas about cool new software product. They are all out on the hunt for the best quality work and the cheapest possible agency or a freelancer to execute their beloved idea.

And rightly so, but one thing that needs to be said and understood is the fact that you get what you pay for. You pay pennies you get shit or even worse you get a shitty product that has been sold to many others.

“So what do you think about this idea and how much would you charge for it ?” — This is how most of my conversations at these events end. I mostly refrain from providing any quotes upfront and my usual answers are “It depends”, “I’ll have to analyse further”, “ I can’t put a number to it yet” and many other variants of the same thing. And even when I do provide a number the haggling follows and that’s my cue to end the conversation.

I have seen a lot of these product owners put their money down the drain by opting for the cheapest bidder. I am not going to question their choices because money is something tangible while code quality and software expertise is abstract, something which can’t be measured immediately but only experienced in the long run.

So here’s what general precautions you need to take to avoid getting duped by agencies and freelancers -

  • Always ask for previous work
  • Ask for some client references and talk to them about the delivery timelines and how responsible the freelancer/agency is
  • Setup an escrow account if the project is long or divide it into milestones and make payment of each milestone after delivery of that milestone
  • Most important — “Get someone to periodically review the code”

Get Your Code Audited

I have seen agencies write extremely shitty code after taking huge sums for trivial projects and I have seen freelancers write shitty code for pennies lacking the expertise for the project. Whatever be the case the Product owner is always on the receiving end.

Solution is to have third party audit the Project Plan, Milestone Break Down, Test Plan, Architecture, Deployment Plan and Code Base periodically.

Choosing the Third Party For Audit

These audits should be done by someone who is very experienced in the similar domain and is completely unrelated to the freelancer or agency developing the product.

He can be your friend or a friend of friend or may be another freelancer but make sure he’s very talented because there’s no point in getting code reviewed by someone who himself would write the code same way.

He should be someone who is a quick learner, Language agnostic software developer and someone who has handled large scale systems in the similar domain so that when your awesome new idea suddenly goes viral you don’t have to completely start from scratch because the current product can’t scale.

This guy should have some knowledge of Software Licensing and Privacy Laws (Very Important If operating in EU) so that you don’t get caught up in legal issues later on. He should not be an expert in it since “Law” and “Engineering” are wildly different domains but he should be able to point out when something seems fishy.

Budgeting for Audit

I often use 10% of the project cost as a thumb of rule. if your freelancer is charging you 10000 USD then keep aside 1000 bucks to validate that your 10000 spending is justified and you are not getting duped.

When To Audit

I prefer to keep a weekly sync up with development team where I randomly question the software choices they are making and advise if I find something out of place. This strategy works best if the project is just starting out and is going to last more than a year. Since the cost of rework 3 months down the line is going to be exorbitant.

For smaller 2–4 month project I prefer audit after every milestone and first one just before starting the project and finalising vendor.

So that’s all folks, hope this prevents someone from getting screwed by these low cost software shops and freelancers.

--

--