pros of being a software developer