Просто оплачивайте частями после каждого этапа работы, который хорошо понимаете и проверяйте отзывы о человеке.
Еще вариант - программист делает работу на своем ПК, показывает Вам через удаленный доступ, проверяете и договариваетесь о передаче
Никакой договор не поможет, если захотят кинуть.
С соседей нельзя деньги высудить, а тут с человека из другого города, господин полицейский слов таких не знает, а как раскрывать тем более.
Договор будет полезен только для бухгалтерии, не больше.