Offshoring · Web Development

Is there a site that rates developers?

Rand Strauss

February 17th, 2016

My off-shore developer turned out to be a nightmare. Slow, bait-and-switch, then went dark as soon as I paid the second payment. He appears to have the emotions of a 2-year old when something bugs him. Once he was bugged, he couldn't even articulate what it was.

Is there a site that rates them?

Besides wasting about $7k, he cost us an extra 6 weeks. I'll sue him, but I'd still both like to downgrade him to spare others the heartache, as well as try to ensure the next one is better- though I'm having someone experienced at hiring such people help with that as well. 'Live and learn. Apparently they like to get paid before they work, but next time we'll only pay weekly and when goals are hit. And there'll be more in the contract... Education is expensive...

Michael Barnathan

February 17th, 2016

You actually learned that lesson fairly cheaply, relative to what I usually hear. I doubt you'll be able to effectively pursue legal action against someone in a different country - you might want to try negotiating with them. Or if getting your product out quickly is more important than what you spent, just eat the loss, scrap their code because no one is going to want to build on it, and find a reputable developer. Time spent pursuing them is yet more time that your product isn't being built. There's no independent website that I'm aware of where you can complain about developers, unless you book them through the site itself (e.g. UpWork). If the country you're booking them in has a BBB thing and they're big enough, you can try that. Recognize that this lack of formal mediation infrastructure is a hidden pitfall of going to cheap areas of the world. Since it sounds like you're planning on doing something similar again, you might want to at least check out a gig site that vets its talent, like Toptal. You'll pay more for it, but probably still less than a senior domestic developer. Your other alternative is to find a capable junior dev here. Milestones are always a good idea no matter who you hire. Do it in two week sprints, ask for demos of work every sprint, pay when the demo succeeds - this degree of project management is overkill for a small number of trusted senior people (you'll slow them down), but invaluable when dealing with a questionable team. Learn project management, PMs live this on a day to day basis.

Zhenya Rozinskiy Partner at Agile Fuel

February 17th, 2016

This is turning into an anti-outsourcing fight. You can find very poor quality developers locally and remotely, just like you can find high quality work both sides of the ocean.

I specialize on helping companies setup best ways to work with outsourcing and helping them build dedicated development teams overseas. My suggestion is not to bother with suing anyone for 7K, not because it's not important but because time and effort you'll spend is worth more and you have a high chance of never collecting, even if you win.

as for working with remote teams - find someone you get along with and trust. If you don't have experience and exposure to the region you are working with find someone who does.

Michael Barnathan

February 17th, 2016

An experienced freelancer would be skeptical of large fixed price contracts unless the project scope is written out in detail, signed by both parties, and the money is held in escrow or a significant part paid up-front. Developers shoulder a significant risk of scope creep on fixed price projects, and it is the norm to see scope creep on large projects rather than the exception.

Petr Hučík Freelance developer

February 17th, 2016

It's hard to find good freelancer but it's not impossible. You just need to be careful and do your dues. 

I'm also an offshore software developer who usually works for US companies. Here are some guidelines that makes both me and my clients comfortable with the whole process. 

Always agree on fixed price, never hire someone on hourly basis. This is actually great way to qualify developers. It shows their ability to understand project and think it through. This of course requires good project specification. You should at least provide wireframes. Also, this method shift risk to freelancer - if the estimate was way off, it's him who will pay the price. 

Never pay upfront, especially to offshore developers. I believe the best setup is to use some sort of escrow service. You, as a client, deposit all funds prior the project start. You can't withdraw them unless you file a dispute. Freelancer gets paid on delivery, but only if you accept the project. In case of any dispute, escrow service provider acts as arbiter.  You can also use milestones in this schema. This keeps developer motivated, as he can always see the money hanging there...

Have periodic project update meetings. I believe 2 weeks interval works best. Don't micro-manage. The good developer doesn't need you guidance, it actually hurts his performance. These meetings exists so you have a chance to catch any misunderstanding soon. Also, don't change the scope during development. If later find out that you require yet another feature, create an follow up project. Don't make it uncomfortable for developer by asking for it. I have no problems turning these kind of requests down, but many freelances would actually do it. And be pissed at you for cutting their profits. 

Hope this helps with your future projects. 

Anonymous

February 18th, 2016

Brian McConnell:  He didn't produce ANY code. He and I produced some wireframes, and then some mockups. I commented on the mockups and then he changed them, but he didn't take very good notes, so we had to do it again. So I wrote down the comments and he didn't read them very well. Twice. So I figured how to annotate the images and did that and he understood and declared them good enough to go forward. I can point you to them if you like.

That's all he did. He took 7 weeks to do it instead of the 3 that he promised. All he had to do was change some pictures and it took him 4-7 days each time.

If what we produced was too complex, he should have said something. Maybe, "You know, this is more complex than I bargained for, it's going to cost more." But no, he said nothing, just promised he'd "make up the time", asked for the next payment and then stopped communicating entirely.

Yes, I'm a lousy manager. You have no idea. I was very up-front about that with him. He said it wasn't a problem, he'd manage the project. He said he has 25 people working in his office in Walnut Creek and another 50 in India. They have a long list of projects on their site.

Whereas I'm using all of my non-retirement savings to launch this.

I understand you had a rough time with someone and you conflate me with them. I suggest you stop doing that. You know nothing about either me or him.

Michael Brill Technology startup exec focused on AI-driven products

February 18th, 2016

Rand, read my comments on this thread:

http://members.founderdating.com/discuss/3155/How-do-I-know-I-won-t-get-ripped-off-hiring-an-outsourced-software-developer

Short version is that if you want to do work on the cheap, you need to manage resources closely. To do that, you need access to a local technical resource to help you. If you can't convince someone local to give you a few hours/week, then you've got a bigger problem. 

On a side note, stick with Upwork and you (a) have access to developer ratings and (b) have a dispute process if things go wrong. Sure there's all sorts of crap there, but it's not very hard to weed it out.

Brian et al, most people don't offshore development because they're cheap. They do it because they don't have enough money to compete with Google and Facebook for great developers. It's not productive to call people assholes because they only have $10K to spend, not $100K. 

David Rowell CEO & Founder at LifeLinker Inc

February 18th, 2016

A lot of comments here from people with vested interests, one way or the other.

A few thoughts of my own :

First, I've seen absolutely no correlation between where a developer is located, or how much they charge, and the quality of the work received from them.

We've hired developers all around the world - US, Canada, UK, Spain, India, Pakistan, Vietnam and quite likely elsewhere too without realizing it.  We've paid as much as $125/hr and as little as $7.25/hr.  Our best experiences and value for money have been with lower paid contractors.

'Buying American' no more guarantees you high quality work with developers as it does with cars.

And the only thing that paying two or four or ten times as much money guarantees is that, ummm, you're paying more money.

Most of the objections to using off-shore developers are paper-thin and of no real consequence.  'Indians only do what they are told to do'?  What's wrong with that!  'They work in a different time zone'?  Big deal - it cuts down on needless 'chatter' back and forth, and makes for a great alternation of duties - half the day with the developers developing, the other half of the 24 hr period with testers testing and returning/reporting back to the developers for the start of their next day.

Now, to look at the actual question asked in this thread.  Several people have suggested using Upwork (the new name for the merged eLance and oDesk companies) and the ratings there.  That's a superficially good suggestion, but full of problems, due to the 'mutual suicide pact' associated with bad ratings.

If a hiring company gives a developer a bad rating, guess what happens in return?  The developer gives the hiring company a bad rating too (leastways, that's what I've seen on eLance, I presume it works the same way elsewhere).  So hiring companies tend to either give undeservingly good ratings, so as to in turn have a good profile to encourage developers to contact them, or else don't rate the developer at all at the end of a contract.

And then there are the starkly unfair ratings given to some developers for problems that in truth were due to the hiring company not the developer.  Plenty of false positives and some false negatives, too.

I don't think there is any sort of comprehensive and accurate service for rating developers.  Looking at GitHub and StackOverflow profiles is a pointer, but only partially so, and of less help when you're considering hiring a company rather than an individual..  Getting references and calling them to check is again a pointer, but also only partially so and something that can be gamed with only a little effort.

Assuming there to be little in-house technical expertise for evaluating developers, then the best thing to do is to assign work in small bite sized pieces.  This is standard 'best practice' anyway - defining your project in a series of short 'stories' that talk about the end-user functionality you want, rather than the bits and bytes of how it is achieved 'under the hood'.

These stories ideally are each less than one day projects; if they are much more than that, you should break them down into more detailed substories.

Then start doling out these stories, one at a time.  Pay upon story completion and acceptance.

That way, with 5 - 10 hours of programming time at risk per story, you have much faster feedback.  Even a non-technical person can quickly get a sense of 'was this done on time' and 'does it now work the way I expect it to work'.

You should also, of course, hire a part-time independent contractor to act as your 'CTO' until such time as you can bring one in-house.  This person should be unrelated to the actual developers, so there are no conflicts of interest, and his job should only be overseeing the code being produced, managing your GitHub repository, and quality controlling the technical side of accepting each story.

That has worked well for us.  Sure, we've had more failures than successes with the programmers we've hired, but from what I can gather 'on the street' the usual rate is that if you're doing very well, one programmer in three might prove to be a keeper.

James Igoe Financial/Risk Software Developer (.NET, SQL, VBA)

February 24th, 2016

Code evaluation sites will likely give you little that matters for the successful completion of projects, other than a narrow ability to code. Successful project completion is so much more:

  • Communication
  • Planning / Organization / Project management
  • Architecture/Design
  • Thoroughness and follow-through

It depends on what youare hiring, but unless you handle most of the larger details yourself, and only rely on the developer as 'code monkey', evaluation sites likely have little value, except as a place to start your evaluation.

Jack Shedd Interactive Director at Mess

February 17th, 2016

Sadly, there really isn't a rating platform for developers, offshore or otherwise.

I see someone above mentioning GitHub, but that's generally useless for a non-developer, and can even be difficult for a developer. I know I've had more than a few developer candidates who looked solid, based on their GitHub contributions, only to fail at relatively basic technical discussions face-to-face.

While there's a chorus of people knocking you for using off-shore labor, I won't join in. I've seen more than a few startups get hosed by onshore teams, who wasted a lot more money than you did learning their lessons.

Best of luck, and in the future ask for referrals. Lots of them.

Edward M. Yang

February 17th, 2016

Try clutch.co

I've used a really good hybrid offshore development team for the past year. Strong UX/UI work and backend coding. Timely communications. Let me know if you'd like me to do a warm intro.