Welcome to part two of my outsourcing series, which is a follow up on my previous post – finding
Many of you have asked for me to share my experience hiring offshore developers since I have a fair amount of experience in this field.
I am currently going through the process of hiring my own developer for a new project and I wanted to share with you my lesson learnt from past and present experience, when it comes to hiring an offshore developer.
Thank you for sharing and dowloading this PDF, it is much appreciated!
There can be many reasons to outsource the development of a project, however they will broadly come under just 2 reasons.
Lack of Time
We all have the same number of hours in a day, there's no getting around it.
If you want to create more time, you're going to have to pay for it.
Internet marketers, SEO's and Entrepreneurs are renowned for tackling lots of different projects at once. Very few manage to dedicate the time and effort it takes to get all of these up and running and ultimately successful.
I have learnt from experience that unless you choose the right people for the right tasks, you can quickly drown under a mountain of unfinished projects and broken dreams.
Lack of Skill set
I want you to stop for a minute and ask yourself one question;
What are your strengths when it comes to your online business?
If programming/developing didn't make that list of strengths, then you need to outsource your development tasks.
This falls nicely in line with ‘Lack of Time', if you lack the skills to complete the development required, one you outsource, you ultimately create more time for yourself.
That time can then be spent on using those strengths that did make the list.
Where to find Quality Developers
Here is a list of sites that I have used that offer developers for hire;
- UpWork (formally oDesk) (fave)
- eLance.com (recommended 2nd choice)
Everyone has their own preferences when it comes to hiring. Personally, I prefer UpWork (formally oDesk) over the other platforms, purely because I know my way around their interface and they have some great features like auto billing, which saves a lot of time.
What works for me may not work for you so have a look at them all, heck you could list the same job on all 5 of the above sites and see what response you get. You don't have to hire anyone if you don't see anyone up to the job, so there's really nothing to lose by testing them all.
What Should You Pay?
I will make this clear from the outset;
RULE #1 – DECIDE ON A BUDGET AND STICK TO IT
You have 2 options when it comes to paying your developer, fixed price or hourly. The length, type and skill set required will ultimately determine which method you choose.
Fixed Price – As a guide if a job will take less than a few hours to complete I will ask for a fixed price.
Hourly rate – If the task is more of a project and things are likely to crop up, then I will ask for an hourly rate. I prefer this option as I can control the number of hours worked each week and it allows for flexibility on the project.
Both options have their pro's and con's and each developer will have their own preferred method. Just ensure that you know your budget and that you stick to it. Costs can spiral out of control way too quickly if you don't.
Writing The Job Description
I tackle hiring a developer slightly different to hiring a content writer, purely because the cost implications are very different. If you hire the wrong person and they screw up your site, or waste hours of your time and get nowhere, you're in trouble.
Here is an example job description I have used recently to hire an offshore developer, who's task it was to improve a business I purchased on Flippa.com.
I am looking for a competent programmer to work on my existing site that has already been built on the front end and also includes an Administration panel on the back end.
– Understanding of SEO is beneficial
I need someone who can add additional functions to the administration panel and also schedule the updating of the database each day.
There are already functions similar to this however I need additional functions adding.
The site uses a script that pulls information from a data source, adds it to the database and displays it on the website.
Please apply starting with the word TIGER so I know you have read and fully understand the job description.
I am looking for someone who can work quickly and follow instructions carefully as this is a live website.
This job posting received a total of 158 applications, which goes to show there are plenty of talented people out there looking for the tasks we have.
That does not mean that all 158 applicants were suitable however, we need to weed out the poor applicants and those that are clearly unqualified or too expensive.
How to Decide on a Developer to Hire
The first step is to weed out anyone who doesn't use our “crazy word”. If you read my previous article on hiring content writers, you will know what this is.
The “crazy word” is basically any word that doesn't fit into our job description, I like to use the word “TIGER”. We ask that each applicant starts their application with this word.
This serves multiple purposes;
1 – We can immediately tell who has read our job description fully (as we place the crazy word towards the end of the job listing)
2 – We can remove those with a copy/paste job application and only keep those truly interested in our project.
3 – We know that our shortlist candidates have a good enough grasp of English (as we are hiring offshore developers, a surprising number will not understand the “crazy word” step)
How to Create a Shortlist
The shortlist is our saviour. With 158 applicants, which is not out of the ordinary for UpWork, we really needed to get to the quality developers and quickly. It's time to be ruthless.
- Decline any application that DOES NOT start with our crazy word – yeah you may like that guy who will work for $1/hour but seriously get rid at this stage.
- Decline any hourly rate that you cannot afford – there is no point dwelling on those developers you cannot afford. There will be a wide range of hourly rates, anything from $4/hour to $100/hour.
- Decline any application where the opening paragraph doesn't read well or makes no sense – this is one of my biggest timesaving tips and will cut out those that talk utter gibberish. It's not their fault, it's just that their grasp of the English language needs improvement. You are going to be communicating daily with this person and want their written skills to be at least a good standard.
Contacting the Shortlist
With developers, I don't take the same hire and fire approach I do with my VA's and content writers. What I do is have them explain to me in their own words exactly what they will be doing on this project.
Again there are many reasons for doing this;
- We can see the response time of the developer
- We get a good indication of their English and communication skills
- We are testing their understanding of the job
Here is what I send to each candidate that ticks all of the boxes;
Hi [developer name],
I am considering you for the role of [insert role]. Before I make my decision I need to request a couple of things.
Please can you detail your experience with MySQL & PHP and in particular scheduling scripts to run automatically? (cron jobs etc).
In addition please provide an explanation, in your own words, what you will accomplish during this project.
If you have any suggestions or improvements, please also include them.
The website for this project is [insert website]
Obviously you can change the text to suit your project but you get the gist. Be clear and straight to the point.
Want to know who my winning candidate was? Check this out for an application!
”This is not an copy-paste cover letter so please read it briefly”
I have 3 years experience in PHP/MYSQL and can easily understand any Queries in database and can fix it in Quick time.
I can provide you net and clean bug free code.
W3C standards, SEO and capabilities of different web browsers are factors I always keep in mind while designing and developing web content.
with great experience in core PHP and custom CMS I have 250+UpWork hours with feedback 4.33
here are the some of mine work in PHP-
website 1 – (Ajax and PHP)
website 2 – (PHP)
website 3 – (PHP & JAVA SCRIPT)
website 4 – (PHP, MYSQL)
website 5 – (PHP)
I have done more work in codeigniter and wordpress as well
if you need than I can show you that as well.
My skills set are
PAYMENT GATEWAY INTEGRATION
API DEVELOPMENT and IMPLEMENTATION
ADOBE CREATIVE SUITE
SOCIAL MEDIA MARKETING
I am waiting for your response and looking forward to work with you.
I am willing for a conversation on Skype.
If you're wondering why I liked this application so much then you need to read over it again.
He literally had me from the very first sentence and made me want to continue reading.
- This line “‘This is not an copy-paste cover letter so please read it briefly” shows his understanding of the timewasters on UpWork and he points out that he is not one of them by doing so.
- He provided great example work which were active websites that looked great and were fully functional.
- He used my “crazy word” as the first word in his application
- The first skills he listed were PHP & MySQL which are the two skills I asked for
- He pushed Skype – this is a developer who is confident in his abilities, from both a technical aspect and spoken English
- He signed off “Sr.PHP Developer” – this shouts team leader to me.
Often you will have developers that actually work as part of a team and combine their efforts to complete your project. The beauty is you only pay 1 hourly rate. I have hired my fair share of developers and this happens more often than not.
Don't let it put you off, in fact it is great knowing you have 4 guys working on your project whist you only have to speak to 1 guy and pay 1 fixed rate 🙂
To give you an idea on what I pay, I hired this developer for just $4 per hour….!
How to Manage Your Developer
I won't sugar coat it, managing a developer takes a certain amount of time and effort. However this can be drastically reduced if we follow a few simple steps.
I manage my Developers quite closely. For example over the first few days I request that they update me via a quick Skype message on their progress.
Here are 5 things you can do to help manage your VA effectively:
- The “Good Morning” message – Each morning when I sit down in my office I drop the VA a message via Skype simply saying “Good Morning”.
I do this for a number of reasons;
- It opens up the conversation. Rather than just diving straight in with “where is my update”
- It's a nice way to open the conversation and develops a good rapport with your VA
- It lets them know you are on the ball and ready to work
- DO NOT allow Manual Time – On most of the freelancing sites there is an option to allow “Manual Time”. This will allow the developer ‘offline' time. When working on a website there should be no offline time, so don't allow it.
N.B – It seems UpWork have removed this option now when creating a job, as part of their recent job listing upgrades.
- Provide a working document – This doesn't need to be anything too elaborate, just a MS Word doc with a list of tasks in the order you would like them to be completed would suffice.
As an extra tip, I simply upload this to the root of the domain they are working on and have them check it each morning for any changes I have made. This removes the need to contact them and explain it!
- Ask for an estimated timescale for each task – On the working document, have your developer add the number of hours/days they estimate the task to take. This will allow you to budget and also raise issues if deadlines are not met.
- Ask the developer to explain each task to you before they carry it out – This step is awesome and even if it's just in email or UpWork message format, you can quickly spot if the developer if off course.
The 5 Rules to Success
So to recap on the 5 rules that will give you the best possible platform for a successful developer relationship;
RULE #1 – Decide on a budget and stick to it.
RULE #2 – DO NOT allow manual time.
RULE #3 – Request a Daily early morning catch-up Skype session.
RULE #4 – Have a working document of tasks in the order you would like them completed, with timescales added.
RULE #5 – Don't be afraid to ask questions or for the developer to explain why something will take longer than expected.
To sum it all up, hiring an offshore developer is both rewarding and nerve wracking at the same time.
The rewarding parts come from the time saved and of course seeing your project through to completion. The nerve wracking parts fall in between and whist there can be some testing at times, once you find your feet you will be glad you chose to outsource.
If you have hired you own developer in the past, which platform did you use and do you have any tips you could share to make the process even smoother?
– Lewis 🙂
top image courtesy of Tsahi Levent-Levi