Uploaded avatar of iHiD

수요가 몰린 트랙 다루기

@iHiD
대략 7년 전

저희가 마주한 가장 큰 어려움 중 하나는 트랙이 지나치게 인기를 얻어서 멘토가 제출물의 양을 감당하지 못한다는 점이에요. 학생이 기다리는 시간은 길어지고, 멘토는 겨우 따라잡으려고 엄청난 노력을 쏟고도 대기열이 계속 커지는 모습을 지켜봐야 하는 무척 허탈한 경험을 해요.

이 문제를 해결하는 일은 결코 간단하지 않지만, 상황을 더 좋게 만들어 줄 좋은 해결책이 있다고 생각해요(자세한 내용은 최근 블로그 글에서 확인할 수 있어요). 하지만 이런 것들을 모두 구현하려면 시간이 걸리고, 지금 당장 닥친 아주 현실적인 문제가 있어요.

그래서 저희는 트랙에 "정원 초과" 상태를 추가하기로 했어요. 핵심 연습 문제의 대기 시간 중앙값이 너무 길어지면 다음과 같이 해요.

  • 트랙에 새로 참여하는 학생은 멘토링 모드가 아니라 연습 모드만 사용할 수 있어요
  • 연습 모드에 있는 학생은 자신의 풀이에 대한 멘토링을 요청할 수 없어요(연습 모드 자체는 계속 독립적으로 이용할 수 있어요)

트랙의 대기 시간 중앙값이 다시 안정되면, 시스템이 자동으로 새 학생이 멘토링 모드에 참여할 수 있게 하고, 연습 모드 학생이 멘토링을 받도록 풀이를 제출할 수 있게 해요.

이 변경 사항은 이미 멘토링 모드에서 공부하고 있는 학생에게는 아무런 영향을 주지 않아요.

여기에 더할 수 있는 부가 기능은 많아요(예를 들어 참여 대기열, 트랙의 잠금이 풀릴 때 알림 등). 하지만 지금은 가장 큰 고충을 해결하기 위해 다소 무식한 방법을 쓰고 있어요.

이번 변경으로 학생들은 더 나은 경험을 하고 더 현실적인 기대를 가질 수 있게 되고, 멘토들은 끝없이 늘어나는 대기열의 고통에서 벗어나고, 저희는 더 장기적인 영향을 줄 더 큰 변화를 구현하는 데 집중할 수 있으면 좋겠어요.

2019년 09월 23일 · 유용했나요?