how to work as a software developer abroad