How to hire a freelancer – 10 lessons learnt

These days everybody are full of ideas but no time to make these happen. Same here, I have great business ideas every a few weeks but while working full-time on my day job I have hard time to implement these on my own and all my friends are also very busy.

I decided to try out the service to find affordable quality help to my projects and so far I have not been disappointed while following the below steps.

1. Write down IN DETAIL what you want to be done.

Before posting a job to make sure you have as detailed as possible overview of your requirements. This is called BRD – Business Requirement Document. This must list everything like, user must be able to register, user must be able to login etc. Programmers can take this doc and can implement every feature step by step.

2. You will start getting contact requests from everywhere

Depending on the clarity of your profile the providers will find you and suddenly you see emails and Skype contact request coming in from people you don’t know. This is because fees for using the freelancer finding websites for programmers are quite high and they might hope to get around it. Second reason is that getacoder own chat is monitored by staff and you cannot discuss freely with developers being afraid that  you violate some terms, for example tell the company webpage that has contact details.

3. Don’t hurry, first bids will be most expensive

The more expensive development company is the more marketing effort is put into it. There are people who send you bids already next minute your job was posted. You are online and engage into chat with them and all looks good. Then they want immediately start working and ask you to award the job to them. One of my project had average bid 1000USD, highest bid of 2600USD(same day) and lowest 350USD which came a few days later. Also because the bids are public then usually every next provider tries to bid lower than previous.

4. Be very careful at what you believe from providers

Many of them have hired professional salespeople BDM – Business Development Managers. These people know psychology and can sell you anything. You cannot automatically trust that they have big companies behind them even if they might give you the link to company website. All portfolio might not be developed by them. What you can believe is when asking them specific questions to understand if they understand the technology but again you are talking to salespeople not developers so they might not know every little detail. I have started to use test tasks to understand the skill of developers. Give the developer specific task to solve that involves critical technology and areas of your project. This testing job must not be time consuming and maybe involve less than half an hour of coding from skilled professional.

 5. Use clearly defined milestones

In the unfortunate event when you should not be satisfied with you developer then you don’t want to lose lot of time and money because of it. So before awarding the project you must agree a few milestones – what features are developed by which date and how much money you will pay by this time. This is where best feature of – the escrow comes into play. You are able to upload the funds into getacoder escrow deposit account bit by bit. Minimum first payment while awarding the job is 30% with step of 10% and you can release every single escrow deposit by 10% increments. This gives you very good flexibility of when and how to pay the programmers. Once every new feature is done the programmer gives you source code and you will give him little bit more money. On the other hand if you are not satisfied with coders for some reason you can cancel the project any time and continue with possibly new programmers while risking with only minimal amount of money and time.

7. Stay in touch with the coders

Since programmers do not know your business well then you have to keep them on track. Even more importantly it is in human nature to delay work until it is too late. If you are asking about the progress then this motivates the workers not to wait till the last minute. In the same time it is very important not to disturb the work of a programmers. Be ready on your side to always answer the programmers questions, every time something is not understood then work usually stops.

8. Check the work thoroughly for all issues at the milestones

You are requesting the work and before accepting the work you are responsible in checking if the delivered project meets all the standards. This is called UAT – User Acceptance Testing . Go through every feature you requested, do stupid things normal user will not do hoping to break down the system, check all the cornercases. In these days you cannot forget the security, make sure all inputs and outputs feel sanitized and you cannot find anything that can be called XSS, CSRF or SQL injection in there.

9. Keep track of all the issues

When you mention the defects or change requests in the usual conversation over e-mail of Skype then these tend to be “forgotten”. You must write all the issues down into some tracking system that you all will see and nothing gets lost. There are solutions like JIRA or Redmine or Trac but these are in most cases little bit of overkill. I suggest you using very simple, free and flexible service . You can create board for the project and invite all members to join there. Each board has lists, I am mostly using “To Do”, Doing, Done and “Confirmed Done” lists. First I will write all issues or Cards, Done is will doublecheck if it was done like asked and finally only me will drag the cards to “Confirmed Done” list. Trello allows to add attachments to Cards and comment them, there will be trace of log for every action.

10. Keep your calm

There will be times when developers look stupid as hell and never do nor understand what you need. It is best not to ruin your relationship. Just talk and discuss the issues in constructive environment. Do all you can and to explain all the developers need without accusing everybody. It is usually better to finish the project with one team of developers and you never finish it once you have started arguing. If nothing helps and you cannot continue working with the developers then you have lowered all the risks by point 5. and you can take the decision to hire another team to finish off what was left undone.


As a conclusion you will get lot of opportunities with and if you follow my hints then you will succeed in getting the best service with the best price. This is best option for you if you are lacking more time than money that is usually the case with professionals. Please leave your experiences with freelancer sites into the comments and share the page if you found the information here useful.

If you found this post useful then please share 🙂

1 thought on “How to hire a freelancer – 10 lessons learnt

  1. Many thanks for sharing ideas, its really hard to deal with a freelancer.

Leave a Reply

Your email address will not be published.