In this week's blogpost we share some advice from WakeupData's CEO, Dennis Cassøe.
In his guide he outlines the best techniques to use in order to find freelancers who are most experienced and relevant to your specific industry.
"Over the last half year, I have gone from never using freelancers found online to using them quite intensely, since it gives us a lot more development power at WakeupData. There might be things I still need to realize about this topic on picking the right freelancer, but I have already made so many good choices (and some bad choices initially!) that I wanted to give you my insights in this field.
The main issue is to find someone who:
- Has the required skill set needed for the assignment you have on hand.
- Matches you in regards to your style of work.
- Is able to communicate relatively fluently with you in whatever languages you have in common.
I can honestly say, that I have messed up a few times, but I have started to see a pattern on both the good and the bad ones, and therefore the framework below is the one I use when hiring freelancers online.
1: Picking a site
Start by choosing a freelancer site that has a freelancer base that is relevant for you. I am using multiple sites for different types of tasks.
2: Choose the right person for handling the task on your end and maintain the relationship with the freelancer
Before you post your task, if your team already has a Developer or a User interface designer on the team, make sure they take it from here.
Why? Because this removes a layer in the communication and they have a much better feel in a dialogue about who is the right match for them to work with than you usually do. BUT do allow them to make the wrong match, we all learn from it.
It might also mean you end up having multiple accounts on the same freelancer site for different people from your organization, but there is nothing wrong with that.
3: Post the task you have.
This can be a bit problematic, if there are secrets you do not wish to share or client information you cannot show (for instance with UI tasks).
Therefore, the way to go is share as much as possible without oversharing. Share not only the task details but also the requirement for the solution (if you have any). Remember they do not know what you know about the task, so do not take anything for granted.
Some of the things to specify if possible:
- A specific programming language (and hosting environment).
- The level of documentation.
- Your own skill set (so they know if you can help out on problems or if they have to deliver a 100% done solution). Remember, they are humans like the rest of us.
- If there are areas where they are allowed to explore various solutions (We all thrive on having a chance to find a better solution).
- If there are country specific details, that might not exist in the freelancer’s country, describe them. In Denmark there is a lot of things that are odd for a freelancer from India (and the other way around), so if you don't describe it, how will they know it exists?
- Inform them of your time frame. Is it urgent or not? There might be a good candidate out there, that can't solve it in the next week, because they are busy, but then would have time. Why miss out on those?
- Often you have to define if it is hour based or fixed price. And be fair, if you were in the recipient end of the task, what would be the best match. Remember that good developers/designers are able to see if a case is relevant or not. So, if the task is very clearly defined -> Fixed price, if not, accept that it will be hourly based.
If there are elements you cannot share initially, let the freelancer know that you will send that in the chat dialog you will have with them before hiring them.
4: Thinning out the field
When the task is posted, delete all incoming replies from the first 5-10 minutes. Most of those are autogenerated anyway and it is doubtful that a decent skilled UI designer or developer would be that fast in seeing your post, thinking about it and replying to it.
Example of an auto reply:
Remove your prejudice based on their location. I have had some of the best experiences with developers from Thailand and India, and my worst was with a developer from a Western country.
Wait half a day before contacting any of the candidates. This gives you an idea about the field. Who was interested, what questions do they ask (if any), what are the projected price range for the task?
Contact those that:
- Can communicate with you relatively fluently in writing. (I have so far kept away from communicating with them verbally, since I might end up with some bias) So many are great at communicating in writing, so that is fine by me.
- Have actually read your post - some send very generic replies to your task, that are of honestly no relevance and clearly show they haven't read it.
- Seems to have the skill set needed.
- And don't just pick those with the shortest delivery time (no one says it will hold anyway), have most stars (they are sometimes just sourcers, that source your task on to another one, but get the credit) and have the lowest price (unless you really don't care about the result). Not that you can't use these parameters, but do not let that be the only things you decide upon.
Contact between 3 to 5 of them and have a chat with them. Notice if:
- They ask questions of relevance.
- Come up with some insights you had not seen yourself.
Remember to be honest. I usually tell them, that I am in dialogue with x others, to find the best match for the task at hand - don't waste their time. So, if you know they aren't relevant, drop them in a pleasant way from the field.
5: Working with the freelancer
See them as an employee. Treat them as a member of you team. Why?...
Well you might of course just be looking for a cheap quick fix for a problem. But I look for longer working relationship. If I like the freelancer, I want to work with him/her again.
If they ask questions, answer them as soon as possible. If they get stuck, help them out if you can. Of course, they are a contract worker for you, but still, I think good relations are important. (Especially if something breaks in their code 3 months later, it is a lot easier to come back to someone you had a good dialog with).
If the task increases, accept that they will need to be paid more, or remove some of the tasks from the job. Some of the tasks I put out end up being at least twice as large, so of course they should get twice the initial discussed pay.
6: Rate each other
When a task is completed, remember to rate them. This also means they rate you, which makes it easier to find more good freelancers.
If you are interested in seeing the feedback I give and get, I'll pm it to you :)
A couple of extra pointers
I like to post small tasks first, when I need a new freelancer. This is just to test them out and I accept that I might end up losing money on the wrong candidate. However, if I do find the right one, they get a lot of tasks from me afterwards.
One of the best freelancers I work with (yes still passing tasks his way) had to give up on the first task he worked on. But he was honest about it, and what he made was good, but sadly he got stuck. I always rate honesty very highly and since I know he was open on the first task, he will be honest as well the next time.
As a last note: If I expect that I will work with a given freelancer on multiple occasions, I ask if they wish to go outside of the freelancer sites on the following jobs, and just do it through skype and invoices. It gives greater flexibility and they don't have to pay a cut to someone else.
Thank you for taking the time to read this article.
I hope it was valuable and if you have some tips, ideas or comments, don't hesitate to post it. I really appreciate all the feedback I can get.
And if we aren't connected, please do send me an invite :)