This is part 4 of the Building successful MVP with offshore team.
This is part 4 of the Building successful MVP with offshore team.
Where to go?
One man said:
If you need a code – hire developers from India, if you need a solution – from Eastern Europe.
India and Eastern Europe supply most of the offshore developers. There are very common advantages and challenges working with developers from these regions.
Indian developers work best when you need very common applications like CMS, e-commerce, social network and so on. They can deliver such application very fast and with an acceptable quality. Their English is good, but time difference can be a challenge. Also, they tend to work with older technology stacks. Nothing wrong with that, of course. But if later you consider growing the engineering team in-house, this may present some challenges.
Eastern European developers work better on a project that is unique and requires more research, like IoT or ML applications. The time overlap with Eastern Europe is better, but English may be more challenging. Focus is another challenge. Quite often these developers are more interested in writing code rather than delivering a working product.
There are also good developers in Western Europe, Latin America, China and the US, but I have less experience with them.
Selection criteria
Here are the criteria that I use to select the candidates:
- hourly rate that fit my budget; check the actual rate that freelancers have charged on recently completed jobs because quite often it’s lower that posted rate
- region (see above)
- agency – in most cases I try to go with agency rather than a single developer; agency can provide more people if needed or substitute a person if developer is sick or on vacation; but they can also quietly “downgrade” you – give you a senior developer at first, but then replace him with a junior one without telling you. Yes, unfortunately, this happens.
- total hours worked, especially recent hours
- success rate and feedback.
Select 5 – 10 candidates and invite them to apply for the job.
Now, about the fixed scope. I would not recommend doing it. It almost never works. Because you have to prepare a detailed specification of the whole application upfront. And whatever price you get will be wrong, because at that moment for most of the freelancers its important to get the job and they will underestimate the effort. It’s better to describe what you need in general, get a rough estimation and then multiply it by 2. The actual time and cost depend on how well you will manage the project. I’ll talk about this later.
When you select candidates, ask for their work – anything that they can show you, whether it’s a completed application or code. Check it, but you cannot be sure that this is really the work of that developer.
Now you have your candidate and ready to go ahead full speed. Stop, don’t do it. Test the developer first. Select something small that should be developed, like Sign Up feature, or Forgot Password or list of the blog posts to show. The developer should be able to get it done in 2 – 5 days. Ask the developer to give you an estimated completion time and work with him. When the feature is done check the following:
- whether the actual completion time is close to the estimate
- was it easy for you to work with the developer
- how many bugs you found in the completed work
If you don’t have any red flags, then hire this person for the rest of the project. Otherwise, pay for the completed work and try the same process with another candidate until you find the right person. Yes, you can loose some money short term but will lose much more if you will continue with the wrong developer.
[…] This is part 4 of the Building successful MVP with offshore team. […]