Hacker News new | past | comments | ask | show | jobs | submit login

I've done 65 hires on Upwork and spent $20k+ on the platform, though not all were software contractors. I've had some fantastic hires from the platform, but I've also had lots of duds that wasted my time and money.

There’s one underlying maxim that governs my hiring philosophy for any skilled position:

* Talented people choose their employers selectively

Some employers force freelancers through tedious and time-consuming hoops without pay. They assume that contractors are so desperate for work that you can demand anything you want from them by dangling the mere potential for a job, but they're actually just filtering out talented candidates.

Maintain expectations that it will take you several months to save time by hiring a contractor. The more complex the work, the longer it will take before you come out ahead on your time investment. The easiest jobs I've outsourced have been for UI tasks, where it's either correct or not. Finding a general skills developer is much harder. Outsourcing requires a lot of up-front effort in the form of writing job postings, writing thorough, clear specifications for what you want, interviewing candidates, and reviewing work. Once you find someone good and find a good rhythm with them, it's a great way to save yourself time, but you're likely to find a lot of bad candidates first.

The #1 thing I look for in any candidate is communication. Miscommunications are extremely expensive. Avoid candidates who ask vague questions or need re-explanation of things you've explained clearly. The best people I've hired tend to be people who are highly specific and detailed in their communication.

Take ratings with a grain of salt. On platforms like Upwork or Fiverr, most of the people are hiring for things they don't know how to do themselves, so a terrible freelance programmer might have a 4.9 rating because their clients can't tell that they produce code that's hacky and unmaintainable. Similarly, some legitimately good freelancers have dings on their record from unreasonable clients who gave them a 1.0 rating because the freelancer refused to do extra unpaid work.

Resist the temptation to hire cheap contractors. You'll always get bids that are tantalizingly low (like $12/hr for "senior-level" Python development), but they often can't deliver what you ask for with reasonable quality. The freelancers who are good can command a good wage. With the bargain basement freelancers, you'll spend so much time managing them and fixing their work that you won't save time overall.

Finally, start small. Don't hire someone to build an entire mobile app from scratch; it's far too complicated. Start with a job that should take a few hours (and set a cap on their hours so there are no miscommunications). As you get into a groove of working well with your freelancer, gradually give them more hours and more complex tasks.

Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact