How to become a software developer