You can never be sure. If you do know coding (and I mean, are in the "senior-to-expert" category), there's a chance you'll be able to get a feel of what a guy can do by asking a lot of questions and by looking at public source code (such as github). That won't actually guarantee the candidate will perform as you wish, since in real life, there are so many things that you missed/can go wrong. Case in point: a few years ago, I had an project that I simply didn't have time to handle, so I sub-contracted it to a former boss of mine (a guy I deeply respect to this day). I would have never guessed he would not be able to handle it -- I wanted him to work on it 15-20 hours/week, and be up to speed in 2-3 days. This is far from what happened, so I ended up doing the project myself (I have no idea how I found the time). But long story short, even though he's a very very good programmer, he still couldn't handle the pressure. That says a lot about "regular joes" that can say all the right things, answer questions right, and still not perform well in the long term.<p>Having said that, the best bet (assuming you are in this category -- senior-to-expert), I would recommend hiring someone as a 3-6 months trial, and then see how it goes.<p>If you don't know coding, my take is you'll NEVER be able to know how a candidate can actually code -- don't even attempt hiring in this case.