how to become a robotics software engineer