how to become a software developer in 2020