should I become a software developer