job description for software trainer