These 20 cities are a paradise for computer programmers who want to be their own boss