I operate a web development firm with an increasing volume of work. Rather than hire local developers as full-time employees, I've taken the approach of working with a network of remote developers who work as independent contractors. I've made contact with over a dozen developers, all of whom are well-qualified and seem enthusiastic. Here's what I do with each one:
Once I send the initial project info, I get a reply back stating that the developer will start work on it the next day... Then, nothing happens. Two weeks can go by, and I hear nothing. At that point (or sometimes after one week) I email the developer to ask about the status. They promise they'll start it real soon, but never do. In the meantime, my client is fuming, and so after several weeks of nothing, I end up canning the developer and pulling an all-nighter to finish the work myself.
This same exact scenario has played out with 13 out of the last 14 developers I've tried. What am I doing wrong? What do I have to do, to get some reliable subcontracting help? Or do I really have to go through that many of them to find some good ones?
Outsourcing Developers Sub Contractors
There are other onstartups posts here and here that may provide some insights on dealing with delivery delays.
Also - here is good thread about how different startups approach remote teams. The story that prompted the discussion is also relevant.
Outsourcing is always a challenge - communication problems quickly become amplified. Having a set methodology on how units of work can be delivered, where work is stored / updated / tested, and how questions & answers get addressed really matter. Its more difficult than simply assigning work via email - but it pays off in productivity / delivery.
One of the challenges is that you likely are dealing with a model where independents work on a single project in isolation. With a common repository (git/bitbucket) you could collaborate on the first projects - and have a better handle on WIP.
Some additional areas to consider:
Hourly rate - perhaps the rate you consider to be appropriate... isn't. Sure, it might be acceptable for a entry / junior developer that needs to make the trek to the office - but you are looking for someone who is self motivated & more committed to development as a business. That likely will require more - especially if you are not committing beyond a single project.
I can explain this with respect to to India in general. Freelancing is not a profession here in India. There are hardly any full time freelancers available for work.
Most of the developers you contact or hire are already working somewhere else. IMO, most of the times they will not have any time on weekdays for any extra work. Maybe an hour max. As Indian multinational companies usually have a strict 8.5-9.5 hour time-sheet requirements. Plus people usually travel 1-3 hours daily as well.
Culture plays an important role as well. The social conditions in India are quite different than Europe/US. Most of the female above 26 years and male above 28 years are married. Plus they might have a kid to take care off. So family, full time job and long travels is not a recipe for taking up freelancing, in general.
General suggestion is to find developers who are regular freelancers or are aware about seriousness of freelancing. Freelancing is not taking up work and if you find time it will be done else its down the trash bin. I have seen quite a few small software development firms using this formula. They usually have a single developer working on multiple projects and usually some work gets rejected due to overload or lack of technical skills.
You really need to scan the person very well during initial discussions. I don't think its wrong to ask someone that how he or shes going to find extra hours out of their busy schedule.
Scan the developer's resume very thoroughly, ask some technical questions if your in doubt, make sure he/she can get the job done. Once your satisfied, work on a schedule, be a little flexible and never pay upfront!!.
A good freelancer will inform you in advance if there is some delay or the work has to be postponed due to some reason.
Plus talk to them to make sure they have understood the requirements well. This will also give you an assurance that the developer has spent some time on the project.
Disclosure: I have been working as a freelancer for over 2.5 years and run a very tiny start-up in India. And yes, you can contact me regarding work as well.
Quick Summary: talk to them more, nag if necessary.
Having worked both sides of the outsourcing process, the sad truth is that the noisiest client is the one I do work for first. You say: I don't flood them with emails, because I know how hard it is to concentrate when emails are coming in every 2 minutes ... Two weeks can go by, and I hear nothing. At that point (or sometimes after one week) I email the developer to ask about the status. Two minutes is too much, but two weeks is far too little. If you're paying weekly, it is reasonable to be discussing progress once a day. Also, phone calls are more distracting for me, personally, than email. If no reply to a request for status email by the end of their working day (allow for different timezones), give them a call near the start of their next working day. Use video call if you can, as seeing faces makes both of you more human, and less a mere SourceOfIncome.
The other thing you need to be aware of is that projects for freelancers come in bunches. You give quotes to two or three clients, and give a deadline based on getting one of them. Then you either get none of the jobs, or you get all three! Unless used to this, the overloaded freelancer will tend to either work on the best-paying job, or the most-interesting job first. They may also be over-optimistic, think "if I'm lucky I'll find a way to get them all done in time!" and so not give an adjusted deadline to their client.
If you're talking to them once a day, you'll know they are working on your project. And because talking to them brings your project into their brain, they are more likely to spend time on it every day.
P.S. You sound like a very fair, and organized, client; if you contact me directly, I may be able to help with your projects, or put you in touch with someone suitable. (Depending on the skills you are looking for, of course.)
It generally is difficult to find reliable employees or subcontractors if you don't meet them face to face and don't ask for references so with your approach you may have to go through many many people to find the right one.
My number one suggestion to you try looking for subcontractors locally, so you can meet face to face and you could judge for yourself what kind of person he/she is. You also would have easier time checking their references.
If you do decide to go remote, ask for references and if possible do a background check wherever possible. In addition to that just tell them that the project they are working on first will be a test project for you to evaluate them.
Of course, for the more paranoid mind you may be simply being debriefed about the project you're working on.
I would suggest you outsource to Eastern Europe instead of India. Cooperating with Indian companies, you can face many misunderstandings and problems. 1. The time difference with the United States and Canada is the worst possible. 2. Indian culture is very verbal, and they don't like to write reports and other documentation. 3. India just went through 15 years of the programmers boom. This profession is very trendy in their country and many low-qualified specialists appear. 4. They are disorganized and extremely difficult to motivate. 5. They never say “no”. That's the part of their culture. 6. They have a difficult time taking responsibility and are very good at excuses.
Working with European IT-outsourcing companies from Poland or Ukraine, you will get measurable results. Let me know if we can assist you in software development.