petroleum engineer job description