What Does Deliberate Practice Look Like for Computer Programming?