computer engineer working conditions