12 ms·
How To Hire Outsourced Developers
- lazyant 13y ago"Cut anyone who’s English (or whatever your chosen 5/5 language is) is terrible and very difficult to read" Oh the irony!
- stevenqt 13y agomaybe it was intended? lol
- donnfelker 13y agoNo, just a lack of coffee. Fixed now. :)
- lazyant 13y agoSorry I couldn't resist the jab. Thanks for contributing.
- codegeek 13y agoOne more. " If the average wage of your applicants is between $5 and $25 and hour " s/and/an
- donnfelker 13y agoFixed. Thanks!
- rday 13y agoDo 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.
- danso 13y agoWhat 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 13y agoYou 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 13y agoMiniTest has 'rspec syntax' with 99% less dirty fucking hacks.
- tonyarkles 13y agoPersonally, I'd probably do it more like the author did. Not that Minitest (or others) is better or worse than RSpec, but rather RSpec is what I have experience with and if I were going to take over the project for whatever reason, I'd much rather have things already in the state I'm familiar with.
- SheepSlapper 13y agoIs 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.
- tonyarkles 13y agoWell, for context... This is for hiring a freelancer on oDesk, and he's paying them to do the homework. It seems like a pretty fair way to evaluate a candidate. If you have a look at his examples, they seem like reasonable questions too; they're not "turning a string of numbers into math problems", they're practical demonstrations of applications of the different technology stacks. If I were hiring a freelancer for a project, I'd probably do something like this with the option of just showing me some past work instead. I've honestly never hired a carpenter or mechanic for a business before; from what I understand though there's usually a short probation period at the start where they're paid but can be let go summarily. This is the same kind of situation, only it's a shorter period.
- SheepSlapper 13y agoHis previous article on hiring[0] wasn't for freelancers and also included programming homework (a longer task, even). Like I said before, for someone that doesn't have previous work to show then this might be a necessary evil, but if I have a deep portfolio already then it just seems so... masturbatory. Paying for the developer's time is awesome, and if you have to assign coding homework during hiring then paying for their time is a classy move. Most people won't, even though they should. [0] http://www.donnfelker.com/how-to-hire-programmers/ http://www.donnfelker.com/how-to-hire-programmers/
- darylfritz 13y ago"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 13y agoI 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 13y agoLooks like I edited out my $5 an hour remark before I saw your reply. :)
- deleted 13y ago[deleted]
- deleted 13y ago[deleted]
- packetslave 13y agoPretty sure the personal attacks are unnecessary.
- aeon10 13y agoIn 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 13y agoI 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. :)
- buzaga41 13y ago+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
- conorh 13y agoYou should contact me (see my profile). We're always looking for remote devs and we have a pretty good reputation at this point for how we work with remote developers.
- invalidOrTaken 13y agoIt's not that foreign people are dumb, it's that foreign dumb people become developers. American dumb people do other stuff.
- ori_b 13y agoIt's not even that. It's that good developers don't need to bid on outsourcing sites.
- memracom 13y agoThe problem is that English speaking people rarely learn other languages and therefore don't have much skill at communicating with people who are not fluent in English. Communication is a two-way street. When I was working in the UK in multinational companies, the employer put a fair amount of emphasis in using International English in all communications. For those of us with an interest in literature this was a bit difficult because our heads were filled with flowery language. If you have any second language skill at all, then you can probably deal reasonably well with 3/5 English speaking folks as long as you are careful to avoid slang and write your emails in clear International English.
- j_s 13y agoA 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-how-to-hire-and-manage-virtual-assistants http://www.startupsfortherestofus.com/episodes/episode-68-ho... How to Hire Like a Bootstrapper with Special Guest Laura Roeder http://www.startupsfortherestofus.com/episodes/episode-143-how-to-hire-like-a-bootstrapper-with-special-guest-laura-roeder http://www.startupsfortherestofus.com/episodes/episode-143-h...
- donnfelker 13y agoRob 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-assistant-va/ https://www.udemy.com/startups-guide-hiring-virtual-assistan... I highly recommend it.
- benohear 13y agoIf you're doing a fixed price project, how can you get oDesk to let you hire the candidates for just one hour?
- semerda 13y agoNice 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-work-overseas/ http://www.theroadtosiliconvalley.com/technology/outsourcing...
- conorh 13y agoWe 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 13y agoExcellent. I like it.
- JimWillTri 13y agoThis 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. :)
- donnfelker 13y agoVery true. I've ran into this problem as well. Fortunately for me the team was actually very good. I'm glad you brought this up though. Good points!
- gacba 13y agoAnother 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 13y agoUnfortunately 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.
- tlogan 13y agoActually Skype works quite well. As soon as candidate says "my mic is not working" and "camera is broken" you know that guy with name Ashish really does not exist - it is just imaginary person made by contracting agency. However, odesk just recently started id verification process but I still relay on simple Skype calls and actually talk to person. If it is agency I want to talk to manager/tech lead and actual programer.
- smtddr 13y agoIn 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/outsourced-employee-sends-own-job-to-china-surfs-web http://www.npr.org/blogs/thetwo-way/2013/01/16/169528579/out...
- nnq 13y agoSide 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.
- AhtiK 13y agoUsing tracking software is insulting. It is usually for the same reason why physical stores are full of cameras -- making sure you do not steal. In the case of software development stealing as in making sure you are not using your time for the benefits of the client. One can argue that any version control system that is used frequently enough is also a tracking software. In this case as long as your client is not stalking your commit logs to come up with made-up excuses not to pay; and you are actually doing your work (not spending some of the client-paid time for hobby projects) that should be perfectly fine. Which makes me think that these days tracking software should become much less relevant for honest purposes because git, hg etc distributed VCSs encourage very fast and frequent commits.
- jiggy2011 13y agoIt's probably for non technical clients who wouldn't know how to read a commit log, but could probably tell the difference between code on the screen and facebook. oDesk also offers a ton of other stuff from code like data entry,design etc.
- InformalRelief 13y agoDuring 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.
- viseztrance 13y agoA 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.
- caprad 13y agoThis 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.
- hcarvalhoalves 13y agoHijacking 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?
- lzm 13y agoHN's monthly "who is hiring" threads have served me well.
- BSousa 13y agocareers.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.
- unlimit 13y agoI 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.
- candiru 13y agoDoes 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.