software developer working on computer