Why must software engineers work as freelance developers?