hiring a software developer