why not to be a software engineer