how to become a software developer from scratch quora