
How To Hire Outsourced Developers - donnfelker
http://www.donnfelker.com/how-to-hire-outsourced-developers/
======
SheepSlapper
Is anyone else tired of being assigned homework when applying for jobs? In
both this and the author's previous article on hiring, he mentions giving
people tasks to complete by a certain deadline as part of the hiring process.
For someone that's just starting out as a programmer then maybe that's
reasonable, but for those of us that've been in software for years, what's the
point?

You wouldn't ask a carpenter to make you a closet before you decide if you
want to hire them, you look at the other houses they've created (at least, you
should. There's a lot of crappy carpenters out there, and it feels like I've
worked with them all). You don't ask your mechanic to change your oil for
free, and then MAYBE you'll let them fix your car. So why is this just the
status quo for software developers now? I have a job and family, why the hell
would I want to spend my free time jumping through hoops for you when you
could easily look at all the work I've already done?

I dunno, just my $0.02. I've been asked to do a lot of dumb programming
challenges before job interviews, and I'm over it. I'm a professional and my
time is valuable, why would I want to waste it figuring out how many ways you
can turn a string of numbers into math problems?

/rant. Whew.

~~~
mahyarm
Can a developer on a H1-B/TN/etc visa in the US legally do these homework
assignments?

~~~
zszugyi
IANAL. They can do the homework in their free time, but they can most probably
not get paid for it. [http://www.nolo.com/legal-encyclopedia/part-time-work-
multip...](http://www.nolo.com/legal-encyclopedia/part-time-work-multiple-
employers-h-1b-workers.html)

~~~
donnfelker
Thanks for posting this.

------
nnq
Side question: don't other people also have _serious issues_ with the practice
of using tracking software that take screenshots, or even worse, webcam shots?

When I was freelancing I quickly refused a lot of potentially well paying jobs
because of the requirement to use such monitoring software (their loss
imho...). I don't have a problem with video-chatting with an employer about
anything, or even with a temporary screen-share during a testing task or
interview process, but having my actual work _monitored_ like this felt like a
total invasion of "my space".

I don't know about you, but doing it this "big brother-ish" way feels very
demeaning and I refuse to work for people that treat me like that and I hate
it that it's starting to become a "standard" nowadays, at least for "low
level" work.

~~~
InformalRelief
During college I had a job in a coffee shop, and one day after a slow
afternoon the bossman came in and later called me over to his computer, where
he was reviewing his CCTV footage, and said "Look at how long it took you to
make this cappucino, this is simply unacceptable!". I walked out.

~~~
caprad
Now imagine if your family relied on you having this job? How awful would that
be.

~~~
InformalRelief
Yup. And to be honest, the surveillance was not even the worst part, the guy
was just generally a shitbag. But yeah, considering all the scandals and such
involving corporations spying on employees, it's probably safe to say that
it's mostly the most vulnerable people who have to put up with it. But IT
freelancing is probably too much of a niche for there to be any public outrage
about stuff like spying on contractors.

------
lazyant
"Cut anyone who’s English (or whatever your chosen 5/5 language is) is
terrible and very difficult to read"

Oh the irony!

~~~
stevenqt
maybe it was intended? lol

~~~
donnfelker
No, just a lack of coffee. Fixed now. :)

~~~
codegeek
One more.

" If the average wage of your applicants is between $5 and $25 _and_ hour "

s/and/an

~~~
donnfelker
Fixed. Thanks!

------
buzaga41
+1 for no ~foreign people are dumb~ undertones I've seen in other posts. I'm
brasilian and I'm sure my skills could punch the skills of some developers
elsewhere in the face, even if I make less. If you don't respect people who
you work with, what are you? That's why, also, I'm at my last remote job,
after this one goes, I'm getting back to local and corporate stuff.. Current
one is great, but I've had enough bad experiences

~~~
invalidOrTaken
It's not that foreign people are dumb, it's that foreign dumb people become
developers. American dumb people do other stuff.

~~~
ori_b
It's not even that. It's that good developers don't need to bid on outsourcing
sites.

------
conorh
We do something similar if we are hiring a remote freelancer. Although first
thing we look for is github code, then we do a short call, and then if that
all looks good we do a 10 hour paid task. We then scale the work up from there
with larger and larger tasks as our trust in them grows, because, as we've
found, the hardest part of hiring freelancers is getting people that can
reliably deliver. You don't want to give someone a too large task initially
because the risk of them not delivering is too high and you need to know that
you can cover the work if necessary.

~~~
donnfelker
Excellent. I like it.

------
JimWillTri
This post doesn't contemplate one of the biggest problems on Odesk. The best
of the "team" will perform the test. Then they put one of their low level team
members on after the team leader passes the test.

The only way I have learned to work around the problem is to require use of
the odesk time tracker with WEBCAM. Can't hide who is doing the work with the
WEBCAM taking shots of the person. :)

~~~
gacba
Another way to handle this is to NOT hire teams, but hire independents. That's
what I do on oDesk, to ensure the person you hired is the one doing the work.

~~~
JimWillTri
Unfortunately it can't be avoided. I've always asked the question and most
will say they work alone but then proceed to have team members do the work. It
can become a big waste of time.

------
rday
Do people go through this much to hire from oDesk?

A while back I would just hire 3 people for the same project. One would always
stand out pretty early and I would stick with them after the first week. After
a few projects I had a list of great people which I still use today.

------
j_s
A couple of transcribed episodes from 'Startups for the Rest of Us':

How to Hire and Manage Virtual Assistants

[http://www.startupsfortherestofus.com/episodes/episode-68-ho...](http://www.startupsfortherestofus.com/episodes/episode-68-how-
to-hire-and-manage-virtual-assistants)

How to Hire Like a Bootstrapper with Special Guest Laura Roeder

[http://www.startupsfortherestofus.com/episodes/episode-143-h...](http://www.startupsfortherestofus.com/episodes/episode-143-how-
to-hire-like-a-bootstrapper-with-special-guest-laura-roeder)

~~~
donnfelker
Rob also has a great course on Udemy which shares a lot of the same
philosophies that I do. View that here: [https://www.udemy.com/startups-guide-
hiring-virtual-assistan...](https://www.udemy.com/startups-guide-hiring-
virtual-assistant-va/) I highly recommend it.

------
semerda
Nice insights. Thank you for sharing.

This is simple. If you are hiring an engineer you should be one too. This way
you can hire faster and fire faster. No bullshit.

Outsourcing work overseas is 5x cheaper than local try-and-see-how-it-goes.
Not a long term solution but a short term one to get stuff done. Hire fast,
fire fast. So if you make a mistake move fast to get another one on the job.
You wont bleed as much money from a mistake of outsourcing to the wrong
candidate.

I have been through this a number of times over the years and documented my
learnings on outsourcing pros & cons here:
[http://www.theroadtosiliconvalley.com/technology/outsourcing...](http://www.theroadtosiliconvalley.com/technology/outsourcing-
work-overseas/)

------
darylfritz
"Something interesting happens at this point in the process. An average of 50%
of the candidates never continue past this step. The reason is not exactly
known but I suspect it is because they simply do not know how to perform the
task that is given to them"

If you're picking 10 candidates and only (initially) asking them for 1 hour's
work, they're probably dropping off due to lack of interest in your project.
They might not be taking you seriously.

~~~
donnfelker
I should clarify, I hire them for 1 hour and if they succeed in the task and I
like their work I'll hire them for the project.

RE $5/hr - You'd be surprised what kind of applicants you get from around the
world. I've had a very good iOS developer from India for $12/hr for awhile
now. Great find. I also give my workers bonuses if they finish early, go above
and beyond, etc. Key thing: Take care of people and most likely they'll take
care of you.

~~~
darylfritz
Looks like I edited out my $5 an hour remark before I saw your reply. :)

------
hcarvalhoalves
Hijacking the thread...

I'm from Brazil and would like to get jobs elsewhere (the rates here are just
sad). I've looked into oDesk and Elance, but the jobs / conditions suck. I've
also tried getting in touch directly with companies when I see job postings,
but it seems there's a barrier to hire from this side of the hemisphere.

Does anyone know any good site focused on remote job postings?

~~~
BSousa
careers.stackoverflow.com has some remote jobs posts (they have an 'allow
remote' flag, but a lot of times they actually don't, but some do).

There is also weworkremotly.com and some github.com ones, but you can check
jobmote.com as it acts sorta like an aggregator for these sites.

------
viseztrance
A challenge that involves creating a small app in just an hour or two, with
tight guidelines to follow? Sure it's doable, but this says to me - I'm not
looking for someone creative. I just need a code monkey that can follow
instructions.

------
danso
What do people think of the OP's test repo?

[https://github.com/donnfelker/example-rails-
challenge](https://github.com/donnfelker/example-rails-challenge)

This is a sensible test, I guess, but the OP is just satisfied that the devs
know basic syntax and conventions? Would it be more productive to ask more
open-ended questions...such as, instead of telling exactly what tests they
should write, ask them to write tests that verify the system is working.

Hell even if they did it in Minitest, that ability to conceptually prove how
systems in Rails work would seem more valuable than knowing RSpec convention

~~~
donnfelker
You could totally do this. I think variation like this are great. I do this
all the time. Depends on the type of developer I'm after. I've had advanced
challenges/etc. One of my best hires went above and beyond my requirements and
stated (in the pull request) that we could do X, Y and Z to improve the code
and test coverage. I hired them and they helped me launch a product. But I
agree, you can do exactly what you said. Feel free to take this and change it
up. :)

~~~
seivan
MiniTest has 'rspec syntax' with 99% less dirty fucking hacks.

------
smtddr
In a somewhat related question... remember the guy[1] who worked at Verizon
who out-sourced his job? I'd sure love for him to write up exactly
what/who/when/how he did that and got it to work out so smoothly; except for
the part where he got fired.

1\. [http://www.npr.org/blogs/thetwo-
way/2013/01/16/169528579/out...](http://www.npr.org/blogs/thetwo-
way/2013/01/16/169528579/outsourced-employee-sends-own-job-to-china-surfs-web)

------
aeon10
In the android app the line "Create a ListView that groups the recent commits
by author in a custom view." is confusing to me. What I get from that is
something of this form:

    
    
        author1:
            commit1
            commit2
            ...
        author2:
            ...
    

however the example jpg doesnt look like it.

~~~
donnfelker
I can see how this could be confusing. However, this is an opportunity for the
candidate to communicate with me. In the real world, features are not always
100% fleshed out and sometimes you need clarification. This could be used as
one such example. But, I agree, this could probably be improved a bit. Thanks
for reading. :)

------
candiru
Does anybody have an idea about how to stand out in the crowd where many
remote developers disappear, replace themselves with somebody else in their
team without telling you, and so on?

This is my biggest problem now. I've been freelancing for about a year, and so
far I got every single one of my jobs through friends and ex-colleagues.
Currently I live in Hungary and there is an obvious demand for the things I do
(mainly Android and back-end Java stuff), so I'm pretty sure there is somebody
out there who could use somebody like me with a better rate than back home.

But it's not easy to build trust, especially over the internet, if the default
position of the client is that you must be doing something shady unless proven
otherwise.

------
caprad
This works if you already know how to code, and can come up with a quick 1
hour problem for them to solve. And it is a lot of work on your side as well.
Filtering the list, checking the code, making sure they didn't cheat by
checking github logs, pay someone else to review the candidates.

It would almost be quick to post the job online, break it up into stages, hire
someone, check their progress, and move to the next person if their work is
not satisfactory.

------
unlimit
I am right now trying to score some freelance work, I found a gig at elance
and put in a proposal. That gig had almost 200 proposals, how would the job
poster even filter these out? It sounds tough and tedious job. Your guidelines
makes sense and also tells me how my prospective clients might be thinking.

Thanks for the article, it was a great read.

------
benohear
If you're doing a fixed price project, how can you get oDesk to let you hire
the candidates for just one hour?

